云原生应用万节点分钟级分发协同实践

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 本文将介绍容器镜像服务如何通过提升产品能力来应对云原生应用万节点分发场景下的新发展和新挑战。

本文节选自《不一样的 双11 技术:阿里巴巴经济体云原生实践》一书
作者
谢于宁(予栖) 阿里云容器服务高级开发工程师
罗晶(瑶靖) 阿里云容器服务高级产品经理
邓隽  阿里云容器服务技术专家

导读:2019 年天猫 双11,阿里巴巴核心系统首次实现 100% 上云。面对全球最大的交易洪峰,阿里云扛住了每秒 54.4 万笔的交易峰值,这是“云原生”与“天猫全球狂欢节”的一次完美联名。

1.png

(图为 2019 年天猫 双11 成交额)

容器镜像服务作为阿里巴巴经济体云原生领域的重要基础设施之一,早在 双11 备战期间就已面临大规模分发需求。为了更好地支持这一需求,产品提前进行规划及迭代更新,全面提升了大规模分发场景下的性能、可观测性和稳定性。在新的 双11 来临前,容器镜像服务新增了数 PB 的镜像数据,月均镜像拉取达数亿次。同时产品提供了云原生应用交付链等功能,全面覆盖阿里巴巴经济体及云上用户在云原生时代的使用需求。

本文将介绍容器镜像服务如何通过提升产品能力来应对云原生应用万节点分发场景下的新发展和新挑战。

新发展和新挑战

随着云原生技术的迅速普及,Kubernetes 已经成为事实上应用容器化平台的标准,成为了云原生领域的“一等公民”。

Kubernetes 以一种声明式的容器编排与管理体系,让软件交付变得越来越标准化。Kubernetes 提供了统一模式的 API,能以 YAML 格式的文件定义 Kubernetes 集群内的资源。这一些 YAML 格式的资源定义使得 Kubernetes 能轻松被上下游系统所集成,完成一系列原本需要用非标准化脚本、人工来完成的操作。同时社区根据应用交付场景及需求,在原生 YAML 格式的资源定义文件之外衍生出了更多系列的云原生应用交付标准,例如 Helm Chart、Opeartor、Open Application Model 等。

2.png

(图为云原生应用交付标准演进)
除了云原生应用交付标准推陈出新,用户对交付方式也提出了更高的要求。越来越多的用户期望能以流程化、自动化、更安全的方式交付云原生应用,因此单纯的万节点分发场景已经演化成万节点分钟级多环节协同分发。再加上全球化业务发展,这意味着在分钟级时间内完成各个环节之后,还需再完成全球化分发,这对支撑云生应用分发的平台提出了更高的要求。

新实践

通过控制容器镜像大小、采用 P2P 分发镜像层、优化 Registry 服务端等方式,我们极大优化了大规模分发的性能,最终达成了万节点分钟级分发的目标:

  • 优化容器镜像大小,降低镜像传输成本

    • 制作基础镜像,将使用频繁的应用或环境制作成基础镜像复用,尽可能减少镜像的层数,控制每次变更层数
    • 采用多阶段镜像构建,将镜像制作过程中的中间产物与最终产物分离,形成最精简的应用镜像
  • 优化服务端处理性能,提高请求响应速率

    • 服务端通过识别热点镜像,采用热点数据缓存等多种方式应对大规模镜像 Manifest 并发拉取
  • 优化客户端容器镜像层下载方式,减少镜像传输时间

    • 客户端使用蜻蜓下载容器镜像, 基于 P2P 方式大幅减少镜像 Layer 下载时间

3.png

(图为镜像大规模分发的优化策略)
为了让拥有同样需求的企业客户能够享受到如上一致的分发能力和体验,容器镜像服务产品在 2019 年 3 月正式推出了容器镜像服务企业版(ACR Enterprise Edition)。容器镜像服务企业版提供了企业级云原生资产托管能力以及云原生应用全球化同步、大规模分发能力,适合有着高安全需求、多地域业务部署、拥有大规模集群节点的企业级容器客户。除此之外,容器镜像服务企业版还在云原生资产托管交付分发等几个方面进一步提升云原生应用万节点分钟级分发协同体验。

云原生应用托管

  • 在应用交付物层面,容器镜像服务企业版目前支持容器镜像Helm Chart 两类云原生应用资产的全生命周期管理;
  • 在访问安全层面,产品提供了独立网络访问控制功能,可以细粒度控制公网及 VPC 网络的访问策略,仅允许符合策略的来源方访问资产,进一步保障云原生资产的访问安全;
  • 在访问体验层面,产品提供容器集群透明拉取插件,支持容器镜像透明拉取,保障业务在弹性场景极速拉取镜像,不因凭证配置有误导致业务更新或扩容异常。

