2011年,eBay启动了私有云项目eBay Cloud,并于2012启动其管理系统Configuration Management Service(CMS)的研发。根据其团队描述,CMS是一个高性能的配置管理服务,对配置元数据进行持久化,支持RESTful API以及Java和Python的客户端库。 CMS的研发和运维团队有部分成员在上海研发中心。近日,InfoQ中文站与eBay Cloud Service团队资深软件开发工程师苏良飞进行了沟通,了解该团队最近的发展情况。 嘉宾简介 苏良飞,现在eBay Cloud Service团队工作。开发了eBay Cloud Service的Configuration ManagementService(CMDB)和Load Balancer Management Service。主要关注Java服务器端开发和分布式系统开发。 InfoQ:先介绍一下您所在的eBay Cloud Service团队吧。 苏良飞:我目前所在的团队属于eBay Cloud Service里的Cloud Foundation。我们团队目前在上海有5个研发人员,都是开发Java服务器端程序(Core Java SE),另外数据库知识(SQL database、MongoDB、Cassandra)以及服务器的运维也是我们所必须的技能。 我们团队现在主要职责是CMS(Configuration Management Service)系统的开发和运维。KPI的设置与产品的发展是一致的,主要包括:
CMS这个项目是在12年中启动,原型系统在13年初线上部署。在2013年里我们开始进行线上数据的整合(包括和不同部门间的整合),对不同部门的实施访问控制,对代码进行了一次较大规模的调整,在2013年还开始了基于CMS数据的validation,目标是对eBay site上的环境进行冗余和风险的监控(一些服务在部署时因为缺少整体的数据视图,导致缺乏必要的冗余或者是不充分冗余),还对CMDB的数据修改实现了基于Cassandra的audit。 目前CMS项目工作重点是:
InfoQ:CMDB作为Cloud系统中的统一数据存储,在设计的时候主要关注哪些能力? 苏良飞:CMDB在设计中的一些主要考虑点是:
前三点是我们采用MongoDB的出发点,而对于第四点我们实现了自己的查询语言来提供跨表的查询功能。 InfoQ:从CMDB上线运作之后,你评估这套系统设计的好的地方在哪里,又有哪些地方是一开始没有考虑到的?遇到的最大的挑战是什么,又是如何解决的? 苏良飞:上线之后,从用户的角度,看到了读写的消耗时间的下降,CMS的查询语言提供了方便的数据查询能力,权限控制使得不同组的权限更加明确,这些都是和已有系统相比的带来的好处。 CMS的查询语言是为了提供用户在MongoDB做跨表查询和提供更方便的数据查询功能而实现的,上线后用户提了很多查询需求,比如对于对象图中的反向查询,树形查询,子查询,这几个功能都是一开始没考虑到的。 遇到的比较大挑战主要有:
InfoQ:eBay Cloud系统包含哪些组件,各自之间的关系是怎样的,各自是哪个团队在维护? 苏良飞:目前eBay Cloud正在迁移往基于OpenStack开发的云平台。这一块包含了OpenStackcompute/network/glance/keystong/storage。而OpenStack覆盖比较弱的load balancer/dns部分,eBay自己开发并向社区贡献了设计和代码。 OpenStack对BareMetal(物理机)的支持还不成熟,eBay在这块使用了自己开发的Stratus(由上海的团队负责)。 对cloud的configuration统一的存储是在CMS中,CMS存储为上层的PaaS和remediation提供了数据源。在OpenStack和CMS之间是通过异步的消息队列禁用词语进行数据同步。 InfoQ:整个eBay Cloud系统现在的运行情况如何?目前主要的工作重点是什么? 苏良飞:eBay的cloud中跑着4w 的物理机和6w 的虚拟机,大部分流量都跑在eBay Cloud提供的虚拟机上。目前的工作重点是OpenStack cloud系统的扩展和可靠性:
本文转载自:微信公众账号 - InfoQ,版权归原作者所有! |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|