阿里云李响:阿里巴巴大规模云原生应用是如何实现的?

简介: 6月26日,云原生领域顶级大会KubeCon + CloudNativeCon落下帷幕,作为云原生技术与应用的领先企业,阿里云全面展示了云原生产品家族、开源全景图,让企业、开发者轻松享受云的技术红利。

6月26日,云原生领域顶级大会KubeCon + CloudNativeCon落下帷幕,作为云原生技术与应用的领先企业,阿里云全面展示了云原生产品家族、开源全景图,让企业、开发者轻松享受云的技术红利。

如今,阿里云已经成为国内云原生领域开源贡献最全面的科技公司,涵盖编排调度、作业管理、无服务器框架等:

●主导维护etcd、containerd、dragonfly等多个CNCF明星项目的发展,已有超过10个项目进入CNCFlandscape;
●项目建设层面:积极建设Kubernetes项目,贡献量位居全球前10;
●开源生态支持:加入CNCF、OCI、CDF等基金会,成为多个基金会的顶级会员,共建开源生态。

大会期间,阿里云资深技术专家、中国首个CNCF TOC李响分享了阿里巴巴探索云原生技术的经验,以及应对云原生应用落地挑战的方法。

CNCF_TOC_1

大规模实践是云原生落地的必经之路

云原生是一种全新的理念,也是一套涉及整个IT技术栈协同的方法论,单纯的产品研发远远不够,只有经历了大规模的场景实践才实现到全方位的效率提升,并实现落地。

十年前,阿里巴巴先于其它公司遇到了大规模流量的挑战,于是决定升级IT架构,并开始通过容器实践云原生技术体系解决流量压力。在整个业界都还没有任何范例可供参考的大背境下,逐渐摸索出了一套比肩全球一线技术公司并且服务于整个集团的容器化基础设施架构,开启了中国公司将云原生技术体系在电商、金融、制造等领域中大规模应用的先河。

这个探索历程虽然孤独,但却被始终如一的坚持至今。正是在这个孤注一掷的技术探索与奋进的过程中,完整的经历了云原生技术浪潮里的所有关键节点,不仅成为了这次技术革命的重要见证者,也逐渐成为中国云原生技术体系当之无愧的推动者与引领者之一。

毫无疑问,阿里巴巴的互联网规模以及复杂业务场景是推动云原生的天然优势,在双11成本压力的推动下,资源成本与效率优化成了云原生的起点。也就是从容器入手,研究低成本虚拟化与调度技术:

  • 提供灵活、标准的部署单元;
  • 将静态资源分配更换为动态按需调度,进一步提升部署效率,解决资源碎片化问题,提高部署密度;
  • 通过存储网络虚拟化和存储计算分离等技术,增强任务的可迁移性,进一步提高了资源的可靠性,降低了资源成本。

在资源成本的推动下,阿里完成了全面容器化,资源分配也被高效调度平台接管。而阿里的云原生并未止步于此,提高研发效率与加快迭代周期是推动阿里业务增强的秘密武器。

为了降低应用部署难度,提高部署自动化程度,阿里开始采用 Kubernetes 作为容器编排平台,并且持续推动 Kubernetes 的性能与可扩展性,引入了诸如 Helm 的应用标准化管理,与此同时,也开始探索服务网格,致力于进一步提高服务治理的普适性与标准性,降低开发者使用门槛。

今年3月,阿里云智能总裁张建锋宣布阿里巴巴集团未来两年内实现全站上云。经过云原生的探索与改造,如今阿里基础架构体系是现代化和标准化的。

  • 利用容器技术,应用与宿主机运行时完成了解耦;
  • 利用 Kubernetes 对 Pod 与 Volume 等的抽象,完成了对多种资源实现的统一化;
  • 通过智能调度与 PaaS 平台,让自动迁移应用,修复不稳定因素成为了可能,阿里通过云原生技术大大降低了上云的难度。

在提高资源和人员效率的过程中,整个基础设施也变得更加开放,连通开源生态,在交流互动中不断吸收和贡献好的理念、技术、思想。如今,阿里云不仅支撑着中国最大的云原生应用双11,而且拥有国内最大的公共云集群和镜像仓库。作为唯一入选 Gartner 的公有云容器服务竞争格局的厂商,阿里云也积累了最为丰富和宝贵的客户实践。

