本文由云栖大会《企业云原生创新与实践》专场《底层系统创新 助力云原生发展》专题讲稿整理
演讲者:纹狸
大家好,我是来自阿里云智能的产品经理黄韶宇,在阿里云主要负责云原生底层系统的产品设计和规划工作,很高兴可以在这里给大家做一个分享。在本专场前面的topic里面介绍了大量云原生的应用场景以及成功案例,在这里我会从底层系统的视角介绍我们的思考以及实践,希望能给大家带来更多有用的信息
今天我的介绍分3个部分,首先我会介绍我们对云原生业务的分析以及底层系统设计思路,接下来我会介绍全新的阿里云沙箱容器 2.0,最后会介绍我们在阿里云以及阿里经济体内的实践。
这里我们先从用户开发运维的视角出发,来阐述云原生带来的变化,红色的框框就是用户需要关注的内容。可以看到,从传统物理机部署形态到传统云部署形态,再到云原生使用的容器部署、函数部署形态,用户管理的内容在不断地发生着变化,从管理整台庞大的物理机到管理单一的虚拟机,到只关注自己的应用以及其依赖库,最后仅需要关注自己的代码,云原生的推进让用户关注界面不断地上移。
用户界面的上移自然也带来了对云服务使用方式的变化。可以看到,云原生场景相比传统的云场景,运行的时间更短,运行的单位更小,使用更多的是服务,资源购买从长期买断变成了按需弹性,启动时间从分钟级下降到到亚秒级,部署密度也有了两个数量级的提升。这些变化都对云基础设施提出了新的要求:serverless的部署要求免运维,短时运行以及按需使用要求具备快速弹性的能力,部署密度的提升要求整个运行时能够更轻量;而云服务的安全性以及性能也是用户选择平台的必要考量因素。总结起来,要满足云原生业务的需求,云基础设施需要能够快速高效地给用户提供安全的运行环境;
前面是我们对于云原生业务的一些思考,接下来我会简单介绍一下我们在云原生场景下的一些实践;这里展示的是阿里云原生的整体的技术栈。最底层的当然就是大家最熟悉的云基础设施了,提供了存储网络计算的能力;第二层,包含面向容器的ACK/ASK,面向应用的SAE、Flink Serverless,面向函数的Funtion Compute等,是阿里云的云原生平台,支持最上层中描述大量的云原生应用。基础设施以及云原生平台之间,就是云原生底层系统,我们起到了承上启下的作用,结合阿里云基础设施的强大能力,以容器引擎作为载体,为云原生平台打造最符合需求的单机底层系统。在阿里云内部,我们将这个系统命名为“袋鼠”。
在这里我简单的介绍一下我们对于这个系统的设计。可以看到,我们对于云原生底层系统的的设计遵循了4个基本原则:安全轻量、灵活高效,全栈协同和开源生态,基于以上原则,我们推出了了全新的容器引擎dragonball,提供了安全容器快启动、高并发、低开销等面向云原生场景的核心竞争力,同时提供了多种容器运行时,以满足不同的场景需求。我们最大程度地利用了阿里云I层强大的能力,提供优越的IO、网络性能;同时创新设计了面向云原生场景的网络、存储方案,以从容应对短时运行、瞬时并发给基础设施带来的冲击。我们也使能了硬件安全能力,构建多重的安全保障体系。不仅如此,我们宿主机环境上会结合业务特征进行大量的调度、内存优化,为用户提供更高的端到端性能;最后,我们的相关技术也在引领着kata 2.0架构,反哺着开源生态。
基于以上的系统设计,我们于去年孵化出了一款阿里云的内部产品:阿里云沙箱容器。在发布之后这个产品持续在阿里云以及阿里经济体内提供着服务,经过1年的产品迭代,我们在今年推出了阿里云沙箱容器2.0版本。
相比1.0版本,2.0主要包含以下3个部分的更新:
第一,更轻、更快、更稳定的容器引擎 dragonball 2.0,在这个引擎中,我们引入了新的开发语言,裁剪了不必要的模块,合并了部分组件;通过创新性的容器引擎设计,我们获得了优异的性能表现、资源开销表现和稳定性表现;
第二,更灵活、更高性能的存储网络方案,我们将virtiofs作为容器存储正式投入生产;同时为了应对高密的多用户场景,我们引入了全新的跨VPC网络方案;我们还引入了eBPF技术作为加速方案,为网络性能提速
最后,我们也提供了更全面、给更多元的安全能力,除了基础的轻量级虚拟化隔离技术,我们还集成了阿里云安全中心的服务,并提供了云原生机密计算的runtime RunE,全面防护用户的运行环境;
升级2.0版本带来的效果也是显著的,首先,我们的启动性能以及并发能力有了长足的提高,我们的沙箱已经具备50ms的冷启动能力以及3ms的热恢复能力,沙箱的单机并发能力也达到了每秒钟两百以上;其次,我们的资源消耗也有大幅度的降低,沙箱容器的cpu、memory消耗已经下降到了与普通runc容器持平的水平,接近”零损耗”,单机的部署密度也达到了两千以上;最后,通过端到端整合优化,我们消除了沙箱隔离技术带来的性能损耗,阿里电商业务在沙箱容器内的性能已经与普通容器基本持平;我们针对特定场景的性能调优也取得了良好的效果,nginx的性能相比云上普通容器提升了20%,redis相比云上普通容器提升了30%。
最后我向大家介绍一下我们在阿里云以及阿里经济体内的实践情况。
作为底层系统,阿里云沙箱容器与阿里云产品一起构建云原生竞争力;阿里云容器服务产品推出了安全沙箱容器和Inclavare containers,将我们的沙箱容器能力集成交付给了用户,用户可以直接使用我们的组件;在前面TOPIC提到的弹性容器实例ECI以及在面向函数场景的FC中,阿里云沙箱容器2.0作为新的底层架构已经开始上线开服;在面向应用的SAE以及Flink Serverless产品里面,我们也作为底层系统持续提供着支持;
在阿里经济体内部,沙箱容器也在发挥着日俱重要的作用;我们在在线业务、离线业务以及混合部署架构中让业务运行更稳定、部署更灵活,支撑阿里经济体业务顺滑地向着云原生化演进。
云原生场景仍然在不断地发展,带来的挑战也会不断地变化,但是我们做最好的云原生底层系统的初心并不会变,在未来,我们一定可以给大家带更重磅、更具有吸引力的产品竞争力!好了,以上就是我的分享,多谢大家!