快,关注“Linux宝库”,一起涨姿势~

一场云计算基础设施的饕餮盛宴 --- OpenStack柏林峰会见闻及感想

一场云计算基础设施的饕餮盛宴 --- OpenStack柏林峰会见闻及感想离OpenStack柏林峰会结束已经一月有余,之前由于各种各样的原因搁笔,没有及时写下摘记。现在临近年末,闲暇之余,细细回味,记忆犹新。

柏林&城市立方

我们一行人从11月11日晚上出发,几经辗转,于11月12日中午抵达柏林泰格尔机场。柏林留给我映象最深的,是满大街的奔驰出租车,和街上非常有特色的红绿灯小人。

这次OpenStack峰会的主办会场CityCube,即城市立方,坐落于柏林的西南角,是个不怎么热闹的郊区,会场也在安静地等待着峰会的到来。

一场云计算基础设施的饕餮盛宴 --- OpenStack柏林峰会见闻及感想

一场云计算基础设施的饕餮盛宴 --- OpenStack柏林峰会见闻及感想

图1 柏林红绿灯 & CityCube展厅大门

主题演讲(Keynotes)

从13日开始,大会正式召开。13、14日上午是基金会及部分厂商举办的主题演讲,我总结了如下四个重点内容:

1.  从OpenStack到Open Infrastructure:

主题演讲由OpenStack基金会执行董事Jonathan Bryce开场。他表示,目前峰会讨论的范围已经不限于OpenStack,从下届丹佛峰会开始,峰会将由OpenStack Summit更名为Open Infrastructure Summit,为全世界致力于云计算的工作者提供一场关于讨论基础设施的饕餮盛宴。

一场云计算基础设施的饕餮盛宴 --- OpenStack柏林峰会见闻及感想

一场云计算基础设施的饕餮盛宴 --- OpenStack柏林峰会见闻及感想

图2 峰会更名

2.  业界使用展示

传统工业 on OpenStack:这次来自制造业的oerlikon公司带来了利用OpenStack云化纺织业控制中心,并在现场展示了纱线成品。

电信 on OpenStack:AT&T展示了基于云计算的5G移动通信。有意思的是AT&T的架构师现场展示了5G网络云使用,并且现场展示了5G通话。

机器学习 on OpenStack:Nova社区核心开发者演示如何通过PCI透传实现GPU虚拟机创建,并通过Demo展示了实时语音翻译;通过Cyborg支持FPGA设备透传,现场展示了关于奥巴马和克林顿视频的面部表情跟踪与识别。

一场云计算基础设施的饕餮盛宴 --- OpenStack柏林峰会见闻及感想

图3 AT&T电信云 5G视频通话展示

3.  四个试点项目

OpenStack基金会宣布Airship、Kata Container、StarlingX、Zuul将作为试点项目进行管理,进行为期18个月的孵化:

1)Airship[1]由AT&T开源,实现了一个在K8S上使用OpenStack-Helm实现编排并管理组件生命周期的平台。

2)Kata Container[2]是以轻量级虚机的形式创建容器的运行时,跑在虚拟化定制内核上,在保留灵活性的同时,提供了更好的安全性。

3)StarlingX[3]集成了OpenStack、Ceph、K8S等开源软件,并提供组件服务管理和故障管理,从而为电信云、CDN等场景提供边缘服务。

4)Zuul[4]早期作为OpenStack的持续集成、交付和部署项目,目前准备为业界提供一个通用的CI/CD解决方案。

一场云计算基础设施的饕餮盛宴 --- OpenStack柏林峰会见闻及感想

图4  介绍四个试点项目

4.  “Train”与2019年举办地

最后,由OpenStack基金会COO Mark先生宣布T版本的命名为Train,灵感来源于在上半年温哥华峰会晚上听到附近火车的呜呜声,希望OpenStack社区能够能像列车一样,奔腾不息,永远向前。

除了早就宣布的2019年上半年丹佛峰会外,基金会终于确定了2019年下半年峰会在中国举办的消息,表明了社区一贯重视中国市场的态度。

一场云计算基础设施的饕餮盛宴 --- OpenStack柏林峰会见闻及感想

图5  中国Summit官宣

技术展示(Presentation)

如果说Keynotes更注重于基金会战略和厂商产品宣传,那么后续的Presentation更多的在于对前沿技术的探索,针对我感兴趣和听取的主题,整理了如下三个方面:

1.  Smart OpenStack

这个演讲是由Mellanox、RedHat及Nuage的专家共同提出的,围绕智能网卡在电信云领域中的应用[5]。来自Mellanox的专家分析了全硬件定义和全软件定义各自的利弊,提出了一种“软件定义、硬件加速”的未来畅想,以同时获得高性能和高灵活度。

演讲中着重介绍了智能网卡的ASAP2(Accelerated Switch and Packet Processing)技术,即ovs-offload。将智能网卡作为一个独立的eSwitch处理单元,让数据转发从系统内核转移到网卡专用硬件中处理,降低CPU进行分组交换的开销。对比传统DPDK技术,智能网卡ASAP2技术能大幅度提高转发性能,提升系统利用率。