4.png

(图为容器镜像服务企业版支持云原生应用交付)

云原生应用交付

云原生应用生产环节,用户可以直接上传托管容器镜像、Helm Chart 等云原生资产;也可以通过构建功能自动从源代码(Github、阿里云 Code、GitLab 等来源)智能构建成容器镜像。同时为了解决流程化、自动化、更安全的方式交付云原生应用这一需求,容器镜像服务企业版引入了云原生应用交付链功能。云原生应用交付链以云原生应用托管为始,以云原生应用分发为终,全链路可观测、可追踪、可自主设置。可以实现一次应用变更,全球化多场景自动交付,从流程层面极大地提升了云原生应用万节点分发的效率及安全性。

5.png

(图为控制台创建云原生应用交付链)
云原生应用交付环节,支持自动发起静态安全扫描并自定义配置安全阻断策略。一旦识别到静态应用中存在高危漏洞后,可自动阻断后续部署链路。用户可基于漏洞报告中的修复建议,更新优化构建成新的镜像版本,再次发起交付。

云原生应用分发

云原生应用分发环节,当前置环节完成无阻断后,云原生应用正式进入全球化分发及大规模分发环节。为了保障万节点分钟级分发协同完成,容器镜像服务联合容器服务、弹性容器实例等云产品提供了端到端的极致分发体验。针对全球化分发,由于基于细粒度同步策略调度、同步链路优化等优化手段,云原生应用的全球同步效率相比手动同步提升了 7 倍

6.png

(图为云原生应用的全球化分发)

在 P2P 大规模分发方面,产品针对云环境多次优化基于 Dragonfly 的分发方案,最终通过多个创新技术解决了大规模文件下载以及跨网络隔离等场景下各种文件分发难题,大幅提高大规模容器镜像分发能力。平均镜像大规模分发效率比普通方式提高数倍,适用于容器集群单集群节点数达 100 及以上的场景。

7.png

(图为基于 P2P 的分发流程示意)
除了 P2P 大规模分发手段外,为了更好地满足特定场景下的大规模分发需求,产品还支持基于镜像快照的大规模分发方式。基于镜像快照的分发方式,可避免或减少镜像层的下载,极大提高弹性容器实例创建速度。在容器集群(ASK)及弹性容器实例(ECI)的联合使用场景下,产品可以支持 500 节点秒级镜像拉取,实现业务突发场景下极速扩容。

新平台

在功能及性能指标满足云原生应用万节点分钟级分发协同需求外,容器镜像服务还对平台能力进行了提升和优化,保障了分发过程的可观测性及稳定性。同时平台提供了集成能力,进一步延展云原生应用分发的使用场景和价值。

稳定性

稳定性层面的具体提升及优化工作从监控报警、容错容灾、依赖治理、限流降级、容量规划等几个方面展开。

  • 在依赖治理方面,平台对云原生应用交付链中的相关重点环节及外部依赖进行统一管理,提升交付链整体交付能力,帮助用户识别热点仓库及追踪交付链执行结果;
  • 在限流降级方面,平台分析识别云原生应用分发核心环节的主次业务功能,优先保障主要业务逻辑完成,次要业务逻辑可降级延后处理;
  • 在容量规划方面,平台根据上下游业务变化情况,对资源进行按需扩容,确保云原生应用正常交付完成。

8.png

(图为平台的稳定性保障策略)

生态集成

基于平台提供的丰富的集成能力,用户还可以将容器镜像服务企业版作为云原生资产托管及分发的基础设施,为他们的用户提供云原生应用分发能力。

其中,容器镜像服务企业版支撑阿里云云市场构建容器应用市场,支撑容器应用市场的容器商品托管及商业化分发,构建云上云原生生态闭环。ISV 服务商,例如 Intel、Fortinet、奥哲,将容器化商品以容器镜像或者 Helm Chart 的形式在云市场快速上架,实现标准化交付、商业化变现。市场客户也可以从容器应用市场获取到优质的阿里云官方及 ISV 容器镜像,快速部署至容器服务容器集群,享受到阿里云丰富的云原生生态。

9.png

(图为容器应用市场流程示意)

写在最后

从支持阿里巴巴 双11 大规模分发需求,到全面覆盖阿里巴巴经济体及云用户的云原生资产托管及分发需求,再到支撑构建云上容器生态闭环,阿里云容器镜像服务已成为了云原生时代的核心基础设施之一,释放云原生价值的重要加速器。容器镜像服务也将持续为用户带来更加优异的云原生应用分发功能、性能及体验。

10.png

