介绍:可以说,以Kubernetes为代表的容器技术正在成为云计算的新接口。容器为应用程序分发和交付提供标准,将应用程序与底层操作环境分离。Kubernetes作为资源调度和编排的标准,屏蔽了底层架构的差异,帮助应用在不同的基础设施上流畅运行。CNCFKubernetes的一致性认证进一步保证了不同云厂商实现的Kubernetes的兼容性,这也让更多的企业愿意采用容器技术构建云时代的应用基础设施。来源|阿里云原生公众号作者|智敏、智清2020年双11,阿里巴巴核心系统全面云原生,顶住了历史最大流量高峰,向业界传递出“云原生正在大规模发展。落地”的信号。阿里有很多“云原生第一”,关键是80%的核心业务部署在阿里云容器ACK上,一个小时可以扩容到百万级以上的容器。可以表示,以Kubernetes为代表的容器技术正在成为云计算的新接口,容器提供了应用分发和交付的标准,将应用与底层运行环境解耦,作为资源调度和编排的标准,屏蔽了底层的差异CNCFKubernetes的一致性认证进一步保证了不同云厂商实现的Kubernetes的兼容性,也让更多的企业愿意采用容器技术构建云时代的应用基础设施。新的云原生容器接口是事实容器编排的标准。Kubernetes在IaaS层支持不同类型的计算、存储和网络能力。无论是CPU、GPU、FPGA,还是专业的ASIC芯片,都可以统一调度,高效使用。算力资源,同时完美支持各种开源框架、语言和各类应用。随着Kubernetes成为新的操作系统,基于云原生容器的技术成为云计算的新接口。云原生容器接口特点云原生容器接口有以下三个典型特征:向下封装基础设施,屏蔽底层架构差异。拓展云计算新边界,云、边、端一体化管理。向上支持多种工作负载和分布式架构。1)向下封装基础设施,屏蔽底层差异,统一技能栈,降低人力成本:Kubernetes可在IDC、云、边缘等不同场景统一部署交付,并通过使用云原生倡导的DevOps文化和工具集技术迭代速度,因此可以降低整体人力成本。统一技术栈提升资源利用率:各种计算负载在Kubernetes集群中统一调度,有效提升资源利用率。Gartner预测“未来三年,70%的AI任务将运行在容器和Serverless上”,而AI模型训练和大数据计算工作负载需要Kubernetes提供更低的调度延迟、更大的并发调度吞吐量和更高的异构资源利用率.加速数据服务云原生化:由于计算和存储分离的巨大灵活性和成本优势,数据服务云原生化逐渐成为一种趋势。容器和无服务器的弹性可以简化计算任务的容量规划。结合分布式缓存加速(如Alluxio或阿里云Jindofs)和调度优化,也可以大幅提升数据计算和AI任务的计算效率。安全能力进一步加强:随着数字经济的发展,企业的数据资产成为新的“石油”,大量数据需要在云端进行交换和处理。如何保证数据安全、隐私、可信,成为企业上云面临的最大挑战。我们需要用技术手段建立数字信任基础,保护数据,帮助企业建立可信赖的商业伙伴关系,促进业务增长。例如,阿里云基于IntelSGX等加密计算技术,为云客户提供可信的执行环境。但可信应用的开发和使用门槛很高,需要用户重构现有应用,处理大量底层技术细节,使得该技术落地难度很大。2)拓展云计算新边界,云边端一体化管理随着边缘计算的场景和需求不断增加,“云边协同”和“边云原生”正逐渐成为新技术关注的焦点。Kubernetes具有强大的容器编排和资源调度能力,可以满足边缘/物联网场景下低功耗、异构资源适配、云边网络协同等独特需求。为推动云原生与边缘计算跨领域协同发展,阿里巴巴于2020年5月正式开源边缘计算云原生开源项目OpenYurt,推动“云边融合”理念落地。扩展原生Kubernetes。支持边缘计算场景。其主要特点是:“零”侵入式边缘云原生解决方案:提供完整的Kubernetes兼容性,支持所有原生工作负载和扩展技术(Operator/CNI/CSI等);可以轻松实现Kubernetes集群原生一键转换为OpenYurt集群。节点自治:在云端薄弱或断网环境下具有边缘节点自治和自愈能力,保证业务连续性。针对海量边缘节点的应用交付,提供高效、安全、可控的应用发布和管理方式。在2019年的KubeCon上,阿里云发布了边缘容器服务ACK@Edge,OpenYurt是其核心框架。短短一年时间,ACK@Edge已应用于音视频直播、云游戏、工业互联网、交通物流、城市大脑等场景,服务于盒马、优酷、阿里视频云等众多互联网和新零售企业。同时,ACK@Edge的开源版本OpenYurt成为CNCF的沙箱项目,推动上游Kubernetes社区兼顾边缘计算的需求。欢迎广大开发者共同建设,共同迎接万物智能连接的新时代。3)向上支持多工作负载和分布式架构企业在IT转型浪潮中对数字化、智能化的需求越来越强烈。最突出的需求是如何从海量业务数据中快速、准确地挖掘新数据。为了更好地应对不断变化和不确定的商业挑战,我们必须开拓更多的商业机会和模式创新。Kubernetes可以支持众多开源主流框架构建微服务、数据库、消息中间件、大数据、AI、区块链等各类应用。从无状态应用,到企业核心应用,再到数字智能应用,企业和开发者都可以基于Kubernetes流畅地自动部署、扩展和管理容器化应用。阿里巴巴如何理解云原生容器接口阿里巴巴将云原生视为未来重要的技术趋势。为了实现更快的加速和更好的协作,它制定了清晰的经济云原生技术路线图,并动员团队协调和推进云原生。在云原生容器接口的引领下,阿里巴巴集团以基础设施、运维及其周边系统为切入点,掀起了全面云原生化的浪潮,陆续将系统改造为适应云原生环境的全新解决方案。云原生架构,推动集团内部使用的技术框架、工具等被云可接受的标准产品或云产品替代;进一步转变运维思维和工作方式,兼容和适应新的运维模式。比如DevOps需要改变传统虚拟机时代的运维思维。容器运行时的组件需要更改以支持KubernetesPod下的新模型。改变。在计算、网络、存储方面,通过Kubernetes的统一管理,用户可以充分利用阿里云的IaaS能力,让每个业务都有自己独立的弹性网卡和云盘,以及对网络有不同需求的业务和存储性能。也具备部署在同一台宿主机上的能力,保证了隔离性,互不干扰。传统的非云物理机模型决定了业务部署的类型,由此带来的弹性不足的问题也得到了很好的解决。因此,用户在提高资源利用率、降低成本的同时,可以大大提高业务的稳定性。在节点资源层,用户可以充分利用Kubernetes的基础扩展能力,实现节点管理云原生化;在架构层面,可以通过节点生命周期控制器、自愈控制器、组件升级控制器等实现节点自愈,完全闭环的节点生命周期、流通、交付、环境组件变更,让容器层完全屏蔽底层节点感知,彻底改变节点的运维管理模式。基于强大的云原生节点管理模型,阿里巴巴内部将集团相对分散的节点资源整合为一体,真正实现了从点到面的资源池化,将内核、环境组件、模型规范等整合为一个整体统一标准。统一池,统一调度,形成巨大的弹性容量。这也是云原生节点管理中的“同文、同轨、同制、同行、同域”,让节点资源从王子模式转变为统一的云原生资源池。新兴的生态和业务,基于ACK(阿里云容器服务)提供的云原生土壤,如ServiceMesh、Serverless、Faas等,也在集团内迅速落地并蓬勃发展。在应用PaaS层,云原生应用交付模型正在向更彻底的容器化方向发展,充分利用Kubernetes的自动调度能力,基于标准定义构建集团内统一的PaaS运维能力OAMTrait,并基于GitOps的研发模式,让基础设施和云资源编码化、可编程化。阿里巴巴集团向云原生容器接口的演进为了支撑阿里巴巴集团庞大复杂的业务,在过去的十年间,众多技术工程师踏上了深浅不一的容器之旅。那么,容器接口在阿里集团内部是如何演进的呢?十年来,阿里集团的容器技术经历了从自研LXC(LinuxContainer)容器T4,到富容器,再到Kubernetes云原生轻量级容器的演进。每一次转型升级,都是基于不同时期的业务背景,技术迭代和自我创新。第一阶段:基于LXC的容器T4尝试受困于虚拟机KVM的巨大开销和KVM编排管理的复杂性。阿里集团在2011年启动了LXC和LinuxKernel的定制,在内部推出了基于LXC的容器。T4集装箱。但是,与后来出现的Docker相比,T4容器在技术上存在一些不足,比如没有实现镜像提取和应用描述等。T4诞生多年后,阿里不断尝试在T4之上构建复杂的基线定义,但屡屡遇到问题。第二阶段:AliDocker引入容器镜像机制实现大规模分发。2015年,阿里引入了Docker镜像机制,将Docker和T4的功能整合起来,相辅相成,即让T4具备Docker镜像能力,让Docker具备T4对内部运维系统友好,并基于至此,内部产品AliDocker就形成了。在此过程中,阿里引入了P2P镜像分发机制。随着电商核心应用逐步全面升级到AliDocker,通过宿主机的环境隔离和可移植性,屏蔽底层环境差异,云化/统一调度/混合/存储计算等后续基础设施变更分离打下了基础,镜像机制的优势就体现出来了。其中,孵化的P2P镜像发行版为Dragonfly,于2018年10月加入CNCF。第三阶段:完全自主产权的容器Pouch,阿里内部全面容器化,随着容器技术的大规模铺开,AliDocker的优势在于反映出来,阿里完全自主产权的Pouch可以推出并逐步替代AliDocker。与此同时,阿里巴巴集团100%小包化也在快速推进。2016年双11之前,全网容器化。Pouch的意思是一个神奇的婴儿包,为里面的应用提供贴心的服务。由于Pouch统一了集团在线应用程序的运行时,应用程序开发人员无需担心底层基础设施的变化。在接下来的几年里,底层基础设施经历了云化、混合部署、网络VPC、无盘存储、内核升级、调度系统升级等各种技术演进。但是,Pouch容器运行时使得底层的大部分变化应用是无法感知的,屏蔽了对上层应用的影响。Pouch本身也将其运行时从LXC切换为runC,并将其核心技术反馈给了开源社区。同时,集团也逐步将过去已有的AliDocker实例转为开源的Pouch实现。流程中富容器模式的存在,一方面使得用户和应用可以无缝平滑地切换到容器化,另一方面,各种运维、监控、日志收集等运维系统应用所依赖的也可以基于富容器模式Containerized平滑迁移。但是富容器也有很多缺点。由于一个富容器中可以存在多个进程,并允许应用开发者和运维人员登录容器,这违背了容器的“单一功能”原则,不利于不可变基础设施的技术演进。比如在serverless演进过程中,调度插入的agent进程实际上是独立于应用的,一个容器中功能过多不利于容器的健康检查和弹性。容器化是云原生的必由之路。正是通过这种方式,阿里集团快速完成了容器化这一步,大大加速了云原生的进一步演进。全面容器化之后,云原生的大势已经势不可挡。越来越多的新概念和应用架构在容器生态中成长起来。人们已经看到、接受并拥抱了它,各种运维系统也开始适配云原生架构。第四阶段:Eclectic调度系统和ACK的演进。随着以Kubernetes为代表的容器技术成为云计算的新接口,阿里巴巴自研的Sigma也在不断探索Kubernetes的实现。这导致了从SigmaGovernance到ACK的完全迁移。2018年,集团调度系统开始从内部定制的Sigma向ACK逐步演进,轻量化容器成为重要演进目标。在云原生的浪潮下,集团内部的运维生态也得到了快速的进化。容器轻量级的解决方案是通过KubernetesPod来拆分容器,分离出独立的运维容器,将很多与应用无关的运维流程一一转移到运维容器中。诞生之初,Sigma致力于整合统一阿里集团众多零散的线上资源池。在此基础上,不断探索资源混合的新形态,包括离线混合、离线混合、作业调度、CPUShare、VPA等众多技术。通过提高阿里巴巴集团数据中心的整体资源利用率,带来巨大的成本节约效益。基于全托管免维护的SigmaMaster、大型公共资源池、应用配额服务,提供无服务器资源交付和最佳用户体验。Sigma调度也加速了从T4到Pouch的全面容器化进程。通过自定义Dockerfile标准化容器和透明基础设施Sigma调度引擎的应用开发,业务研发不再需要关心底层运维,工作重心可以专注于业务本身。从Sigma升级到ACK,是希望ACK领先的云产品能力赋能阿里巴巴集团,让Sigma加速享受云计算能力,包括异构资源的统一管理、面向全球化的安全合规等。但实际上,迁移ACK的过程并非一帆风顺:首先,围绕核心控制环节,阿里原有的规模和复杂场景能力,如何将原有庞大存量容器迁移到新平台,容器接口如何兼容影响现有庞大生态系统的升级,实际上会成为演进中的累赘和劣势。高速飞行时更换发动机的难度和解决库存迁移的问题在业界引起了共鸣。其次,性能、多集群运维、安全防御、稳定性等诸多问题,都是全面迁移ACK的挑战。专注于性能,阿里在原生Kubernetes的基础上做了很多优化并回馈社区,比如CacheIndex、WatchBookmark等,构建了一套完整的Kubernetes规模的设施,包括安全防御组件、OpenKruise,以及多集群组件发布能力。等待。围绕“经济体调度=ACK+经济体扩容”的总体思路,将阿里集团内部向ACK迁移过程中的积累沉淀到云端,丰富产品能力,帮助客户形成云端竞争力.至此,阿里集团、阿里云、开源社区形成了非常好的技术协同,自研、商业、开源,三位一体,相辅相成。自研、商用、开源,三位一体互补技术与业务相辅相成,业务为技术提供场景,推动技术进步;技术进步反过来又推动了更好的业务发展。复杂丰富的场景为进一步推动阿里技术的发展提供了天然肥沃的土壤。阿里集团的技术不断进步。过去,阿里率先应用在业界非常领先的中间件、容器、调度等各项技术,将能力沉淀到云产品中交付给客户,帮助企业加速数字化转型,并产生了广泛的领导者。影响。但在新的云原生时代,我们看到了更多挑战,如何在云原生标准下保持这种影响力。上述阿里巴巴容器接口的演进简史,记录了一线阿里巴巴工程师是如何应对这些挑战的。更抽象地说,这些得益于阿里巴巴自研、商用、开源三位一体的云原生技术体系的战略决策。阿里云方面的挑战。过去,阿里云面对的用户大多是普通用户。而阿里巴巴集团内部场景的诉求是解决大规模、超高性能等问题。阿里云产品能否很好地照顾和支持它们?这是一个非常大的挑战。更进一步,如果能够很好地抽象出海量用户的需求,阿里巴巴集团将是一个很好的阿里云“试验场”。组内的小型挑战船容易调头,大型船就没那么灵活了。阿里集团的大规模内部场景,过去在行业内独树一帜,现在是迈向云原生的包袱。问题的根源在于,如何让阿里巴巴集团的技术能够快速融入云原生标准,为云原生标准做出贡献,而不是形成技术孤岛。Challengesandopportunitiesontheopensource开源端的挑战和机遇:阿里云持续投入云原生开源项目的贡献,推出OpenKruise,与微软联合推出OAM、KubeVela等开源项目.沉淀,并通过开源社区用户的反馈,完善阿里云原生实现的方案。以OpenKruise为例。本项目是阿里巴巴打造的基于Kubernetes的面向大规模应用场景的通用扩展引擎。它的开源让阿里云上的每一位Kubernetes开发者和用户都能轻松使用阿里云。内部云原生应用的统一部署和发布能力。当社区用户或外部企业遇到Kubernetes原生工作负载得不到满足的困境时,企业不需要重复一套类似的“轮子”,而是可以选择使用OpenKruise的成熟能力。而且阿里内部使用的OpenKruise和开源社区版本95%以上的代码是完全一致的。我们希望与每一位参与到OpenKruise建设中的云原生爱好者一起,打造一个更完善、更通用的云原生应用加载引擎。云原生操作系统的演进现在,在云原生应用架构的接口层,阿里巴巴集团的技术体系正在全面切入云原生技术和云产品。阿里云为客户提供的云原生操作系统,首先基础设施层是一个强大的IaaS资源,基于第三代神龙架构的计算资源可以更灵活的扩展,提供更高的性能和更高的性能。优化成本;cloud-native分布式文件系统,为容器持久化数据而生;云原生网络加速应用交付能力,提供面向应用的负载均衡和容器网络基础设施。其次,在容器编排层,阿里云容器服务自2015年上线以来,已经在各行业上千家企业客户中进行了大量的生产级场景实践。越来越多的客户正在以云原生方式构建他们的大部分甚至所有应用程序。随着业务的进一步发展,为满足大中型企业对可靠性和安全性的强烈需求,阿里云新推出了可以支付SLA的容器服务于ACKPro的企业版,同时也支持阿里集团内部多款产品落地。容器服务ACKPro版支持更大的集群、更高的性能、更全面的安全防护,满足金融、大型互联网、政企客户的需求。首先,基于神龙架构,软硬件一体化优化设计,提供卓越性能:无损Terway容器网络简化数据链路,相比路由网络延迟降低30%。全球首个支持持久内存实例,相比NVMe,I/O密集型应用TPS提升100%。其次,为异构算力提供高效调度和工作负载优化:智能CPU调度优化,在保证SLA和密度的前提下,Web应用QPS提升30%。支持GPU算力共享,节省50%以上的AI模型预测成本。最后,为企业提供全面的安全防护:支持阿里云安全沙箱容器,满足企业客户对应用的安全隔离需求,性能较开源提升30%。国内首批通过可信云容器安全高级认证,支持运行时风险二级阻断。同时,阿里云全托管托管服务网格ASM正式商用,这是业界首款全托管兼容Istio的服务网格ASM。ASM可以实现对各种异构应用服务的统一管理,提供对云虚拟机、容器、弹性容器实例、IDC应用等异构服务的统一管理,提供全链路可观察性和端到端的安全防护。助您加速企业应用现代化,轻松构建混合云IT架构。阿里云容器服务连续两年国内唯一进入Gartner《公有云容器服务竞争格局》报告;在Forrester首份企业级公有云容器平台报告中,阿里云容器服务StrongPerformer,中国第一。展望云计算的未来是云原生的,容器的新接口是这一演变过程中关键的一小步。向下,新容器接口带来的高密度、高频能力需求,将进一步成熟云计算的端到端优化;向上,Serverless基于新容器接口,新一代中间件,新一代应用PaaS方兴未艾。云原生技术正在成为释放云价值的最短路径。未来,阿里巴巴将继续在云原生技术上进行投入,阿里巴巴的云原生技术不仅会在内部广泛普及,还会通过阿里云服务于全社会。原文链接本文为阿里云原创内容,未经许可不得转载。
