阿里云弹性容器实例产品 ECI ——云原生时代的基础设施
阿里云弹性容器实例产品 ECI ——云原生时代的基础设施
1. 什么是 ECI
弹性容器实例 ECI (Elastic Container Instance) 是阿里云在云原生时代为用户提供的基础计算服务,是阿里云云原生时代下的云计算基础设施。ECI 改变了以往计算服务以整台机器作为交付形态的传统,通过结合容器技术与无服务器 (Serverless) 技术为用户提供了一款安全便捷的 Serverless 运行服务。使用 ECI 的过程中用户不再需要关注繁冗的底层基础设施维护工作,仅需提供打包好的容器镜像即可运行用户服务。在颠覆传统资源交付形态的同时,用户还可以享受按实际消耗资源付费等便利,降低用户的实际使用成本。
2. ECI 与 ECS 的关系
作为阿里云弹性计算团队推出的云原生基础设施,ECI 定位为 ECS 同级别的计算资源类产品。依托弹性计算团队多年研发 ECS 产品积累的技术和经验,ECI 在资源弹性、安全、运维监控体系等方面继承了大量弹性计算团队在此前产品上的积累,并针对云原生时代的需求进行了有针对性的改进和优化。
图1 ECI 产品定位
3. ECI 的优势
ECI 服务依托阿里云弹性计算团队,继承了弹性计算团队在库存管理,资源调度,虚拟化,安全,操作系统及内核,存储及虚拟化网络方面的技术积累,为用户打造了安全、弹性的 Serverless 运行服务。
3.1. 弹性
弹性是云计算带给用户的最大价值之一,通过将业务部署到云上,用户基础设施的扩缩容等方面能够更加灵活。而这些弹性的基础前提是云计算厂商能够具备充足的库存来满足不同用户需要的弹性。当前 ECI 服务完全构建在弹性计算整体资源调度平台之上,与 ECS 服务使用相同的库存管理与调度策略。依托弹性计算强大的库存管理系统,ECI 服务能够切实保证充足的库存,满足用户对极致弹性的需求。例如:当用户调用 ECI 的 API 来创建容器实例时 (CreateContainerGroup),ECI 的管控系统会调用弹性计算的库存模块接口获取底层相关资源的情况,资源调度模块接口会根据预先设置好的资源调度策略,挑选出当前适合容器实例放置的一台服务器上。随后 ECI 的管控系统会在这台服务器上创建用户需要的容器实例,并配置好相应的存储、网络资源。
图2 依托弹性计算的资源调度与库存管理
3.2. Serverless
无服务器 (Serverless) 技术的核心是将用户从繁冗的基础设施运维问题中拯救出来,让用户能够将精力专注于自身业务和服务上。用户使用传统的云计算基础设施过程中需要用户自己掌握大量的专业运维知识,对底层基础设施的规模、配置、运行时环境进行管理。ECI 通过结合容器技术和无服务器技术,将云厂商的运维边界从基础设施的整机层面提升到了容器运行时层面。随着服务边界的提升,此前需要用户自己管理的组件如操作系统,软件运行时,监控运维工具等均由 ECI 提供。在上述组件的研发和运维上,阿里云具备丰富的经验,如定制操作系统及内核,针对各类场景的性能优化,完善的运维数据采集手段等。在使用 ECI 服务后,用户不再需要关心操作系统的升级,安全漏洞的修复这些琐碎的工作。
图3 Serverless 让用户专注自身业务
3.3. 安全
安全是公共云用户十分关注的问题,也是每个公共云厂商的生命线。安全问题可以细化为两个层面的问题,第一个层面是云平台自身的安全。这方面 ECI 继续依托虚拟化技术作为基本的安全隔离手段,继承了大量在 ECS 产品上经过多年实践检验的安全加固技术,包括针对 Hypervisor 层面各种安全补丁和各类 CVE 漏洞的修复补丁,多层次的安全防御体系以及各类安全审计数据;第二个层面是用户自身的安全问题。此前用户需要自行维护虚拟机中的操作系统及其上的各类组件的安全性,定期针对操作系统和各类组件进行升级、打补丁操作来避免安全漏洞对用户自身服务的影响。在 ECI 中随着服务平面上移,从最底层的基础硬件到最上层的容器运行环境均为阿里云提供,所有组件均经过阿里云工程师的安全审核,避免因软件安全漏洞造成用户业务受到影响。
图4 更加安全的运行环境
3.4. 易用性
针对云原生时代用户对基础设施的诉求,我们着重改进了用户的使用体验。ECI 的一大特点是弹性,当用户业务负载增加时需要迅速扩容部署用户的服务来应对突发业务流量。因此服务的扩容部署时间直接影响用户体验。为此 ECI 服务在管控、虚拟化、镜像拉取等多个层面对交付时间进行了优化。借助与 ECS 服务共生的关系,通过优化 ECI 的管控系统能够更快的获取各类底层基础资源的情况,着重对创建链路进行优化,加快管控系统中 ECI 相关创建事件的处理速度。在容器运行环境的创建中也采用了特殊的虚拟化技术,快速批量创建实例。该技术允许我们跳过原来虚拟机系统启动的大部分流程,通过上述技术可以将实例的创建时间缩短6秒。此外,我们也对容器镜像的拉取过程进行了一定的优化。我们知道容器在启动之前首先需要将需要的镜像拉取到本地。这一过程包括镜像的拉取和解压缩两个过程。镜像拉取过程是可以并行进行的,而解压缩过程则必须要串行进行。因为容器镜像是分层的,必须要从最基础的镜像开始构建。通过镜像缓存,我们可以避免掉大部分镜像的拉取和解压缩工作。
图5 镜像缓存优化前后时间对比
4. 未来已来
云原生时代已经到来,弹性容器实例产品 ECI 作为阿里云云原生时代的基础设施,会继续秉持阿里云普惠的云计算理念为广大云原生用户提供高质量的服务。通过在资源调度、库存管理、安全沙箱技术等方面的不断优化,为广大用户打造更加安全,更低成本,更易用的 Serverless 云原生基础设施。
原文链接
本文为云栖社区原创内容,未经允许不得转载。