本书亮点

  • 双11 超大规模 K8s 集群实践中,遇到的问题及解决方法详述
  • 云原生化最佳组合:Kubernetes+容器+神龙,实现核心系统 100% 上云的技术细节
  • 双 11 Service Mesh 超大规模落地解决方案

阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术圈。”

相关实践学习
通过workbench远程登录ECS,快速搭建Docker环境
本教程指导用户体验通过workbench远程登录ECS,完成搭建Docker环境的快速搭建,并使用Docker部署一个Nginx服务。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
27天前
|
Cloud Native 数据处理 云计算
探索云原生技术在大数据分析中的应用
随着云计算技术的不断发展,云原生架构作为一种全新的软件开发和部署模式,正逐渐引起企业的广泛关注。本文将探讨云原生技术在大数据分析领域的应用,介绍其优势与挑战,并探讨如何利用云原生技术提升大数据分析的效率和可靠性。
|
28天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【2月更文挑战第31天】 随着数字化转型的加速,云原生技术已经成为推动企业IT架构现代化的关键力量。本文深入探讨了云原生架构的核心组件、实施策略以及面临的主要挑战。通过分析容器化、微服务、DevOps和持续集成/持续部署(CI/CD)等关键技术,揭示了如何利用这些技术实现敏捷性、可扩展性和弹性。同时,文章还讨论了企业在采纳云原生实践中可能遇到的安全性、复杂性和文化适应性问题,并提供了解决这些问题的策略和建议。
|
10天前
|
Cloud Native 安全 开发者
云原生技术的未来演进与应用展望
【4月更文挑战第9天】 随着企业数字化转型的不断深入,云原生技术以其独特的弹性、敏捷性和可扩展性成为推动创新的重要力量。本文将探讨云原生技术的发展趋势,分析其在各行各业中的应用前景,并针对未来的挑战提出相应的对策和建议。我们还将讨论如何利用云原生技术优化资源配置,提高业务连续性,并最终实现企业的技术升级和价值增长。
|
28天前
|
运维 Cloud Native 云计算
未来趋势:云原生技术在后端开发中的应用
随着云计算技术的快速发展,云原生技术作为一种新兴的软件架构理念,在后端开发领域日益受到关注。本文将探讨云原生技术的基本概念、优势以及在后端开发中的应用,展望未来云原生技术对于软件开发的影响和发展趋势。
|
6天前
|
Kubernetes 监控 Cloud Native
构建高效云原生应用:基于Kubernetes的微服务治理实践
【4月更文挑战第13天】 在当今数字化转型的浪潮中,企业纷纷将目光投向了云原生技术以支持其业务敏捷性和可扩展性。本文深入探讨了利用Kubernetes作为容器编排平台,实现微服务架构的有效治理,旨在为开发者和运维团队提供一套优化策略,以确保云原生应用的高性能和稳定性。通过分析微服务设计原则、Kubernetes的核心组件以及实际案例,本文揭示了在多变的业务需求下,如何确保系统的高可用性、弹性和安全性。
11 4
|
17天前
|
人工智能 Cloud Native 物联网
探索云原生技术的发展趋势与应用前景
在当今数字化时代,云原生技术已经成为企业数字化转型的核心驱动力之一。本文将深入探讨云原生技术的发展趋势和应用前景,分析其在大数据、人工智能、物联网等领域的应用,并探讨未来可能的发展方向。
11 1
|
21天前
|
运维 Cloud Native 云计算
云原生技术在企业信息化中的应用与挑战
随着云计算技术的快速发展,云原生技术作为一种新兴的应用方式,正逐渐成为企业信息化转型中的热门话题。本文将探讨云原生技术在企业信息化中的应用现状、优势以及面临的挑战,并结合具体案例分析其实际效益和发展趋势。
15 3
|
25天前
|
消息中间件 Cloud Native 网络安全
云原生最佳实践系列 3:基于 SpringCloud 应用玩转 MSE
该文档介绍了基于云原生应用的产品构建的微服务架构实践。
|
25天前
|
运维 Cloud Native 云计算
云原生技术的发展与应用前景
随着云计算技术的快速发展,云原生技术作为一种新兴的技术范式,正在逐渐引起人们的关注。本文将从云原生技术的概念、特点及其在实际应用中的优势等方面进行阐述,并探讨云原生技术在未来的发展前景。
|
27天前
|
运维 监控 Cloud Native
探索云原生应用在企业数字化转型中的关键作用
随着数字化转型的深入,企业对于云原生应用的需求与日俱增。本文将探讨云原生应用在企业数字化转型中的关键作用,分析其优势和挑战,并提出相关解决方案,助力企业实现更高效、灵活的运作。
13 4