十年前提出去IOE的阿里云,如何做到全球云原生领先?

十年前提出去IOE的阿里云,如何做到全球云原生领先?

(阿里云智能容器平台负责人丁宇)

十年前,阿里云写下第一行代码,从此开辟了中国云计算产业的先河;也是在十年前,当阿里云开始酝酿云计算理念的时候,率先提出了去IOE的思想,即IOE技术无法承载互联网海量规模应用的压力,即使能承载也成本巨高。十年过去了,今天的阿里云已经是世界三大公共云IaaS厂商之一;如今,阿里云再次全面拥抱云原生计算,以世界级的领先态势,再次主导下一波云产业趋势。

阿里云智能总裁张建锋在2019阿里云峰会·上海表示,“今年是一个突破性的时刻,云计算全面替代传统IT的拐点已经到来。”而云原生就是企业上云的关键一环。

广义来说,云原生就是基于云计算模型的应用软件开发与部署方式;具体来说,云原生技术包括了容器、微服务、服务网格、无服务器计算等。过去十年,全球企业开始向以公共云、私有云以及混合云为代表的云计算系统迁移,现在已经从简单的服务器上云和数据上云等向着围绕云计算系统模型重构企业应用的高级阶段发展。Gartner报告指出,到2022年将有75%的全球化企业将在生产环境中使用云原生容器化应用。

中国信息通信研究院指出,云原生技术正加速重构IT开发和运维模式,快速将企业应用构建和部署到与硬件解耦的云平台上,提供了更大的灵活性、弹性和跨云环境的可移植性。云原生技术能够有效解决跨云环境一致性问题,缩短应用交付周期,消除组织架构协作壁垒。阿里云智能容器平台负责人丁宇表示,全面使用云服务构建软件系统时代到来了,未来软件都会长在云上。

丁宇介绍,作为国内最早布局云原生技术的厂商,如今的阿里云已经具备全球最大规模的云原生应用实践、最丰富的云原生产品家族、国内最大的云原生客户群以及最全面的云原生开源贡献。阿里云曾开启了中国的云计算时代,未来将帮助更多企业云上成功。

阿里云云原生的四个“最”

十年前提出去IOE的阿里云,如何做到全球云原生领先?

中国信息通信研究院经过多方面研究,总结云原生的概念为“适合云的应用”和“好用的云架构”。

阿里从2011年开始,就已经开始了云原生方面的尝试和实践,这比行业推广容器还要早几年,并且在早年完成了容器化改造,容器化以后实现了统一调度、混合部署、异地多活、云上可扩展的弹性等,节省双11 75%的成本,同样利用这套技术体系节省了30%日常IT的成本,容器化和云原生对阿里的技术红利非常明显。

目前整个阿里70%的业务完全运行在公共云上,同时也将大力推广和运用云原生技术,未来两年内阿里巴巴集团的业务将100%以云原生的方式运行在公共云上。阿里认为现在是“All in”云的时代,这个过程中积累了大量能力和技术,并把能力和技术沉淀到提供的云原生产品中,从而赋能整个行业客户。

当前,阿里具备国内国内最丰富的云原生产品家族。任何一家企业想要构建或升级自己的IT系统,从而加速数字化转型和核心技术互联网化升级,都需要用到很多组件,也就需要丰富的产品体系支撑,而阿里云则提供包括流程、应用架构、运行托管、可观察性等在内的完整云原生产品体系,可以完全基于云原生体系构建IT系统。现在,阿里云提供了8类20余款产品,可以完整覆盖整个云原生软件构建需求,涵盖底层基础设施、数据智能、分布式应用等全栈技术能力,可以满足不同行业需求。阿里云原生基础设施已经覆盖全球,已经服务了规模最大的云原生客户群体,覆盖了众多的行业以及包括新兴IoT、AI、基因计算、边缘计算等在内的众多场景。

在对云原生领域开源贡献方面,阿里云也是国内最全面的贡献者,8类20个项目涵盖了整个软件生命周期,包括编排调度、作业管理、无服务器框架等,主导维护etcd、containerd、dragonfly等多个CNCF明星项目的发展,已有超过10个项目进入CNCF云原生全景图。阿里云还积极参与Kubernetes 项目,贡献量位居全球前10。而在开源生态社区方面,阿里云已经加入CNCF、OCI、CDF等基金会,成为多个基金会的*会员。2019年1月,阿里云资深技术专家李响成为首个入选全球*开源社区CNCF技术监督委员会(TOC)的中国工程师,致力于推动云原生技术的落地。2019年1月,阿里云成为国内唯一入选Gartner《公有云容器服务竞争格局》报告的企业。

丁宇强调,十年前阿里提出去IOE,如今企业上云已经成为共识,今天阿里云希望帮助企业更全面的使用云原生技术,赋能业务、创造更大的商业价值。

阿里云原生实践

十年前提出去IOE的阿里云,如何做到全球云原生领先?

