ZDNet至顶网软件频道消息:Instagram已基本完成AWS到Facebook基础设施的迁移。听到这个消息,笔者并不惊讶。首先,社交巨头拥有自己的大规模数据中心;其次,作为风头正劲的互联网公司之一,社交巨头拥有着大量的服务,其技术堆栈及API可以轻易满足Instagram的架构需求;再次,在Facebook规模,不管是从成本,还是从性能及可用性上看,迁移都是上上之选。最后,避免平台的约束和锁定,Instagram将有更大的发展空间。
言归正传,下面我们看一些博文摘译:
在2012年加入Facebook之后,我们就发现了多个与Facebook基础设施的集成点,这将允许我们更加快速的开发产品,同时还能提高社区的安全性。开始时,我们使用的是ad-hoc端点接入,但是随后就发现这限制了我们的敏捷性及Facebook服务的利用率。
在2013年4月后,我们开始大规模的迁移到Facebook数据中心,其中的重点是服务可用性的平稳过渡,以及最小化基础设施级改变来避免其中的操作复杂性。开始时非常简单,在EC2和Facebook的一个数据中心之间建立连接,然后一块一块的迁移。
但是随后就发现事情并非那么容易,主要的问题就是Facebook私有IP空间和EC2的冲突。我们的方法是,首先使用Amazon的Virtual Private Cloud(VPC),随后使用Amazon Direct Connect将之与Facebook连接。
鉴于每天都会开启新的EC2实例,这个任务看起来非常艰巨。为了最小化服务停机时间以及操作复杂性,EC2和VPC实例是否在同一个网络至关重要。AWS并没有提供安全组或者私有EC2与VPC网络的共享方式,公共地址空间成为两个私有网络的唯一通信渠道。
因此,我们发明了Neti,一个动态的iptables操作守护进程,使用Python编写,通过ZooKeeper支撑。Neti不仅提供了缺少的安全组功能,还为每个实例都提供了单独的地址,不管是EC2还是VPC。Neti管理了数千个NAT以及实例上的过滤规则,从而保证了独立的、flat “overlay”安全通信。NAT规则会为实例选择一个最有效的通信途径,跨越VPC和EC2边界时会选择公共网络,内部通信则会选择私有网络。这些对我们的应用和后端系统都是透明的,因为Neti会提供一个恰当的iptables规则。
从EC2到VPC花费了大约3周时间,随后所有实例就运行在一个兼容的地址空间,下一个阶段无疑就是迁移到Facebook数据中心。
多来以来,Instagram围绕EC2建立了一整套生产系统管理工具,其中包括配置管理脚本,用于服务开通的Chef,以及服务于运营任务的Fabric,从应用到数据库,这些针对EC2环境的工具都将不适用于数据中心环境。
为了给这些工具提供可移植性,我们使用了LXC。配置工具用于建立基础系统,Chef则运行在container中,用以安装和配置Instagram特定软件。为了支撑横跨EC2及Facebook数据中心的基础设施,当下的Chef加入了新的逻辑用以支撑Facebook内部使用的CentOS,之前在EC2上使用的是Ubuntu。同时,用于基础任务的EC2命令行工具也被一个全新的工具代替,它被设计成了一个抽象层,提供了类似EC2工作流中的环境,为技术和人们使用方式做过渡。在这些都完成后,VPC到数据中心的迁移只花费了两周。
写在最后
对于Instagram来说,迁移可以带来显而易见的好处,同时,我们也相信会有更多这个类型的应用被收购后会做出类似的举措,比如未来我们可能会看到WhatsApp迁离SoftLayer。然而对于云服务提供商来说,这绝对不是件想看到的事情,Instagram之类的到还好说,如果是Netflix这样的合作伙伴,撇开直接收入,生态圈受到的影响显然更加深远。
好文章,需要你的鼓励
英特尔携手戴尔以及零克云,通过打造“工作站-AI PC-云端”的协同生态,大幅缩短AI部署流程,助力企业快速实现从想法验证到规模化落地。
意大利ISTI研究院推出Patch-ioner零样本图像描述框架,突破传统局限实现任意区域精确描述。系统将图像拆分为小块,通过智能组合生成从单块到整图的统一描述,无需区域标注数据。创新引入轨迹描述任务,用户可用鼠标画线获得对应区域描述。在四大评测任务中全面超越现有方法,为人机交互开辟新模式。
阿联酋阿布扎比人工智能大学发布全新PAN世界模型,超越传统大语言模型局限。该模型具备通用性、交互性和长期一致性,能深度理解几何和物理规律,通过"物理推理"学习真实世界材料行为。PAN采用生成潜在预测架构,可模拟数千个因果一致步骤,支持分支操作模拟多种可能未来。预计12月初公开发布,有望为机器人、自动驾驶等领域提供低成本合成数据生成。
MIT研究团队发现,AI系统无需严格配对的多模态数据也能显著提升性能。他们开发的UML框架通过参数共享让AI从图像、文本、音频等不同类型数据中学习,即使这些数据间没有直接对应关系。实验显示这种方法在图像分类、音频识别等任务上都超越了单模态系统,并能自发发展出跨模态理解能力,为未来AI应用开辟了新路径。