9 年云原生实践全景揭秘|《阿里巴巴云原生实践 15 讲》正式开放下载

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

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

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

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

如何下载

电子书的专页链接:https://developer.aliyun.com/special/mvp/cloudnative

你为什么要读这本书

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

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

本书目录

书中精彩干货集合

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

阿里云已经成功地规模化落地云原生,本文将分享阿里巴巴具体的云原生实践经验分享给各位观众,涉及规模扩展、可靠性、开发效率、迁移策略等方面,并探讨针对大规模场景进行优化。 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 连接支持

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

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

原文地址:https://www.cnblogs.com/alisystemsoftware/p/11171012.html

时间: 2024-11-05 22:00:52

9 年云原生实践全景揭秘|《阿里巴巴云原生实践 15 讲》正式开放下载的相关文章

重磅发布 | 《不一样的 双11 技术,阿里巴巴经济体云原生实践》电子书开放下载

2019 双11,订单创新峰值达到 54.4 万笔/秒,单日数据处理量达到 970PB,面对世界级流量洪峰,今年的阿里巴巴交出了一份亮眼的云原生技术成绩单,并实现了100% 核心应用以云原生的方式上云: 双11 基础设施 100% 上云 支撑 双11 在线业务容器规模达到 200 万 采用神龙弹性裸金属服务器计算性价比提升 20%? 这些数据背后是对一个个技术问题的反复尝试与实践.这一次,我们对云原生技术在 双11 的实践细节进行深挖,筛选了其中 22 篇有代表性的文章进行重新编排,整理成书<不

给 K8s API “做减法”:阿里巴巴云原生应用管理的挑战和实践

作者 | 孙健波(天元)? 阿里巴巴技术专家本文整理自 11 月 21 日社群分享,每月 2 场高质量分享,点击加入社群. 早在 2011 年,阿里巴巴内部便开始了应用容器化,当时最开始是基于 LXC 技术构建容器,然后逐渐切换到 Docker,自研了大规模编排调度系统.到了 2018 年,我们团队依托 K8s 体系开始推进"轻量级容器化",同时投入了工程力量跟开源社区一起解决了诸多规模与性能问题,从而逐步将过去"类虚拟机"的运维链路和阿里巴巴整体应用基础设施架构升

开放下载 | 《Knative 云原生应用开发指南》开启云原生时代 Serverless 之门

点击下载<Knative 云原生应用开发指南> 自 2018 年 Knative 项目开源后,就得到了广大开发者的密切关注.Knative 在 Kubernetes 之上提供了一套完整的应用 Serverless 编排服务,让应用开发者可以不用为底层的基础设施分心,把更多的精力投入到业务逻辑上. Knative 的一个很重要的目标就是制定云原生.跨平台的 Serverless 编排标准.它的优势在于: 基于 Kubernetes 实现 Serverless 编排: 基于 Istio 实现服务的

万物智联,腾讯云 IoT 边缘计算揭秘——云+未来峰会开发者专场回顾

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 背景:现在是万物互联的时代,智能穿戴设备,智能家居,无人商业,改变了我们的生活方式.预计到2021年,全球物联网设数将达到150亿,超过手机和PC的总和,物联网开发将是移动互联网之后系一个风口,如何让设备快速物联网化,解决高可用.实时性和数据安全问题,腾讯云的IOT PaaS平台可以帮开发者解决了这一系列问题. 本文整理自腾讯云加速产品总监王琰在2018腾讯云云+未来峰会上的分享,介绍了腾讯云如何助力加速物联网+,提供低门槛的一站式开发

腾讯云TDSQL审计原理揭秘

版权声明:本文由孙勇福原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/244 来源:腾云阁 https://www.qcloud.com/community 作者简介:孙勇福,腾讯云高级工程师,负责腾讯云TDSQL产品研发,毕业至今一直从事数据存储系统运维和研发工作,在数据库领域以及NoSQL领域具有丰富的运维和开发经验. 开源数据库往往不具备商业数据库一样的高端能力,但是却因简单易用,无需license费用等深得大家喜

企业级云管理平台的架构实现与落地实践、趋势分析

4月23日天云软件技术开放日已圆满落幕,接下来几天将陆续放出沙龙期间技术大牛们的干货分享现场实录及相关文件,敬请关注.此文为第一篇,由天云软件产品总监马俊带来的IaaS专题:企业级云管理平台的架构实现与落地实践.趋势分析,以下为演讲实录. 马俊:我给大家介绍一下云管平台,OpenStack现在比较流行,企业级客户IT架构在OpenStack上会有一个云管的平台,整个业界对云系统建设也都是怎么认识的. 我们看其实最下面有一个虚拟化的层,这里面有Vsphere.KVM.XenServer,然后在上面

闪云科技VR全景

闪云科技VR全景的720°无死角的展示,还原一个真实的自己.在广阔的互联网平台中,来点不一样,或许,会让你脱颖而出! VR全景以全新的视角,身临其境般的直观感受来全方位展示您的产品.空间.优势 的新技术.用户可通过手机触摸或用鼠标和键盘控制观察全景的方向,可左.可右 .可近.可远,使您感到就像在真实的环境当中浏览景物一样.具有逼真的现场效果,可以在各个空间领域的场景任意漫游,也可以由不同场景切 换或者按特定路线浏览,穿梭于一个个专业领域场景里,并可进行操作控制.宣传 交流.营销.吸引客户,仿佛置

UCloud物理云网关百G级集群设计实践

物理云主机是UCloud提供的专用物理服务器,具备出色的计算性能,满足核心应用场景对高性能及稳定性的需求,也能和其它产品灵活搭配.物理云网关用于承载物理云和公有云各产品间的内网通信,由于用户有多地部署的必要,网关集群面临跨地域跨集群的流量压力. 我们用多隧道流量打散等手段解决了Hash极化造成的流量过载问题,并通过容量管理和隔离区无损迁移限制大象流.新方案上线后,集群从承载几十G升级为可承载上百G流量,帮助达达等用户平稳度过双十一的流量高峰.以下是实践经验分享.一 一.流量过载的物理云 为了保证

【实践】腾讯云服务器发布项目

1.申请腾讯云服务器 申请地址:https://console.qcloud.com/cvm 参考教程:https://www.qcloud.com/doc/product/213 腾讯云论坛:http://bbs.qcloud.com/forum-44-1.html 2.安装jdk jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html jdk安装,环境配置这个百度下就有了,这里就不阐述了. 3.To