在阿里云看来,云原生首先可以支持互联网规模应用,可以更加快速地创新、和低成本试错;其次,屏蔽了底层基础架构的差异和复杂性;同时,服务网格、无服务计算等新的计算范式不断涌现,给整体IT架构能力带来了极致弹性,从而更好地服务于业务。用户可以基于阿里云容器服务构建面向不同场景的云原生框架,如面向机器学习的Kubeflow和面向无服务器计算的Knative等等。

阿里从2011年开始通过容器实践云原生技术体系。阿里体量大、业务复杂,推动云原生要找到合适的切入点。在双11规模性和成本压力的推动下,资源成本与效率优化成了阿里云原生的起点。阿里从容器入手,研究低成本虚拟化与调度技术。在资源成本的推动下,阿里完成了全面容器化,并在这个过程中推出了大量成果,PouchContainer是阿里开源的高效、轻量级企业级富容器引擎技术,具有隔离性强、可移植性高、资源占用少等特性,可以帮助企业快速实现存量业务容器化,同时提高超大规模下数据中心的物理资源利用率。

刚开始的时候,阿里内部有着惊人规模的存量业务,如何通过技术快速容器化存量业务,是阿里容器技术当年的重点难题。富容器帮助业务在单个容器镜像中打包业务所需的运维套件、系统服务等,富容器模式下的应用在不改变任何业务代码、运维代码的情况下,像在物理机上一样运行。富容器在保障业务交付效率的同时,在开发和运维层面对应用没有任何的侵入性。在此基础之上PouchContainer也在拥抱开放云原生技术标准, 基于Containerd 提供了企业级的容器运行时实现。

在完成了面向成本优化的资源管理之后,阿里希望通过云原生让开发者效率更高。为了构建更云原生化的 CI/CD,进一步做到标准化和自动化,从研发到上线流程,阿里引入了诸如Helm的应用标准化管理,也尝试了GitOps这样的部署流程。同时,阿里也开始探索服务网格,进一步提高服务治理的普适性与标准性,降低开发者采用门槛,进一步推动微服务在多语言和多环境下的普及。

为了降低应用部署难度,提高部署自动化程度,阿里开始采用Kubernetes作为容器编排平台。基于Kubernetes,阿里持续对研发、部署流程进行改进。在数以万计的集群管理当中,阿里容器平台团队探索并总结了四个让交付更加智能与标准化的方法:Everything on Kubernetes,利用Kubernetes来管理一切,包括Kubernetes自身;应用发布回滚策略,按规则进行灰度发布,也包括发布kubelet本身;将环境进行镜像切分,分为模拟环境和生产环境;在监控侧下功夫,将Kubernetes变得更白盒化和透明化,及早发现、预防并解决问题。

Dragonfly是一个由阿里开源的云原生镜像分发系统,主要解决以Kubernetes为核心的分布式应用编排系统的镜像分发难题。随着阿里业务爆炸式增长,2015年时发布系统日均发布量突破两万,很多应用的机器规模开始破万,发布失败率开始增高,根本原因是发布过程需要大量的文件拉取,文件服务器无法承载大量的请求。如果采用服务器扩容,扩容后又发现后端存储成为瓶颈且扩容成本也非常巨大,而大量来自不同 IDC客户端请求消耗了巨大的网络带宽、造成网络拥堵。同时,阿里大量的应用部署在海外,海外服务器下载要回源国内,浪费了大量的国际带宽而且还很慢;如果传输大文件,网络环境差,失败的话又重来一遍,效率极低。而Dragonfly的系统架构不涉及对容器技术体系的任何改动,可以无缝支持容器具备P2P镜像分发能力,大幅提升文件分发效率。截止2018年底,Dragonfly承载了阿里全集团 90%以上的文件下载任务、日分发峰值达到 1 亿次,100%成功支撑双十一营销活动数据抵达数万台机器,2018 年 11 月正式进入 CNCF沙箱级别项目(Sandbox Level Project)。

2019年6月,阿里云容器平台团队宣布了两个社区项目:Cloud Native App Hub——面向所有开发者的 Kubernetes 应用管理中心,OpenKruise——源自全球*互联网场景的 Kubernetes自动化开源项目集。云原生应用中心为国内开发者提供了一个Helm应用中国镜像站,方便用户获得云原生应用资源,同时推进标准化应用打包格式,并可以一键将应用交付到Kubernetes集群当中,极大简化了面向多集群交付云原生应用的步骤;而OpenKruise项目致力于成为“云原生应用自动化引擎”,解决大规模应用场景下的诸多运维痛点。

总结Kubernetes作为云原生技术的核心,在阿里落地的三个阶段:首先通过Kubernetes提供资源供给,但是不过多干扰运维流程,系统容器为富容器,将镜像标准化与轻量级虚拟化能力带给了上面的PaaS平台;第二步,通过 Kubernetes controller的形式改造PaaS平台的运维流程,给PaaS带来更强的面向终态的自动化能力;最后把运行环境等传统重模式改成原生容器与pod的轻量模式,同时将PaaS能力完全移交给Kubernetes controller,形成一个完全云原生的架构体系。经过不断打磨,阿里在Kubernetes规模与性能上取得了显著成果:存储object的数量提升25倍,支持的节点数从5000提升到上万,端到端调度延迟从5s变为100ms等等。