_KubeCon_1

持续优化,提升企业和开发者效率

弹性和规模性是支撑阿里巴巴各种类型的复杂场景以及流量高峰的关键因素。阿里巴巴持续优化性能,可以分为四个维度:工作负载追踪、性能分析、定制化调度、大规模镜像分发。首先对工作负载调度有完整的追踪、重放机制,其次将所有性能问题的进行细致分析,逐一攻克技术瓶颈。

经过不断打磨,阿里巴巴在 Kubernetes 规模与性能上取得了显著的成果:将存储object 的数量提升25倍,支持的节点数从5000提升到上万,在端到端调度延迟从5s变为100ms等。

其中有不少工作和社区共同开展,而这些研发成果都已经贡献给社区,其他企业及开发者也可以享受阿里巴巴规模带来的技术红利。

Kubernetes 本身的可定制性很强,阿里巴巴针对自身业务场景沉淀了定制化的调度能力和镜像分发系统,例如开源Dragonfly 项目脱胎于双11,具备极强的镜像分发能力。

整体来说,阿里巴巴落地 Kubernetes 可以分为三个阶段:

  • 首先通过 Kubernetes 提供资源供给,但是不过多干扰运维流程,这个系统容器是富容器,将镜像标准化与轻量级虚拟化能力带给了上面的 PaaS 平台。
  • 第二步,通过 Kubernetes controller 的形式改造PaaS 平台的运维流程,给 PaaS 带来更强的面向终态的自动化能力。
  • 最后把运行环境等传统重模式改成原生容器与 pod 的轻量模式,同时将 PaaS 能力完全移交给Kubernetes controller,从而形成一个完全云原生的架构体系。

企业如何应对云原生落地的挑战?

阿里巴巴云原生的探索,起步于自研容器和调度系统,到如今拥抱开源的标准化技术。目前,Kubernetes已经成为云原生生态的中流砥柱,它不仅向下屏蔽了底层细节,而且向上支撑各种周边业务生态;另一方面,社区中有着越来越多围绕 Kubernetes 构建的开源项目,比如Service Mesh、Kubeflow。

但云原生技术架构演进中也存在不少挑战,最为艰难的挑战其实来自于 Kubernetes 本身的管理。因为 Kubernetes 相对年轻,其自身的运维管理系统生态尚不完善。对于阿里而言,数以万计的集群管理至关重要,我们探索并总结了四个方法:

  • Kubernetes on Kubernetes,利用 K8s 来管理 K8s 自身;
  • 节点发布回滚策略,按规则要求灰度发布;
  • 将环境进行镜像切分,分为模拟环境和生产环境;
  • 并且在监控侧下足功夫,将Kubernetes 变得更白盒化和透明化,及早发现问题、预防问题、解决问题。

此次 KubeCon 大会上,阿里云重磅公布了两个项目:Cloud Native App Hub —— 面向所有开发者的 Kubernetes 应用管理中心,OpenKruise —— 源自全球顶级互联网场景的 Kubernetes 自动化开源项目集。

