技术盘点:容器技术的演进路线是什么?未来有哪些想象空间?

简介: 回顾2021年,云原生领域有哪些重要意义的事件?

回顾2021年,云原生领域有哪些重要意义的事件?


1. 基于容器的分布式云管理加速落地:


2021年5月阿里云峰会上,阿里云发布了一云多形态的部署方式,基于飞天架构的一朵云可以全面覆盖从核心地域到客户数据中心的各种计算场景,为客户提供低成本、低延迟、本地化的公共云产品。


在一云多形态发布之前,阿里云容器服务在 2019 年云栖大会上发布了云下Kubernetes 注册集群能力,支持统一纳管云上云下不同 Kubernetes 集群。2021年,阿里云容器服务进一步全面升级了中心云、本地云、边缘云容器集群的统一管理,能够将成熟的云原生可观测、安全防护能力部署到用户环境,更可以将云端先进的中间件、数据分析和 AI 能力下沉到本地,满足客户对于产品丰富度以及数据管控的需求,加速业务创新。并依托强大的弹性算力,通过托管弹性节点,企业可以按需从本地扩容到云端,实现秒级伸缩,从容应对周期性或突发业务流量高峰。

image.gif

1.png


截至 2021 年,基于 Kubernetes 来屏蔽异构环境的差异,搭建分布式云架构已经成为企业和云厂商的共识。


2. Knative1.0正式发布:


Knative 作为一款基于 Kubernetes 之上的开源 Serverless 编排框架,提供面向 Kubernetes 标准化 API 进行 Serverless 应用编排能力。Knative 支持诸多特性:基于流量的自动弹性、灰度发布、多版本管理、缩容到0、事件驱动 Eventing等。根据 CNCF 2020 中国云原生调查报告,Knative 已经成为 Kubernetes 上安装 Serverless 的首选。


2021 年 11 月,Knative 发布了 1.0 版本,同月 Google 宣布将 Knative 捐赠给云原生计算基金会 (CNCF)。阿里云提供了 Knative 的托管,并结合阿里云基础设施提供了比如冷启动优化、基于预测的智能弹性等增强,实现了社区标准和云服务优势的深度整合。


2021年容器技术取得了哪些突破?背后是解决什么问题?


在2021年,企业对容器的拥抱更加积极,对容器核心技术的启动效率、资源开销、调度效率都有了更高的要求,阿里云容器团队也支持了新一代的容器架构升级,通过对容器、裸金属、操作系统等全栈优化,持续挖掘容器的潜能。


高效调度:全新升级 Cybernetes 调度器,支持对多架构神龙的 NUMA 负载感知、拓扑调度和细粒度的资源隔离和混部,提升应用性能30%。此外,在调度器上做了大量端到端优化,在1000节点规模集群中,可以提供20000Pods/min以上的调度速度,确保在线服务和离线任务都能高效地运行在 K8s 上;


2.png


高性能容器网络:最新一代的阿里云容器网络 Terway 3.0,一方面通过神龙芯片 offload 虚拟化网络开销,一方面在 OS 内核中通过 eBPF 实现容器 Service 转发和网络策略,真正实现零损耗,高性能。


3.png


容器优化 OS:面向容器场景,推出轻量、快速、安全、镜像原子管理的容器优化操作系统 LifseaOS,相比传统操作系统软件包数量减少 60%,镜像大小减少 70%,OS 首次启动从传统 OS 的 1min 以上下降到了 2s 左右。支持镜像只读和 ostree 技术,将 OS 镜像版本化管理,更新操作系统上的软件包、或者固化的配置时,以整个镜像为粒度进行更新。


4.png


image.gif高密部署极致弹性:基于阿里云安全沙箱容器 2.0,优化沙箱容器内的资源开销,最小可达 30M 左右,实现了在单一物理机上的 2000 实例的高密服务能力。同时通过管控链路的缩短以及组件的精简,并辅以对沙箱内存分配流程、host cgroup 管理流程和 IO 链路的优化,实现了 Serverless 场景的 6 秒 3000 弹性容器实例的弹性能力。


企业对容器的应用规模呈现什么趋势?核心诉求点是什么?


随着企业进一步的大规模使用容器,企业内部使用容器的范围也从开始的在线业务逐渐向 AI 大数据演进,对 GPU 等异构资源的管理和 AI 任务和作业管理的需求也越来越多。同时,开发人员在考虑如何通过云原生技术,以统一架构、统一技术堆栈支撑更多类型的工作负载,以避免不同负载,使用不同架构和技术,带来“烟囱”系统、重复投入和运维负担。


深度学习、AI任务,正是社区寻求云原生技术支撑的重要工作负载之一。在阿里云,我们提出“云原生AI”的定义、技术全景图和参考架构,以期为这个全新技术领域,提供可落地的最佳实践,并推出了云原生 AI 套件,通过数据计算类任务的编排、管理,以及对各种异构计算资源的容器化统一调度和运维,显著提高 GPU/NPU 等异构计算集群的资源使用效率和 AI 工程交付速度。