经过云原生的探索与改造,阿里基础架构体系达到了现代化和标准化。通过智能调度与PaaS平台,让自动迁移应用,修复不稳定因素成为了可能,阿里通过云原生技术大幅降低了上云的难度。

释放云原生红利

十年前提出去IOE的阿里云,如何做到全球云原生领先?

(阿里云容器服务研发总监易立)

阿里云容器服务研发总监易立介绍,阿里云容器服务从2016年5月开始正式商业化,在这个过程中沉淀出核心竞争优势,包括优化整合、极致弹性和海量镜像分发能力。在优化整合方面,阿里云无缝整合超过20款云产品,让开发者和企业可以非常简单的使用云资源;阿里云容器技术与阿里云虚拟化技术进行了充分整合,提高了应用的执行效率。阿里云还提供了丰富全面的应用层和资源层的弹性能力,能够在90秒之内快速伸缩节点,对海量数据处理或者大业务流量都有良好支持,竞价实例可降低70%成本。阿里云可以支持上万节点并发拉取镜像以及镜像全球复制能力,用户只需要推送一次镜像就可以在阿里云18个region进行镜像拉取。阿里云容器服务一直保持非常高速增长的势头,过去三年在规模上保持着400%的增长速度而且还在持续。

接下来,阿里云容器还将从新边界、新范式和新计算三个方向进一步释放云原生技术的红利。新边界,即指的是云原生计算可以对云边端应用进行统一协同,特别是5G时代利用容器技术处理物联网边缘计算、AI实时边缘端预测等。2019年6月,阿里云发布了边缘容器“ACK@Edge”产品,可实现云、边、端一体化的应用分发,支持不同系统架构和网络状况下,应用的分发和生命周期管理,极大简化分布式应用分发的挑战。

新范式指的是全新方式构建、交付和运维应用。阿里云在2019年7月发布了以应用为中心的混合云2.0,可以管理阿里云和用户的私有集群,提供了统一的安全管理、资源感知和监控日志等端到端能力,并在此基础上提供统一资源管理和调度,让用户在跨集群中充分利用云资源实现弹性能力,此外还提供了智能流量治理能力,方便就近访问和故障转移等功能。前面提到的OpenKruise项目源自于阿里巴巴经济体过去多年的大规模应用部署、发布与管理的最佳实践,从不同维度解决了Kubernetes 之上应用的自动化问题,包括部署、升级、弹性扩缩容、QoS调节、健康检查、迁移修复等等。

新计算指利用新架构创造新价值。基因计算是精准医疗的基础但需要海量计算能力,动辄一次提交任务就需要数百T数据处理和计算,阿里云所提供的混合云高性能基因计算解决方案可以充分利用云的弹性能力以及对数据的调度和算法优化,使得像全基因组测序计算时间从30个小时缩短到5个小时,极大提升计算效率、降低计算成本。实时大数据处理已经成为企业数据智能化场景下最重要的计算需求,阿里云即将发布Flink on Kubernetes产品,可以在公共云和专有云以及边缘计算中统一方式进行Flink实时计算能力交付。

目前,阿里云的云原生技术服务了大量互联网、制造、金融、政务等领域企业和机构,拥有国内最大云原生客户群。

工业巨头西门子通过云原生满足了上线周期、扩容、运维等方面的高要求,仅用数月时间就完成了MindSphere基于阿里云平台的开发、部署。互联网超级平台微博的日活用户超过2亿,借助云原生搭建起高效稳定的机器学习平台,分钟级创建上百节点的GPU计算集群、秒级启动大规模分布式AI训练任务。家居行业巨头居然之家在两年前将渲染服务迁移至阿里云,通过云原生等技术服务,降低IT计算成本50%,系统可用性却提高到99.96%。

小程序是云原生应用的典型代表之一。为了进一步推广和提升云原生应用,为开发者释放云原生技术红利,2019年3月,阿里云、支付宝、淘宝、钉钉、高德等联合发布“阿里巴巴小程序繁星计划”,提供20亿元补贴、扶持200万+小程序开发者、100万+商家。阿里云还正式发布了小程序云,打包了一系列阿里云服务,特别是云原生的Serverless函数计算,可以低成本、高效率、快速构建月活百万的小程序应用。

2019年是阿里云十周年,从2009年开始首倡“去IOE”,阿里云就致力于推动中国进入“上好云”时期;而从2019年开始阿里云推出全线云原生产品家族以及大力倡导云原生计算,阿里云在面向未来十年推动中国进入“用好云”阶段。相信随着越来越多的企业从迁移上云到在云端重新构建业务,一个全面数字化的新十年将带来又一波上云高潮,越来越多的企业将转型为软件企业和互联网企业,而数字经济将成为新的经济范式!(文/宁川)

上一篇:蚂蚁金服黑科技:SOFA DTX分布式事务,保障亿级资金操作一致性


下一篇:蚂蚁金服的“野心”:要做新一代世界级金融科技供应商