开放下载!《阿里巴巴云原生实践 15 讲》揭秘九年云原生规模化落地之路

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 在云的趋势下,越来越多的企业开始将业务与技术向“云原生”演进。

image.png

以容器、服务网格、微服务、Serverless 为代表的云原生技术,带来一种全新的方式来构建应用。同时,云原生也在拓展云计算的边界,一方面是多云、混合云推动无边界云计算,一方面云边端的协同。在云的趋势下,越来越多的企业开始将业务与技术向“云原生”演进。

在这个演进过程中,企业都或多或少都面对一些困惑与挑战,其中如何将应用和软件向 Kubernetes 体系进行迁移、交付和持续发布是一个普遍的难题。

阿里巴巴从 2011 年开始通过容器实践云原生技术体系,在整个业界都还没有任何范例可供参考的大背境下,从最初独自摸索到拥抱开源回馈社区,阿里巴巴逐渐摸索出了一套比肩全球一线技术公司并且服务于整个阿里集团的容器化基础设施架构。九年的前行,让阿里巴巴在交流互动中不断吸收和贡献好的理念、技术、思想,也积累了最为丰富和宝贵的实践经验。

2019年6月24日至6月26日,在由 Cloud Native Computing Foundation (CNCF) 主办的云原生顶级技术大会 KubeCon + CloudNativeCon + Open Source Summit(上海 )上,阿里巴巴为全球企业和开发者分享了26场实践经验、行业趋势和技术演讲。我们筛选了其中15场有代表性的演讲进行重新编排,整理成书《阿里巴巴云原生实践 15 讲》,旨在全面揭秘阿里巴巴云原生之路上的探索与实践,为准备踏上云原生之旅的开发者,提供一些实践参考。

你为什么要读这本书?

在云原生领域,开发者的诉求和使用方法永远是丰富的、复杂的、多样的。在这种背景下,短时间内很难有技术能够大一统地解决开发者面临的所有问题,阿里巴巴内部对云原生的探索也一直在进行中。从外向内引入社区技术,让阿里巴巴的基础设施完成了一次自我升级,并变得更加开放标准;从内向外的输出,对社区提出有价值的代码,推动整个云原生社区向更大规模的方向演进。

本书整合阿里巴巴九年云原生技术沉淀,分析真实的技术案例,发现问题,理清思路,解决问题,总结方法,把自我成长和专业精进的技术养料,回馈给广大云原生开发者。本书包含3个系列,阿里云原生实践,阿里新技术方案及阿里开源贡献,共 16 篇文章。每篇文章都凝结着阿里巴巴云原生落地实践的宝贵经验和面对困惑的解决方法,相信能够在最短的时间内,帮助你全面了解阿里巴巴云原生实践经验,踏上最适合自己的云原生之路。

image.png

本书目录

书中精彩干货集合

《坚持探索与落地开源,阿里巴巴云原生之路全景揭秘》

阿里云已经成功地规模化落地云原生,本文将分享阿里巴巴具体的云原生实践经验分享给各位观众,涉及规模扩展、可靠性、开发效率、迁移策略等方面,并探讨针对大规模场景进行优化。Cloud native works for Alibaba. Cloud native works for (almost) everyone.

《1-5-10:如何快速恢复大规模容器故障》

在云时代,企业中基于容器的应用激增,由于人工操作、硬件故障等,发生容器故障的可能性大幅增加。因此,如何在不增加资源投入的情况下保证大规模容器的可靠性成为云平台面临的一个巨大挑战。阿里巴巴运行着数百万个容器,为恢复容器相关故障提出了 1-5-10 理论:MTTD(平均检测时间)为 1 分钟,MTTI(平均识别时间)为 5 分钟,MTTR(平均解决时间)为 10 分钟。我们将讨论如何利用 1-5-10 提高大规模容器的可靠性:

如何在本地建立一个有效代理,在 1 分钟内检测到问题;

如何借助专家知识库智能诊断容器问题;

如何以故障驱动型方式自动恢复容器问题。

《阿里巴巴利用 K8S、Kata 容器和裸机云构建无服务器》

无服务器计算是当前流行的计算形式,极大降低了开发人员部署、管理、运行应用的成本。在无服务器平台中,不同用户的服务通常混部在同一个节点上,为此,需要在多租户场景下提供可信的运行环境。在阿里巴巴,我们使用 Kata Containers 作为安全容器运行时,在存储、网络、硬件等层面确保多租硬隔离和服务运行时的性能。文章将根据我们的生产实践,详细讨论多租场景下如何实现硬多租和服务运行的高性能。

《CafeDeployment:为互联网金融关键任务场景扩展的 Kubernetes 资源》

