阿里云技术专家解读:2021 年六大容器技术发展趋势
作者 | 阿里云容器服务团队
2020 终于过去。在这一年,特殊的环境让企业的生存和发展充满着不确定性。在持续应对由变化带来的挑战过程中,数字化创新能力对于企业来说似乎比以往任何时候都更加重要。
疫情之下,越来越多的企业坚定了上云和实现数字化转型的信念和步伐,并且积极探索云原生架构转型落地。2020 年 双11,阿里巴巴实现了核心系统全面云原生化的重大技术突破。基于云原生架构,企业可以最大化使用云的能力,聚焦于自身业务发展,开发者也可以基于云原生的技术和产品,提升开发效率,将精力更多地聚焦于业务逻辑的实现。可以看出,以容器为代表的云原生技术正在成为释放云价值的最短路径。
作为云原生发展的基石,容器技术的新趋势和新挑战备受关注。2021 年伊始,阿里云容器服务团队的技术专家们为大家带来了他们对新一年容器技术趋势的六个重要解读。
趋势一:以 Kubernetes 为代表的容器技术,已成为云计算的新界面
汤志敏|阿里云容器服务资深技术专家
在最新发布的 “CNCF 2020 年中国云原生调查”中显示,有 72% 的中国受访者在生产中使用了 Kubernetes。过去一年,我们观察到的阿里云上云原生生态的蓬勃发展也印证着云原生技术正成为释放云价值的最短路径。从早期的无状态应用、到 AI 大数据和存储类应用都在拥抱容器技术。可以看见,以 Kubernetes 为代表的容器技术已成为云计算的新界面,并将继续带来更大价值。
1. 企业从上云,到通过云原生加速分布式云管理
对于企业来讲,容器持续向下封装基础设施,屏蔽底层架构的差异性。 而 Kubernetes 的新界面进一步促进云和边的基础能力对齐,推动“边”的产品能力丰富度和标准化,从而加速容器应用在边缘、IoT 和 5G 等场景的落地。
2. 容器应用的高密高频挑战,持续重构(Refactor)云计算的架构
在容器应用的高密高频的应用场景推动下,面向容器优化的 OS、裸金属协同、硬件加速等技术持续演进,进一步催熟云计算架构的全栈优化和软硬一体,并给云计算用户带来极致的敏捷、弹性等红利。 而在容器新界面之上的 Serverless、新一代的中间件、新一代的应用 PaaS 方兴未艾。
3. 容器大规模应用进入深水区,在自动化运维、企业 IT 治理、端到端安全等迎来挑战
随着越来越多的工作负载、AI 大数据、数据库等应用容器化,如何统一容器和基础资源形成统一的人、财、物、权等企业 IT 治理能力,是大规模落地容器的关键述求。 随着越来越多的自定义控制器、越来越丰富的云原生制品格式,如何保障大规模 K8s 集群的稳定性带来强需求,而数据化智能化的 K8s 自动化集群运维和细粒度的 SLO 能力更加迫切。 零信任安全、容器身份认证、云原生制品生命周期管理、安全容器、机密计算等 DevSecOps 实践,持续打造端到端的容器安全网。
趋势二:围绕云原生应用的高度自动化
应用部署运维更加自动化:云原生业务类型及其多样化,不管是传统 IT、互联网,还是 Web 服务、搜索、游戏、AI、边缘等细分领域,每一种都会有自身特殊应用场景,而抽象、提炼出其中核心通用的部署运维诉求并转化为更加自动化的能力则是深耕云原生的必经之路。
风险防控能力更加自动化:面向终态的自动化是一把 “双刃剑”,它既为应用带来了声明式的部署能力,同时也潜在地会将一些误操作行为被终态化放大,例如在发生操作故障时副本数维持、版本一致性、级联删除等机制反而很可能导致爆炸半径扩大。因此,通过防护、拦截、限流、熔断等防控自动化能力来抑制其他功能性自动化能力的缺陷和副作用,是伴随着云原生规模急剧扩大的必要防护措施。
Operator 运行时更加自动化:Kubernetes 能成为容器集群调度管理引擎的事实标准,其强大而又灵活的扩展能力功不可没。Operator 既是一种特殊的应用,也是不少有状态应用的自动化管理者。而过去社区整体 Operator 趋势还停留在数量野蛮增长、周边运行时机制却无太大进步,2021 年 Operator 的运行时将会在水平扩展、灰度升级、租户隔离、安全防护、可观测性等方面获得充分的自动化增强。
趋势三:以“应用”为中心构建高可扩展的上层平台
基于 Kubernetes 与标准应用模型构建的易用、可扩展的上层平台将取代传统 PaaS 成为主流。当前云原生生态的软件虽然日益丰富,但是学习和使用门槛依旧非常高,易用性将成为“以应用为中心”的首要突破点。除此之外,在易用的同时保证可扩展性,保证以 Kubernetes 为接入点的开源软件无需或只要较小改造便可接入使用,也是这样类型应用管理平台的重要特征。
“关注点分离”的标准化应用构建方式进一步深入人心。围绕 Kubernetes 构建应用交付平台已经逐渐成为共识,任何一个 PaaS 平台都不想把 Kubernetes 屏蔽掉。但是这并不意味着直接把 Kubernetes 所有的信息暴露给用户,PaaS 平台的构建者们极度渴望给用户最佳的体验。解决这个问题的突破点就是大家使用一个标准化的、关注点分离的应用构建模型,平台的构建者们关注 Kubernetes 接口(CRD 和 Operator),而平台的用户,也就是应用开发者们关注的则是一个标准化的抽象应用模型。
应用中间件能力进一步下沉,应用逻辑与中间件逻辑逐步解耦。随着云原生以及整个生态的发展,中间件领域也在逐步发展变化,从原先的中心化 ESB 到如今通过 Sidecar 模式提供能力的 Service Mesh 。应用中间件不再是通过一个胖客户端提供能力,而是成为一个能力的标准接入层,能力的提供则由应用管理平台通过 Sidecar 的方式在应用运行时注入。相信 Sidecar 这种模式将在除流量治理、路由策略、访问控制之外的更多中间件场景中得到应用,“以应用为中心”,让业务更专注,更聚焦。
趋势四:“云边一体”迎来快速发展
AI、IoT 与边缘计算的融合,边缘计算场景中业务种类会越来越多、规模越来越大、复杂度越来越高。 边缘计算作为云计算的延伸,将被广泛应用于混合云场景,这里面需要未来的基础设施能够去中心化、边缘设施自治、边缘云端托管能力。 5G、IoT 等基础设施的发展将会引爆边缘计算的增长。
“云”层,让我们保留了原汁原味的云原生管控和丰富的产品能力,通过云边管控通道将之下沉到边缘,使海量边缘节点和边缘业务摇身一变成为云原生体系的工作负载。 “边”侧,通过流量管理和服务治理使其更好的和端进行交互,获得和云上一致的运维体验,更好的隔离性,安全性以及效率,从而完成业务、运维、生态的一体化。
趋势五:云原生 AI 只是起点,云原生驱动数据变革是新主题
致敬传统任务调度器: Kubernetes 关注于资源调度,但是对于大数据和 HPC 的调度功能比起 Yarn 等离线传统调度器还有很多需要借鉴的地方,最近在 Kubernetes 的 Scheduler Plugin Framework 的灵活框架下,适配于大数据和 HPC 场景的批量调度,Capacity 调度正在逐步落地。
容器化资源精细调度:Kubernetes 利用容器特性和插件化调度策略,可以原生地支持 GPU 资源共享调度,并且可以进行 GPU 资源隔离,Nvidia Ampere 的调度也在 Kubernetes 上做了 Mig 原生支持。这也是 Kubernetes 独特的能力。而资源共享不仅仅限于 GPU,对于 RDMA,NPU 甚至存储设备,这种调度能力都是必不可少的。
弹性数据任务全新场景:随着大数据和 AI 应用的弹性化越来越普及,如何让数据也有弹性的能力,让数据像流体一样,在诸如 HDFS、OSS、Ceph 等存储源和 Kubernetes 上层云原生应用之间,灵活高效地移动、复制、驱逐、转换和管理,推动广阔云服务场景下的大数据、AI 落地新应用。
AI 与大数据的统一云原生底座:基于作业调度、资源利用率优化和数据编排这些原子能力,越来越多 AI、机器学习平台和大数据分析平台构建在容器集群之上。而 AI 与大数据对数据的依赖度,对计算、网络和存储资源的需求特点、工作负载特征、运行策略、对在线服务的重要性,甚至影响企业 IT 成本的因素,都有很多相似之处。因此如何以统一的云原生底座同时支持 AI 和大数据作业,将成为企业 CTO、CIO 思考的主题之一。
趋势六:容器安全成为重中之重
杨育兵|阿里云容器服务高级技术专家
容器已经成为应用交付的标准,也是云原生时代计算资源和配套设施的交付单元。以 runC 为代表的使用 linux container 技术实现的容器运行时,以轻量、高效、自包含、一次打包到处运行等优秀特性,深受广大容器开发者和使用者的喜爱。
容器技术及应用日渐普及,正成为云计算的新界面。但云计算下的容器技术正面对新的挑战。多个容器共享了同一内核,在隔离和安全性方面必然存在天然缺陷,并进一步限制了容器的应用场景和发展,使其只能应用于企业内部环境等单租场景。但云原生产品交付给不同租户的容器,即使运行在同一台宿主机上也必须具备强隔离的安全保证;在云原生产品时代,容器运行时除了需继续保持轻量、高效、自包含、一次打包到处运行的优秀特性外,还需进一步确保良好的安全隔离性,容器安全成为重中之重。以 KATA 为代表的使用轻量虚拟化实现的容器时逐渐成为多租场景的标准容器运行时。
除了运行时的安全隔离,网络、磁盘、镜像、K8s API 等层面的安全隔离也是必须要解决的问题。涉及到多租户和运行不可信代码,用户可接触到的一切资源都是需要隔离的,包含网络可达的目标,可以使用的存储,可以下载或本地访问的镜像内容都需要隔离。为了防止隔离实现本身有漏洞被用户利用,安全防护需要多层次的深度防护,网络防护除了 VPC 隔离,还需要网络策略细化隔离;计算的隔离除了虚拟化技术的隔离还需要有命名空间、系统调用等方面的隔离;存储的隔离除了有虚拟化相关的隔离,还需要在宿主机上面做 DiskQuota 隔离;镜像的隔离除了要做网络隔离,还需要做本地的镜像引用隔离。这些实现都是向强隔离、多层深度隔离方向发展。
容器安全技术也面对其它新的挑战:引入虚拟化后,容器技术实现不再轻量,如何对虚拟化技术优化,并尽可能轻量、高效成为我们必须要解决的问题;业界也有像 Google 的 gVisor 和 Crosvm、Amzon 的 Firecracker 等轻量虚拟化支持容器化的技术,阿里内部也有相应的袋鼠沙箱容器技术来解决这个问题。
下载《云原生大规模落地应用指南》,收藏更多云原生规模化落地实践经验!点击【阅读原文】即可下载