接着来自红帽的工程师分享了Neutron、Ovs等社区关于ovs-offload支持的patch,目前已经能在OpenStack以类似sriov的创建方式驱动支持智能网卡[6]。

最后来自Nuage的专家展示了关于ovs-offload的创建,配合控制器下发流表使用,并现场进行打流测试tcp带宽性能,测试可达66Mpps的交换性能,在15000条流的VXLAN处理(封装解封装)时,可获取25Mpps的性能。

一场云计算基础设施的饕餮盛宴 --- OpenStack柏林峰会见闻及感想

一场云计算基础设施的饕餮盛宴 --- OpenStack柏林峰会见闻及感想

图6 智能网卡及ovs-offload展示

个人感想:ovs-offload结合了ovs灵活性与sriov的性能,可以看作是一个高级的VF口,能够实现VF的HA、安全组、QoS功能,并能与任何支持Openflow协议的控制器对接,实现SFC、L3等功能的流表发放。这有利于解除电信运营商对设备商硬件的依赖,但在生产环境上的稳定性还有待考验。

2.  Lightweight VM

轻量级虚拟机是2018年OpenStack峰会上的一个热门话题,特别是针对目前云运营商的容器还是运行在IaaS上的场景,轻量级虚拟机有利于减少不必要的虚拟化开销,推动云服务向FaaS的发展。

这次由Hyper公司带来的演讲主题,是Kata与gVisor(谷歌在5月开源的运行时)的架构及性能上的对比[7]。Kata与gVisor均是利用容器来提供的轻量级虚拟机,但在隔离内核上,两者的实现方式完全不同。Kata所定义的运行时,本质是在基于KVM的精简化虚拟机上,通过Agent启动容器,利用Guset Kernel隔离来提供安全性。gVisor则完全不同,其在系统内核之外实现了一个“内核进程”,称为Sentry,并提供了近200个Linux Kernel的系统调用。

其后还展示了Kata与gVisor的性能基准测试和分析,结果如同两者的架构所决定的:在启动速度和内存占用上,无需Qemu虚拟化的gVisor占据优势;而在IO性能、网络性能和软件兼容性上,具备Guest Kernel的Kata显然更胜一筹。不过两者对比于原生容器RunC的性能,都有一定差距,还有待进一步优化。

一场云计算基础设施的饕餮盛宴 --- OpenStack柏林峰会见闻及感想

一场云计算基础设施的饕餮盛宴 --- OpenStack柏林峰会见闻及感想

图7 Kata及gVisor性能对比

个人感想:Kata Container是OpenStack基金会的第一个试点项目,年初就已名声大噪,犹记得6月参加北京黑客松的时候,就有一桌是Hands-on Kata的小组。从架构来看,Kata项目秉承了OpenStack一贯的开源精神,目前已将Intel的Qemu-lite、Nemu和AWS的Firecracker[8]这些针对于容器场景优化的VMM技术,整合入后端驱动中,并即将发布1.5 Release版本,后续发展值得期待。

3.  Accelerator as a Service

随着人工智能概念的火热,针对于机器学习场景的高性能计算显得尤其重要,而传统CPU在并行计算方面显然不如GPU、FPGA、ASIC等专业设备,因此,加速即服务概念在OpenStack上也逐渐被重视,这涉及到两个OpenStack服务项目—Cyborg和Placement。峰会上Intel和Huawei分别对于Cyborg项目和Placement项目做了介绍[9]。

Cyborg提供API接口管理加速设备,如GPU, FPGA, ASIC, NP, SoCs, NVMe/NOF SSDs, ODP, DPDK/SPDK等,并通过Placement进行调度、Nova发起创建,从而实现加速卡的挂载。Intel在现场展台演示了加速设备的管理与FPGA虚拟机的创建。

Placement的概念是从Ocata版本引入的,放在Nova项目中进行孵化,为了解决OpenStack资源统计的局限性和调度性能瓶颈问题。目前已经支持CPU、RAM、DISK、vGPU和自定义资源的统计,调度方面已经支持CPU、RAM、DISK、AZ过滤。在Stein版本中,Placement将正式独立,逐步实现PCI设备信息统计、PCI过滤和网卡带宽过滤等功能,最终代替Nova-scheduler服务。

一场云计算基础设施的饕餮盛宴 --- OpenStack柏林峰会见闻及感想

一场云计算基础设施的饕餮盛宴 --- OpenStack柏林峰会见闻及感想

图8  Cyborg演示 & Placement功能介绍

个人感想社区一直很关注高性能计算场景,从NUMA一直到GPU、FPGA加速,原先的方案是利用Nova的pci_tracker+ PciPassthroughFilter来实现管理PCI设备,缺乏统一直观的API接口。社区目前所尝试的Placement + Cyborg方案,有利于解决该问题,之前我在OpenStack ChinaDay上也作过一些分享[10]。但比较失望的是,目前不管是刚独立的Placement项目,还是Cyborg项目都处于演示阶段,距真正落地还有很长一段距离。