针对 AI 计算类任务的特性,在 Kubernetes 核心 Scheduler Framework 的基础上进行了大量扩展和增强,提供了支持 Gang Scheduling、Capacity Scheduling、Binpack 等任务调度策略,提升集群的资源利用率。并与 K8s 社区积极合作,持续推动 K8s 调度器框架演进,保证了 K8s 调度器通过标准的 plugin 机制,可按需扩展出各种调度策略,来满足各种工作负载的调度需求。同时避免了类似其他 custom scheduler 对集群资源分配带来数据不一致的风险。


支持 GPU 共享调度和拓扑感知调度,NPU/FPGA 等定制芯片调度,提升 AI 任务的资源利用率,同时通过阿里云自研 cGPU 方案,在无需修改应用容器的前提下,提供了 GPU 显存和算力的隔离。


在计算和存储分离的大背景驱动下,基于 Fluid 提供一层高效便捷的数据抽象,将数据从存储抽象出来,通过数据亲和性调度和分布式缓存引擎加速,实现数据和计算之间的融合,从而加速计算对数据的访问。并支持以 Alluxio 和 JindoFS 为缓存引擎。


支持 GPU 等异构资源的弹性伸缩,通过智能的削峰填谷,避免不必要的云上资源消费。同时支持弹性模型训练和模型推理。 


企业对容器的应用提出了哪些新的需求?


随着5G、IoT、音视频、直播、CDN 等行业和业务的发展,我们看到一个行业趋势:企业开始将更多的算力和业务下沉到距离数据源或者终端用户更近的地方,从而来获得很好的响应时间和降低成本。


这明显区别传统的中心式的云计算模式,从而延伸出边缘计算。边缘计算作为云计算的延伸,将被广泛应用于混合云/分布式云、IoT 等场景,它需要未来的基础设施能够去中心化、边缘设施自治、以及强大的边缘云端托管能力。云原生架构的新边界——“云边端一体“的IT基础设施开始出现在整个行业面前,而这也是企业对云原生技术、容器化应用在新场景落地的需求。


边缘计算云原生架构和技术体系需要解决以下问题:云边运维协同、弹性协同、网络协同、边缘IoT设备管理、轻量化、成本优化等。针对云边端一体的新需求,在2021年,OpenYurt 社区(CNCF Sandbox项目)也发布了 0.4、0.5 等版本,持续优化边缘容器的 IoT 设备管理、资源开销、网络协同等能力。


从技术维度看,容器发展亟待解决的主要问题是什么?


随着企业的 K8s 应用大规模使用和落地,如何持续提升 K8s 集群的整体稳定性是核心挑战。K8s 集群作为一个分布式系统存在高度复杂性,在应用、基础设施、部署过程中任何一个地方的问题,都可能导致业务系统的故障。这不仅需要应用 K8s 的企业有对云原生容器技术的高可用体系保障,还需要企业云原生运维体系理念的整体升级。


以 SLO 定义驱动可观测性体系:针对 K8s 的容量规模建设了性能压测常态化能力,必须对 K8s 集群之上的业务场景能够对包括节点数、POD 数、Job 数,核心 Verb 的 QPS 数有明确了解。结合业务的真实场景进行 SLO 的梳理,持续关注请求量,延迟、错误数、饱和度等黄金指标。


常态化的故障演练和混沌测试:比如结合混沌工程理念的 ChaosBlade,对容器集群的不同风险动作,注入不同的异常案例,从VM、K8s、网络、存储到应用的全方面故障模拟。


精细化的流控风控:针对压测和故障演练过程中发现的异常进行防护能力建设,可以借助 Kubernetes 在1.20 beta了 API 优先级和公平性的细粒度流控策略。阿里云容器服务也内置了自研的 UserAgentLimiter 进一步保障 K8s。


除了全局高可用能力的建设外,需要有SRE团队平台化能力的建设:


打造统一的K8s运维服务界面,沉淀运维和可观测能力,让每个 SRE/DEV 能够无差别的OnCAll 或支持,有 2 个子目标:1)尽量避免发生问题;2)尽快发现和定位问题,以及尽快恢复问题,建设全局高可用应急体系。


重实践和演练:基于场景进行实践,知行合一。从知触发,到行完成是一个闭环,然后不断通过知行的一个循环过程。以赛带练,比如双十一大促,限电,断网等极端场景,稳定性建设,需要针对极端场景进行,容量的规划和压测,组件治理等都是需要一些特殊的场景催生。有了赛场,要打好这场仗,就需要通力协作,就会不断形成一个大的协同协作机制。


固化知识,沉淀 playbook:这件事是要打造标准,在做标准的过程中,有的先一步落到系统里面,有的沉淀到 playbook 里面,有的体现到流程里面,流程一定是我们优秀工程师和SRE的最佳实践。系统、playbook、流程都是不断转化的,相辅相成的。


