世界最大OpenStack私有云是如何运营的

云计算 OpenStack
今年早些时候,为了不让eBay继续拖累PayPal的发展,股东们决定将PayPal分拆出来。PayPal的IT部门任务艰巨。他们一方面要尽快把IT系统从eBay分离出来,另一方面还要准备应对假期消费高峰对系统造成的压力。下面让我们来学习一下PayPal是怎么做的,它拥有目前业界最大OS私有云。

现在国内外都不乏大规模采用OpenStack构建企业私有云的用户,例如Best Buy, BMW, EBay, 和Walmart,尽管Forrester仍对OpenStack在企业中的应用前景持怀疑态度。今天我们来学习一下PayPal是怎么做的,它拥有目前业界***OS私有云(10+可用区、40万个Core、82000台虚拟机)。

[[161562]]

首先来看看PayPal做这件事的背景。eBay作为老牌的电子商务公司,曾经和AOL、 Yahoo一样是全球访问量***的网站,但是最近几年eBay发展缓慢,没有抓住电商市场的迅速崛起的大好时机、被亚马逊等后起之秀抢去了很大份额,龙头地位不复存在。今年早些时候,为了不让eBay继续拖累PayPal的发展,股东们决定将PayPal分拆出来。

PayPal的IT部门任务艰巨,他们一方面要尽快把IT系统从eBay分离出来,另一方面还要准备应对假期消费高峰对系统造成的压力,留给他们的只有7个多月的时间(准确地说,用6个月时间构建新的IT环境,再用10周时间将业务从原有的IT环境中迁移过来)。

一、构建篇

在构建方面,PayPal的工程师最关心扩展性和可用性,具体涉及以下几个方面:

  1. 首先是可用性,基于Nova的Cell来实现IT服务的可用性。
  2. 其次是弃用那些过时的工具,以负载均衡为例,eBay和PayPal花了几年时间试图自己开发工具以实现LBaaS,最终还是决定改用社区的功能组件,因为社区的组件更开放,合作伙伴更容易在上面开发插件。
  3. 在线升级和测试 这一功能对于平台的健壮性和扩展性尤为重要,能够在线升级,才能跟上社区发展的脚步。
  4. 实时容量扩展 PayPal的目标是新机架到货之后,只需要1-2天就可以完成部署并上线应用。

二、迁移篇

相对于构建一个新的系统,将应用和数据迁移到新的架构则更具挑战,我们来看看这次迁移任务的细节和面对的挑战:

  1. 有限的工作人员;
  2. 超过8000台机器;
  3. 2PB的公共数据,以及大量存储于虚拟机内的本地数据;
  4. 上述应用和数据位于3个不同的地点;
  5. 通过迁移将可用性技术从Nova Availability Zone变更为Nova Cell Service以实现更好的可用性和扩展性;
  6. 变更防火墙配置,制定访问规则;
  7. 检验并解决新硬件的兼容性问题,确保新系统的稳定性。

下面是PayPal通过这一次迁移总结出的经验:

  1. 基础架构的可见性对保持配置一致性非常重要 如果你没有一个关于基础架构的完整视图,那将是致命的。比如你在部署应用的过程中如果有虚拟机宕机了,等它重新恢复工作时,上面的应用和配置将是不正确的。
  2. 不要指望所有的应用和开发工作都能迁移到新的环境 必然会有无法迁移的部分,在云计算时代,少几个虚拟机应该不是什么大问题。
  3. 不要一开始就使用自动化配置工具 PayPal先用手工的方式完成5%-10%的配置工作,在确定一定正常之后才引入自动化的方法完成后绪的工作。
  4. 迁移API服务的时候要万分小心 很多自动化操作基于这些API完成,因此你不能随便停止这些API服务,选择关键操作的执行间隙来迁移服务,并且不要指望在一个时间窗口内迁移所有API服务。
  5. 要清楚你迁移的是什么 不要为了节省时间而停止你的生产API或实例的虚IP,那样会增加风险。
  6. 切记,如果遇到问题,你不一定可以回滚配置。

世界***OpenStack私有云是如何运营的

补充说明一下这个Cell,它是用来替代原来的Zone以更好地解决OpenStack的扩展性问题,这部分内容OS借鉴了AWS的做法。一个OS云首先分为多个Region,不同的Region通常需要不同的地域,多个Region之间只有 KeyStone和Horizon服务是共享的,因此Region可以用来实现隔离和优化访问。Region的下一级就是Cell,每个Cell都有一套独立的数据库和消息队列服务,另外Cell是树形结构,只有树根Cell有Nova-API服务,因此也被称为API-Cell。其它的子Cell都共享这个Nova-API服务,而Nova的其它服务则分布于每一个Cell,子Cell也称计算Cell。

