设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 IT综合资讯 查看内容

告别公用云,Instagram已将服务迁至Facebook数据中心

2014-7-1 15:16| 发布者: joejoe0332| 查看: 2313| 评论: 0|原作者: 仲浩|来自: CSDN

摘要:   据 Instagram消 息,该公司已基本完成AWS到Facebook基础设施的迁移。听到这个消息,笔者并不惊讶。首先,社交巨头拥有自己的大规模数据中心;其次,作为风头正劲的互联网公司之一,社交巨头拥有着大量的服务,其 ...

  据 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这样的合作伙伴,撇开直接收入,生态圈受到的影响显然更加深远。

酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部