苏研力量——历久弥新

苏研云计算研发团队,致力于云计算的研发与应用,基于OpenStack研发BC-EC、BC-VN产品。在近几年的峰会上,积极参与经验分享与新技术探讨。

2016 Architecture and Optimization on 1000 Nodes Cluster in China Mobile  Hao Li

2017 Practice of Integrating OpenStack with Existing Virtualization and Storage in China Mobile  Gangyi Luo

2017 Architecture and Optimization on 3000 Nodes Baremetal Cloud in China Mobile  Jun Yao

2017 Deep Dive and Practice into Keystone Federated Authentication in China Mobile  Weiwei Yang

2018 Building NFS service based on Manila and GlusterFS in Public Cloud  Pengju Jiao

2018 Build a Large-scale Private Cloud at Data Center for Mobile Operator  Lei Xu

2018 Guardian -- Resource High Availability Service in China Mobile   Xiangyu Li

这次柏林峰会上,李向瑜带来了中国移动资源高可用服务Guardian的背景、概念、架构和实现细节[11]。我们利用Ceilometer服务采集计算节点上虚拟机、物理机、服务等资源的状态信息,并采用匹配的方式对数据库里的数据进行实时的监控。通过Guardian实现了对虚拟机Qemu进程故障高可用、虚拟机内核故障高可用、共享存储虚拟机高可用、本地虚拟机高可用、虚拟机内部服务高可用、物理机服务高可用等HA自研功能。会后与来自Masakari社区(社区官方高可用组件)的开发者们进行技术交流,交换彼此对计算资源HA的观点与看法。

一场云计算基础设施的饕餮盛宴 --- OpenStack柏林峰会见闻及感想

一场云计算基础设施的饕餮盛宴 --- OpenStack柏林峰会见闻及感想

图9 苏研李向瑜分享Guardian

感想总结

不知从何时起,大家讨论容器、K8S逐渐超过了虚拟化与OpenStack,业界也有声音看衰OpenStack前景,认为以容器编排为代表的K8S,必将越过IaaS,将PaaS带到物理设备上。对于这种观点,我认为就像前些年很多人喊出的“软件定义一切”一样,有合理性,但又片面。在这次峰会上,基金会管理的Kata项目中混合了容器和虚拟机的概念,而Airship、StarlingX项目则是融合了IaaS/PaaS的管理项目,这些已经不仅仅局限于OpenStack,基金会已将Open Infrastructure看作云计算的未来。

回归到OpenStack项目自身,OpenStack Rocky版本开发平均每天代码提交182次,2018年全年超过7万个commit,仍然是全球最活跃的开源项目之一。同时,最令人兴奋的还是2019年峰会在中国召开的消息,届时中国所有的OpenStack开发者都有机会从幕后走到台前,近距离地参与这场盛事,从而开拓自身眼界,提升自我格局。

附:

[1] airship项目首页:https://www.airshipit.org/

[2] kata container项目首页:https://katacontainers.io/

[3] starlingx项目首页:https://www.starlingx.io/

[4] zuul项目首页:https://zuul-ci.org/docs/zuul/

[5]“fully-open-source-smart-openstack-cloud-now-and-beyond”参考视频:https://www.youtube.com/watch?v=gkDUO6MNTKI

[6]ovs-offload配置参考链接:https://docs.openstack.org/neutron/latest/admin/config-ovs-offload.html

[7]“kata-containers-and-gvisor-a-quantitative-comparison”参考视频:https://www.youtube.com/watch?v=D1B512e6V4U

[8]Firecracker介绍:https://aws.amazon.com/blogs/aws/firecracker-lightweight-virtualization-for-serverless-computing/

   Kata 1.5 Release集成Firecracker:https://github.com/kata-containers/documentation/wiki/Initial-release-of-Kata-Containers-with-Firecracker-support

[9]“cyborg-accelerate-your-cloud”参考视频:https://www.youtube.com/watch?v=chI0mCO62TI

“how-can-placement-help-you-achieve-advanced-instance-scheduling-by-integrate-with-different services” 参考视频:https://www.youtube.com/watch?v=fOm74PdXzwQ

[10]参考视频: http://www.itdks.com/Course/detail?id=13705

[11]“guardian-resource-high-availability-service-in-china-mobile”参考视频:https://www.youtube.com/watch?v=C5m2ciBzWvw

文章来源:微信公众号:苏研云大人。了解更多欢迎点击文章下方“阅读原文”。

于『 Linux宝库 』:欢迎关注『Linux宝库』微信公众号!这里每天发布最新的开源人物和开源事件。谨以此号记录Linux和开源业界的点点滴滴,为开源爱好者和从业者点亮人生!

- 责任编辑:丸子-
- END -

一场云计算基础设施的饕餮盛宴 --- OpenStack柏林峰会见闻及感想

阅读原文