容器技术在2022年的发力点是什么?容器的未来有哪些想象空间?


日前,国际权威咨询机构 Forrester 发布全球容器能力报告《 The Forrester WaveTM: PublicCloud Container Platforms, Q1 2022 》,报告显示,阿里云是国内唯一进入该报告“领导者”象限的服务商,且容器产品综合能力评分最高。


5.png


image.gif阿里云容器技术在2022年会重点关注几个方向:


绿色低碳:持续发挥容器技术的高效调度和弹性能力,帮助企业提升整体的IT效率。结合最新的节能数据中心技术、新一代神龙架构、自研芯片、容器优化操作系统实现上下游的全栈优化,提升应用的整体性能和调度效率。以数据驱动的方式,根据应用运行时资源画像实现智能化调度和实时调整,简化应用资源配置的复杂性,进一步提升应用的混合部署,降低资源成本,助力企业整体 的 FinOps 管理。 


AI 工程化:AI 要成为企业生产力,就必须以工程化的技术来解决模型开发、部署、管理、预测、推理等全链路生命周期管理的问题。我们发现,AI 工程化领域有三大亟待推进的事情:数据和算力的云原生化,调度和编程范式的规模化,开发和服务的标准化普惠化。这些需要持续优化 GPU 等异构架构的高效调度,结合分布式缓存、分布式数据集加速等技术,结合 KubeflowArena 的AI任务流水线和生命周期管理,全面升级AI工程化能力。 


智能自治:通过引入更多的数据化智能化手段,推动容器的智能化运维体系,降低企业对复杂容器集群和应用的管理,增强 K8s master、组件和节点的自愈自恢复能力,提供更加友好的异常诊断、K8s 配置推荐、弹性预测等能力.


安全合规:全面推进 DevOps 向 DevSecOps 演进。面向 Helm、Operator 等 OCI  Artifacts 优化整体的安全定义、签名、同步和三方交付;加固容器的南北向和东西向的网络隔离和治理,推进零信任的链路安全;进一步提升安全容器和机密计算容器的性能和可观测能力。


点击此处,进入阿里云 ACK Anywhere 官网。

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
11月前
|
存储 容器
46.[HarmonyOS NEXT RelativeContainer案例三] 打造自适应容器:内容驱动的智能尺寸调整技术
在HarmonyOS NEXT的UI开发中,创建能够根据内容自动调整尺寸的容器是实现灵活布局的关键。RelativeContainer结合自适应尺寸设置,可以实现内容驱动的智能尺寸调整,使UI更加灵活且易于维护。本教程将详细讲解如何创建自适应尺寸的RelativeContainer,帮助你掌握这一实用技术。
326 5
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
636 59
|
9月前
|
Kubernetes Cloud Native 持续交付
Docker:轻量级容器化技术解析
Docker:轻量级容器化技术解析
|
9月前
|
运维 测试技术 Docker
Docker:轻量级容器化技术革命
Docker:轻量级容器化技术革命
|
弹性计算 Java Maven
从代码到容器:Cloud Native Buildpacks技术解析
Cloud Native Buildpacks(CNB)是一种标准化、云原生的容器镜像构建系统,旨在消除手动编写Dockerfile,提供可重复、安全且高效的构建流程。它通过分层策略生成符合OCI标准的镜像,实现应用与基础镜像解耦,并自动化依赖管理和更新。阿里云应用管理支持通过CNB技术一键部署应用至ECS,简化构建和运行流程。
|
存储 虚拟化 Docker
|
11月前
|
UED 容器
10.HarmonyOS Next布局进阶:嵌套Flex容器与空间分配策略
在HarmonyOS Next的ArkUI框架中,Flex布局是构建用户界面的核心技术之一。通过嵌套使用Flex容器,我们可以创建复杂而灵活的界面结构,满足各种应用场景的需求。本教程将深入探讨如何在HarmonyOS Next中使用嵌套Flex容器实现复杂布局,以及如何合理分配和控制空间。
322 0
|
开发工具 虚拟化 git
自学软硬件第755 docker容器虚拟化技术youtube视频下载工具
docker容器虚拟化技术有什么用?怎么使用?TubeTube 项目使用youtube视频下载工具
|
Unix Linux Docker
CentOS停更沉寂,RHEL巨变限制源代:Docker容器化技术的兴起助力操作系统新格局
操作系统是计算机系统的核心软件,管理和控制硬件与软件资源,为用户和应用程序提供高效、安全的运行环境。Linux作为开源、跨平台的操作系统,具有高度可定制性、稳定性和安全性,广泛应用于服务器、云计算、物联网等领域。其发展得益于庞大的社区支持,多种发行版如Ubuntu、Debian、Fedora等满足不同需求。
545 5
|
负载均衡 网络协议 算法
Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式
本文探讨了Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式,以及软件负载均衡器、云服务负载均衡、容器编排工具等实现手段,强调两者结合的重要性及面临挑战的应对措施。
549 4