Kubernetes 原生社区 Deployment 和 StatefulSet 解决了“服务节点版本一致性”的问题,并且通过 rolling update 实现了滚动升级,提供了基本的回滚策略。对于高可用建设要求不高的“年轻”业务,是一个不错的选择。但是,在金融场景下,要解决的场景复杂得多,因此,我们在金融分布式架构-云应用引擎( SOFAStack-CAFE )中提出了 CafeDeployment 的云原生模型,致力于解决,IP 不可变;金融体系下的高可用;灵活的部署策略的问题。

在面对以上这些问题的时候,我们思考:能不能有一个类似 Deployment 的东西,不仅可以实现副本保持,而且还能协助用户管控应用节点部署结构、做 Beta 验证、分批发布,减少用户干预流程,实现最大限度减少发布风险的目标,做到快速止损,并进行修正干预。本篇文章中将详细解释我们为什么选择定义了自己的 CRD——CafeDeployment 。

《Severless 市场观察和落地挑战》

KubeCon China 2019 大会上, 蚂蚁 SOFAStack CAFE Serverless 应用服务(SAS)正式亮相,在工作坊吸引了百余名参与者同场体验。Serverless 将资源管理的粒度更加细化,使开发者更快上手云原生,并且倡导事件驱动模型支持业务发展。从而帮助用户解决了资源管理复杂、低频业务资源占用等问题;实现面向资源使用,以取代面向资源分配的模式。

《有效可靠地管理大规模 Kubernetes 集群》

Kubernetes 以其超前的设计理念和优秀的技术架构,在容器编排领域拔得头筹。越来越多的公司开始在生产环境部署实践 Kubernetes,在阿里巴巴和蚂蚁金服 Kubernetes 已被大规模用于生产环境。Kubernetes 的出现使得广大开发同学也能运维复杂的分布式系统,它大幅降低了容器化应用部署的门槛,但运维和管理一个生产级的高可用 Kubernetes 集群仍十分困难。本文将分享蚂蚁金服是如何有效可靠地管理大规模 Kubernetes 集群的,并会详细介绍集群管理系统核心组件的设计。

《云原生应用 Kubernetes 监控与弹性实践》

云原生应用的设计理念已经被越来越多的开发者接受与认可,而 Kubernetes 作为云原生的标准接口实现,已经成为了整个 stack 的中心,云服务的能力可以通过 Cloud Provider 、 CRD Controller 、 Operator 等等的方式从 Kubernetes 的标准接口向业务层透出。开发者可以基于 Kubernetes 来构建自己的云原生应用与平台, Kubernetes 成为了构建平台的平台。本文将向大家介绍一个云原生应用该如何在 Kubernetes 中无缝集成监控和弹性能力。

《了解 Kubernetes Master 的可扩展性和性能》

目前,Kubernetes 的规模限制是 5k 节点,因此如果您想用它来管理像 10k 节点这样的 Web 规模集群,您可能无法实现。您是否想知道 Kubernetes 管理超过 5k节点的性能瓶颈是什么?当你想将其可扩展性扩展到一个新的水平时,是哪个组件阻碍?etcd,apiserver 或者 scheduler?了解这些问题是运营大型 Kubernetes 集群的关键。在阿里巴巴,我们遇到了很多问题,比如随着集群变得越来越大,pod 创建变得非常慢。本文将分享我们如何进行各种基准测试和分析,并找到瓶颈,以及如何调整控制组件,并实现了超过 100 倍的性能提升。

《云原生时代加速镜像分发的三种方法》

本文将分享从阿里巴巴网络规模提高镜像分发效率的实践和经验教训。根据不同的场景,我们利用不同的镜像分发方法。基于 P2P 的 CNCF/Dragonfly 分发是缓解镜像中心带宽和减少分发时间的最直接方式。此外,CNCF/containerd 中的远程文件系统快照程序直接远程存储镜像,使容器引擎通过网络读取镜像内容,几乎不需要时间分发。你会发现第二种方式依赖于网络稳定性,那么如何根据镜像内容读请求动态加载从远程到本地存储的镜像作为权衡?最后,我们将总结如何选择适合镜像分布的方式。

《在 Web 级集群中动态调整 Pod 资源限制》

阿里巴巴这样规模庞大的全球电商巨头,其所拥有的应用数量和应用种类的都是超大规模的。如何科学合理管理这些容器的资源,一直是我们面临的巨大挑战。在本文中,我们将从技术和社区演进等多种维度为大家分享我们的实际工作经验和技术成果。其中包括:

  • 目前社区对于容器的资源管理现状是什么?
  • 阿里这种大规模应用部署的具体挑战是什么?
  • 我们如何诊治资源管理上的各种疑难杂症?
  • 我们如何做到资源利用率大幅提升的同时确保在线服务稳定?
  • 如何平衡基于云原生的演进和实现工作快速交付?
  • 我们的经验可以为您带来什么帮助以及我们如何反馈社区做到共赢?