PayPal提到Cell这个组件目前功能还不完整,在数据同步方面还有一些不足,但是因为扩展性和可用性需要,PayPal必须用Cell来代替原有的Zone。

三、工具篇

PayPal使用了一些开源工具:

  1. Graphite用于绘图
  2. Puppet和Salt用于配置管理
  3. Zabbix用于监视
  4. Cobbler用于裸机部署

[[161563]]

另外PayPal自己开发了一个名为Flyway的迁移工具,用于从eBay云向PayPal云迁移几千台虚拟机和相关资源。它负责完成下述资源的迁移工作:

  1. Nova虚拟机
  2. 用户、租户、角色、密钥对和限额
  3. 镜像和快照
  4. Cinder卷和数据
  5. Trove数据库实例
  6. LBaaS VIP实例和证书

PayPal计划将这一工具开源到GitHub。此外,PayPal还开发了其它一些迁移辅助工具:

  1. Stackwatch/Stackmetrics用于健康检查和度量
  2. Reparo用于服务器修复和置备,也负责硬件监测和补丁管理
  3. Cloudinfo用于云的可见性,将各种视图和相关数据汇总到一起,也提供Metric视图。
  4. CloudMinion用于资源回收 通过扫描网络流量发现闲置虚拟机,管理过期时间,发送告警,自动回收资源并提供报告。
  5. CMS 用做中央配置数据库,集中存储和管理物理和虚拟组件,基础架构和应用等所有资源的信息,并可以呈现这些资源之间的关系。

四、未来篇

  1. 采用Masterless Puppet构建更具扩展性和可用性的配置管理方案,消除单一故障点。
  2. Infra AZ项目:通过OpenStack来部署OpenStack,开发更好的控制平面,提高容量扩展速度,实现一键扩容。
  3. 从H版直接升级到Kilo版,数据平面不能停,控制平台只有几个小时的窗口,部分网络需要从Nova-Network升级到Neutron。

五、西蒙乱谈

  1. 采用开源技术要跟对主流,社区是靠一个庞大的群体来支持的,你对社区产品的增强只能是锦上添花,如果那块绣布烂掉了,你的手艺再好也是白搭。
  2. OpenStack成长很快,正在不断完善,可堪大用,但因为它的定位只是一个框架,需要与大量的相关组件进行集成才能落地,因此采用社区版本自主开发云平台并不容易,你需要组建一个与社区联系紧密的专家团队。
  3. OS在监控和运维管理方面相对薄弱,还有很多不足,PayPal在这方面花的功夫最多,如果不能很好地解决这一问题,就不要大规模采用OS,否则你会把自己拖死。
  4. 网络也是OpenStack短板之一,PayPal采用Neutron加上NSX来满足业务对网络服务的需求。

【本文来源:疯云时代微信公众号】

责任编辑:Ophira 来源: 疯云时代
相关推荐

2015-05-28 13:42:08

2015-07-21 16:59:22

OpenStack

2016-10-25 12:59:49

私有云OpenStack选项

2011-06-08 14:24:11

CitrixOpenStack私有云

2015-02-10 09:30:00

云计算运营模式IaaS

2018-02-25 08:51:13

OpenStack私有云混合云

2015-06-19 07:20:46

OpenStack医疗私有云

2017-05-03 09:49:14

OpenStack私有云搭建

2015-12-30 13:43:35

云计算私有云公共云

2020-04-21 10:42:23

私有云多云云迁移

2015-08-06 09:45:14

私有云OpenStackVMware

2020-03-04 15:52:38

OpenStack私有云技术

2012-08-17 09:21:54

RackspaceOpenStack私有云

2015-05-25 13:13:24

GartnerOpenStack私有云

2011-12-08 10:10:57

私有云

2013-08-01 10:09:09

亚马逊公有云OpenStack私有

2015-09-17 13:50:47

OpenStack私有云企业应用

2013-10-25 11:14:46

云发展OpenStack私有云

2013-07-25 09:13:57

SwiftStackOpenStackSwift对象存储

2015-03-13 09:02:59

SUSE私有云
点赞
收藏

51CTO技术栈公众号