云原生应用中心(Cloud Native App Hub)方便用户获得应用资源,并大大简化了 Kubernetes 部署安装一个应用的步骤;OpenKruise/Kruise 项目致力于成为“云原生应用自动化引擎”,解决大规模应用场景下的诸多运维痛点。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
2月前
|
Cloud Native 安全 物联网
云原生技术在现代软件开发中的应用与挑战####
云原生,这一词汇如同一股强劲的科技风暴,席卷了整个信息技术领域,它不仅重塑了软件的开发模式,还引领了一场关于效率、可扩展性和弹性的深刻变革。本文旨在深入探讨云原生技术的核心概念,分析其在现代软件开发中的广泛应用,并直面伴随其发展而来的挑战,为读者勾勒出一幅既充满机遇又不乏考验的云原生技术图景。 ####
|
11天前
|
监控 Cloud Native 持续交付
云原生技术在现代企业中的应用与实践
本文将深入探讨云原生技术如何改变现代企业的运作模式,提升业务灵活性和创新能力。通过实际案例分析,我们将揭示云原生架构的关键要素、实施步骤以及面临的挑战,为读者提供一套清晰的云原生转型指南。
|
18天前
|
Kubernetes Cloud Native 持续交付
云原生技术在现代软件开发中的应用与挑战
【10月更文挑战第37天】随着云计算技术的不断演进,云原生技术已经成为推动软件开发现代化的重要力量。本文将深入探讨云原生技术的核心概念、优势以及面临的挑战,并通过一个实际的代码示例,展示如何在云原生环境中部署一个简单的应用。我们将从云原生的基础架构出发,逐步引导读者理解其在现代软件开发中的关键作用。
28 1
|
19天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 10 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
2月前
|
运维 监控 Cloud Native
构建行业应用生态:云原生应用市场简化企业软件安装
在移动互联网时代,尽管手机应用市场为用户带来了极大的便利,但企业级软件的安装和管理仍面临诸多挑战,包括安装复杂、交付效率低、应用兼容性差等问题。为此,基于云原生技术的企业级应用市场Rainstore应运而生,旨在简化企业软件的安装和管理,提升交付效率,增强应用兼容性,支持远程管理和个性化定制,构建开放的行业应用生态,助力企业数字化转型。
构建行业应用生态:云原生应用市场简化企业软件安装
|
1月前
|
敏捷开发 Cloud Native 持续交付
云原生技术在现代企业中的应用与实践
【10月更文挑战第23天】本文将深入探讨云原生技术在现代企业中的广泛应用,并结合具体案例分析其对企业数字化转型的推动作用。我们将从云原生技术的基本原理出发,逐步揭示其在提高业务敏捷性、降低成本和增强系统可靠性方面的优势。同时,文章还将分享一系列成功实施云原生技术的企业案例,为读者提供实践中的参考和启示。最后,我们将讨论云原生技术面临的挑战及未来的发展趋势,为企业在这一领域的进一步探索提供指导。
|
1月前
|
Cloud Native 持续交付 云计算
云原生技术深度探索:构建现代化应用的基石####
【10月更文挑战第21天】 本文将深入探讨云原生技术的核心概念、关键技术及其在现代软件开发中的应用。我们将从容器化、微服务架构、持续集成/持续部署(CI/CD)、无服务器架构等关键方面展开,揭示这些技术如何共同作用,帮助企业实现高效、弹性且易于维护的应用部署与管理。通过实例分析,展现云原生技术在实际项目中的显著优势,为读者提供一套全面理解并应用云原生技术的指南。 ####
34 2
|
2月前
|
运维 Cloud Native 持续交付
云原生技术在现代IT架构中的深度应用与挑战####
【10月更文挑战第17天】 本文深入剖析了云原生技术的精髓,探讨其在现代IT架构转型中的核心作用与面临的挑战。云原生不仅是一种技术实现,更是企业数字化转型的重要推手,通过容器化、微服务、持续集成/持续部署(CI/CD)等关键要素,重塑软件开发、部署与运维模式。文章首先概述了云原生的基本原则与核心组件,随后分析了其如何促进企业敏捷性、可扩展性和资源利用率的提升,同时也指出了在安全性、复杂性管理及人才技能匹配等方面存在的挑战,并提出了相应的对策建议。 ####
68 6
|
2月前
|
运维 监控 Cloud Native
云原生技术在现代企业中的应用与挑战####
【10月更文挑战第15天】 本文深入探讨了云原生技术如何重塑企业的IT架构,并分析了其带来的机遇与面临的挑战。通过案例分析,揭示了云原生技术在提升业务敏捷性、降低运维成本方面的显著优势,同时也指出了在安全性、多云管理等方面的潜在难题,为企业决策者提供了有价值的参考。 ####
27 3
|
2月前
|
运维 Cloud Native 数据可视化
阿里云云原生应用组装平台BizWorks满分通过最新评估
阿里云BizWorks满分通过《基于云计算的业务组装平台能力成熟度模型》评测,获得优秀级(最高等级),广东移动联合阿里云BizWorks团队开展的组装式应用实践获得第三届“鼎新杯”数字化转型应用优秀案例一等奖。
203 3