《大规模 K8s 集群下的巡检》

众所周知,准确的异常发现和快速的问题分析是保证 Kubernetes 集群可用性和稳定性的关键所在。但在整个 Kubernetes 项目中,有着不计其数的监控指标数据。仅以我们的 Kubernetes 集群为例,我们观察到像这样的监控数据每秒钟就会产生几千条。如何合理地利用这些复杂而大量的数据和指标,对它们进行有效的记录和分析,变成简单易懂的可视化展示,变成准确的告警信息,是一个非常有挑战性的工作。

本文将分享阿里巴巴在 Kubernetes 集群监控、审计和巡检方面的实践和经验。谈谈 Kubernetes 与稳定性相关的重要数据和指标,以及如何去理解它们。以案例的形式,具体讲解我们如何对这些数据和指标进行整合与解析,并分享阿里巴巴高效、实时的对这些数据进行自动化巡检与分析的最佳实践。

《使用 Istio 管理跨地域多集群的服务》

“职优你”是一个电子学习职业发展平台,旨在满足全球学生和在职专业人士的各种需求,并为来自世界多个地区的用户提供服务。这些应用部署于在阿里云的不同区域上的多个 Kubernetes 集群上,以减少不同区域内的服务访问延迟。为了有效地管理这些微服务,需要一个多集群服务网格来控制微服务流量、保证服务到服务通信等。

Istio 是一个建立在 Kubernertes 上的服务网格,可支持多种拓扑来管理多个 Kubernetes 集群上的应用流量统一管理。在整个案例研究中,我们将使用 Istio 服务网格分享多集群流量管理相关的部署设计和技术,并根据底层平台的需求和限制讨论一些挑战和相应的实践。

《首个普惠社区的平民化方案:GPU共享调度》

越来越多的数据科学家在 Kubernetes 上运行基于 NvidiaGPU 的深度学习任务。与此同时,他们发现集群中的空闲 GPU 浪费了超过 40% 的成本。因此,如何能帮助提高 GPU 使用效率成为一个重要挑战。本文将介绍一款基于原生 Kubernetes 的 GPU 共享解决方案:

  • 如何定义 GPU 共享 API;
  • 如何在不更改调度程序裸机代码的情况下在调度 GPU 共享;
  • 如何将 GPU 隔离解决方案与 Kubernetes 相集成;
  • 我们还将通过演示介绍 Tensorflow 用户如何在 Kubernetes 集群中的同一 GPU 设备上运行不同的作业。

《容器运行时管理引擎 Containerd》

本文将从 containerd 架构设计理念出发,向听众分享如何使用插件化能力来增强 containerd,提供不同镜像存储以及强隔离容器运行时的解决方案。同时,还会展示 containerd 同 gVisor, Firecracker 容器运行时集成的演示案例,会让读者更好地理解 containerd 最佳集成方式。

《基于 P2P 原理的高可用高性能大规模镜像分发系统 :Dragonfly》

随着容器技术在工业中的应用越来越广泛,如何安全高效地分发映像是工程师们所面临的新挑战。蜻蜓项目是基于开源智能 P2P 的映像和文件分发系统。该项目旨在解决云原生场景中的所有分发问题。目前,蜻蜓项目专注于以下方面:

  • 简单:面向用户的明确定义的 API (HTTP),对所有容器引擎都无侵入性
  • 高效:CDN 支持、基于 P2P 的文件分发以节省企业带宽
  • 智能:主机检测实现主机层面的速度限制、智能的流量控制
  • 安全:数据块传输加密,HTTPS 连接支持

本文将重点介绍通过蜻蜓分发容器映像。我们将回顾组织面临的挑战,包括大规模分发、安全传输、带宽成本,并提供解决方案。

云原生浪潮滚滚而来,企业纷纷上云。这条路上,阿里巴巴不是踽踽独行。不管是开源回馈社区或是分享最佳案例,希望阿里巴巴在云上的探索,能够为业界提供借鉴意义,共同推动云计算的应用和发展。

