图:第三届OpenStack Bug Smash参加者合影
OpenStack Hackathon:全球11个城市同步
与之前两届最大的不同就是,本次的OpenStack Bug Smash活动在全世界11个城市同步举行;在国内,除了几个知名的OpenStack厂商参加外,中国电子技术标准化研究院(CESI)也加入到主办方的行列中。这表明OpenStack作为数据中心云平台实施方案正越来越被业界标准认可。
这次在全球范围内数百名OpenStack工程师聚在一起同时工作,可谓相当壮观和激动人心。由于举办OpenStack Bug Smash的日期较晚,此时4月即将发布的OpenStack新版本Mitaka代码已经基本冻结,所以参会的开发者重点在于解决优先级为High或者Critical的Bug,希望能够让新版本更加稳定,在企业级市场的云平台道路上更进一步。
在活动现场与开发者的交流让我有了不少长进,不少人对社区版本和企业自己私有版本的维护问题都比较关心。
OpenStack企业应用是否Ready?
OpenStack整个核心项目和各子项目都是开源的,而且社区的文档也很丰富并且更新的很快,然而并非是直接从git仓库里把代码clone下来就能把一个云平台跑起来,而且就算跑起来了也并非直接能够上企业的生产环境。正是如此让不少人对OpenStack是否Enterprise Ready持否定态度。
但是,持否定态度的声音正变得越来越小,目前越来越多的企业开始应用OpenStack对自己的业务进行支撑,案例越来越丰富,是用户对于Enterprise Ready信心的表现。另一方面来看,OpenStack OpenStack的蓬勃发展,也从侧面证明,距离Enterprise Ready正在越来越近。但是,即便如此,企业在部署和维护OpenStack过程中仍可能遇到不少坑,需要格外重视。
OpenStack网络可能遇到的坑
就网络这一块来讲,比如控制平面(Agent)的稳定性和效率问题,Security Group用iptables实现时候的网络性能损耗以及更新过程中的RPC 消息fanout;还有就是对于高级服务例如LBaaS,社区虽然推了好几种软件的实现方案(octavia和haproxy等),然而在企业级生产环境中用到的更多是对接硬件来实现。
截止到Mitaka,社区的DVR 方案已经经过了好几个版本的迭代。DVR是通过在计算节点上直接处理数据包的转发和路由来减小网络节点负载并消除单点故障。这种方案提出之后引起了不少的关注和讨论,很可惜的是,迄今为止,很多公司并没有打算直接把社区DVR的实现运用到自己的数据中心中,更加倾向于利用OpenStack跟网络厂商SDN方案结合的架构,来让自己的数据中心更加稳定。
OpenStack是否适合企业部署?
那是否表明OpenStack就不适合企业部署了?答案是否定的。OpenStack提供的底层IaaS服务,众所周知服务越底层,稳定性和可靠性要求越高。OpenStack需要周期性迭代来不断完善是在所难免;其次,与网络厂商等专有方案的结合正是OpenStack 的优点。OpenStack作为一个庞大的开源项目,其标准、实现和API都是开放的,并且其分层和独立的架构也适合于第三方厂商的集成。除此之外,基于OpenStack的专业云提供商通过自己的技术积累,也能够解决生产环境遇到的诸多问题;所以选择一个可靠的OpenStack提供商也是保重自己数据中心稳定可靠的重要因素。
同样地,OpenStack厂商抛弃了社区也必然不能良好的发展。社区有严格并且规范的CI系统和流程,数千人commit & review代码,保障了OpenStack核心代码有较高的质量,很多时候开发者提交的代码并不能马上就合并到社区的代码仓库。在这次成都Hackathon现场,与网络相关的bug一共fix了20个bug,然而只有2个merge进了社区仓库,总的所有项目一共fix了116个bug,也只有41个merge到了社区代码仓库。
很多在公司内部也在社区做过开发的工程师就会发现,虽然在公司内部写代码,改bug,merge的快,而且同样也经过测试,但是稳定性还是不如社区的核心代码。这是由于公司内部人力毕竟有限,而且有时候为了发布而着急上线,代码质量必然难以保障。
OpenStack 厂商离不开社区的另一个重要的原因是,社区在发展中孵化出了很多新项目。例如网络方面的drangflow和ovn,以及为了部署和运维而诞生的很多小工具等,比如我们之前合并进入的Steth项目。这些新项目与OpenStack 核心项目结合紧密,利用他们将会让基于OpenStack的企业数据中心更可靠。
在Hackathon的最后环节,我们为下一届的举办地点进行了投票,我们期待到时候看到一个更好的OpenStack。
关于作者
姚威:SDN研发工程师,2015年7月加入UnitedStack有云,专注于虚拟网络和SDN方向,多个开源社区贡献者。