关注「阿里技术」

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1天前
|
运维 Cloud Native Devops
云原生架构的演进与实践:面向未来的企业技术战略
在数字化转型的浪潮中,云原生架构已成为推动企业技术创新和业务敏捷性的核心力量。本文旨在深入探讨云原生架构的发展历程、关键技术组件以及在实际应用中的效益与挑战。通过分析来自全球不同行业的实证数据和案例研究,文章揭示云原生技术如何助力企业实现资源的高效利用、应用的快速迭代和系统的弹性扩展。同时,结合最新的研究成果和行业报告,为读者提供一套系统化的云原生采纳指南和战略规划建议,以期帮助企业构建面向未来的技术体系,并在激烈的市场竞争中保持领先地位。
17 0
|
2天前
|
运维 监控 Cloud Native
云原生架构的演化与实践
【6月更文挑战第29天】云原生技术,作为现代软件开发和运维的前沿阵地,其核心理念在于构建可弹性扩展、高度可靠且易于管理的系统。本文将深入探讨云原生架构的发展脉络,解析其关键技术组件,并通过实际案例展示如何将这些原则应用于日常开发和运维中。我们还将讨论在采纳云原生技术时所面临的挑战及应对策略,以期为读者提供一套全面而实用的云原生解决方案。
115 1
|
3天前
|
Cloud Native 安全 开发者
云原生架构的演进与实践:从微服务到无服务器计算
本文深入探讨了云原生技术的最新进展,特别关注微服务和无服务器计算模型。通过分析相关研究数据和行业案例,文章揭示了云原生架构如何推动现代应用开发,提升运维效率,并实现资源的最优化配置。文中详细讨论了云原生生态系统中的关键组成部分,包括容器化、自动化管理工具和服务网格,以及它们如何共同促进敏捷性和可扩展性。此外,文章还分析了云原生安全策略的重要性,以及如何在保障安全的同时,保持系统的灵活性和高效性。
|
3天前
|
运维 监控 负载均衡
云原生架构下的微服务治理实践
【6月更文挑战第28天】在数字化转型的浪潮中,云原生技术以其高效、灵活的特性成为企业IT架构升级的首选。本文将深入探讨在云原生环境下,如何通过微服务治理提升系统的可维护性、可扩展性和韧性。我们将从服务发现与注册、配置管理、服务监控、路由与负载均衡、以及故障处理等方面出发,结合具体案例,为读者提供一套完整的微服务治理策略,旨在帮助开发和运维团队更好地管理和优化他们的云原生应用。
|
6天前
|
Cloud Native 安全 持续交付
云原生技术在现代企业中的实践与挑战
云原生技术作为一种新兴的架构模式,正在逐步改变企业的IT基础设施和软件开发流程。本文将探讨云原生技术的核心概念、优势以及在现代企业中的应用实例,同时分析在实施过程中可能遇到的挑战和解决方案。通过深入分析,旨在为企业提供云原生转型的参考和指导。
11 0
|
6天前
|
运维 Cloud Native 安全
云原生架构的演进与实践
【6月更文挑战第25天】本文将深入探讨云原生技术从概念提出到实际应用的发展过程,分析其核心价值和面临的挑战。文章将通过具体案例,展示云原生如何促进企业IT架构的现代化转型,并讨论在实施过程中的最佳实践和注意事项,旨在为读者提供一份云原生技术落地的实用指南。
31 2
|
7天前
|
Kubernetes Cloud Native API
云原生架构的演进与实践
在数字化转型的浪潮中,云原生技术以其灵活性、可扩展性和弹性成为企业IT战略的核心。本文将深入探讨云原生架构的关键组件、设计原则以及如何在实践中有效应用这些概念以支持现代业务需求。通过分析容器化、微服务、持续集成/持续部署(CI/CD)和声明式API等技术的应用,本文旨在为读者提供一套全面的云原生实施指南,助力企业构建更加灵活、高效的IT基础设施。
15 0
|
7天前
|
运维 负载均衡 Cloud Native
云原生架构下的微服务治理实践
【6月更文挑战第24天】在云原生的浪潮下,微服务治理成为确保系统弹性、可维护性和可观测性的关键。本文通过深入分析微服务治理的核心要素与挑战,结合前沿技术和工具,提出一套实用的微服务治理策略,旨在帮助开发者和架构师构建更加稳定、高效且易于管理的分布式系统。
|
8天前
|
人工智能 Cloud Native Java
从云原生视角看 AI 原生应用架构的实践
本文核心观点: • 基于大模型的 AI 原生应用将越来越多,容器和微服务为代表的云原生技术将加速渗透传统业务。 • API 是 AI 原生应用的一等公民,并引入了更多流量,催生企业新的生命力和想象空间。 • AI 原生应用对网关的需求超越了传统的路由和负载均衡功能,承载了更大的 AI 工程化使命。 • AI Infra 的一致性架构至关重要,API 网关、消息队列、可观测是 AI Infra 的重要组成。
50102 9
|
8天前
|
人工智能 运维 Cloud Native
活动回顾丨云原生技术实践营 Serverless + AI 专场 (深圳站) 回顾 & PPT 下载
云原生技术实践营 Serverless + AI 专场 (深圳站) 回顾。