导语摘要
本书以“产品+技术”的写作形式全面地阐述了计算、存储、网络,以及成本、运维和安全六大核心内容,也分别代表了阿里云弹性计算这个产品技术体系的六大核心领域,每一章均由各领域的领军人物撰写。与其说他们是领军人物,更确切地说,是奋战在云计算一线的、和阿里云一起成长起来的战士们,他们把自己日常冲锋和奋战的经验精华融入每一章当中,在背负业务压力、密集地进行线上架构和产品迭代的同时,也对这本书倾注了不少的心力、脑力和体力。
另外,本书还对弹性计算是否已经实现了基础设施的“无感”使用,未来还有哪些需要做深、做厚的地方等问题进行了展望,更提供了三个阿里云真实的客户案例,供大家在实践中参考,赋能企业决策者提升运用云计算的能力,加速拥抱数字化转型的信心。本书可以被看成阿里云弹性计算的研发成果合集,更可以被视为诸多客户上云实践的总结和抽象。
作者简介
阿里云基础产品委员会,主要负责阿里云的计算、存储、网络、安全、云原生、稳定性等产品技术架构设计与开发,权威定义了包括弹性计算在内的云计算产业标准。
目录
目录
第1章 开篇 / 1
1.1 弹性计算是什么 / 2
1.1.1 弹性计算的形态 / 3
1.1.2 弹性计算的构成 / 3
1.1.3 弹性计算的业务模式 / 4
1.1.4 弹性计算的使用方式 / 5
1.1.5 弹性计算的地位 / 5
1.1.6 弹性计算的演进过程 / 6
1.2 弹性计算的价值 / 7
1.2.1 高可用和高可靠 / 7
1.2.2 更安全 / 9
1.2.3 高性能 / 10
1.2.4 大弹性 / 11
1.2.5 高效率 / 13
1.2.6 省成本 / 13
1.3 弹性计算的使用场景 / 14
1.3.1 日常计算需求 / 15
1.3.2 互联网服务 / 15
1.3.3 海量计算和存储 / 15
1.3.4 流量短时高峰 / 16
1.3.5 高可用与分布式 / 16
1.3.6 批处理任务 / 16
1.3.7 专用硬件加速 / 16
1.4 弹性计算的技术架构 / 16
1.4.1 工作原理 / 16
1.4.2 总体架构 / 18
1.4.3 控制面 / 19
1.4.4 数据面 / 21
1.4.5 物理设施层 / 23
1.5 小结 / 23
第2章 弹性计算产品家族 / 25
2.1 云服务器开天地 / 26
2.1.1 ECS实例 / 28
2.1.2 弹性块存储 / 30
2.1.3 虚拟网络 / 31
2.1.4 镜像 / 32
2.1.5 快照 / 33
2.1.6 专有宿主机 / 34
2.2 容器和云原生时代兴起 / 35
2.2.1 容器服务 / 36
2.2.2 弹性容器实例 / 36
2.2.3 函数计算 / 36
2.3 裸金属的复兴 / 37
2.3.1 弹性裸金属服务器 / 37
2.3.2 超级计算集群 / 38
2.4 运维辅助类产品加持 / 38
2.4.1 资源编排服务 / 38
2.4.2 运维编排服务 / 39
2.4.3 弹性伸缩 / 40
2.4.4 弹性供应 / 42
2.4.5 迁移中心 / 43
2.5 IaaS+和PaaS类计算产品 / 44
2.5.1 轻量应用服务器 / 45
2.5.2 批量计算 / 45
2.5.3 大数据处理E-MapReduce / 46
2.5.4 弹性高性能计算E-HPC / 47
2.6 小结 / 48
第3章 计算产品和技术 / 51
3.1 云计算技术概述 / 52
3.2 虚拟机云服务器 / 54
3.2.1 功能特点 / 54
3.2.2 适用场景 / 55
3.2.3 虚拟化技术 / 56
3.2.4 调度技术 / 67
3.2.5 Guest OS / 73
3.3 弹性裸金属服务器和神龙虚拟化 / 81
3.3.1 功能特点 / 81
3.3.2 适用场景 / 85
3.3.3 弹性裸金属技术 / 87
3.4 异构计算云服务和AI加速器 / 93
3.4.1 功能特点 / 94
3.4.2 适用场景 / 96
3.4.3 GPU虚拟化技术 / 101
3.4.4 FPGA虚拟化技术 / 108
3.4.5 EAIS软件池化技术 / 114
3.4.6 AI加速器及其性能优化技术 / 115
3.5 云上高性能计算 / 118
3.5.1 功能特点 / 119
3.5.2 适用场景 / 123
3.5.3 超算产品的关键技术 / 129
3.6 容器服务与弹性容器实例 / 141
3.6.1 功能特点 / 142
3.6.2 适用场景 / 146
3.6.3 实现技术 / 148
3.7 函数计算 / 156
3.7.1 功能特点 / 156
3.7.2 适用场景 / 157
3.7.3 函数计算系统设计 / 159
3.8 小结 / 164
第4章 弹性块存储 / 167
4.1 弹性块存储概述 / 168
4.2 云盘 / 171
4.2.1 功能特点和适用场景 / 171
4.2.2 核心架构和技术 / 184
4.3 共享云盘 / 205
4.3.1 功能特点 / 205
4.3.2 适用场景 / 207
4.3.2 共享互斥 / 210
4.4 本地盘 / 212
4.4.1 功能特点和适用场景 / 212
4.4.2 核心技术 / 216
4.5 小结 / 223
第5章 虚拟网络 / 225
5.1 虚拟网络概述 / 226
5.2 弹性网卡 / 227
5.2.1 功能特点 / 227
5.2.2 适用场景 / 229
5.2.3 最佳实践 / 230
5.3 弹性IP 地址 / 231
5.3.1 适用场景 / 231
5.3.2 最佳实践 / 236
5.4 路由表 / 239
5.4.1 功能特点 / 240
5.4.2 适用场景 / 241
5.4.3 最佳实践 / 243
5.5 安全组 / 245
5.5.1 功能特点 / 246
5.5.2 适用场景 / 247
5.5.3 最佳实践 / 248
5.6 子网 / 250
5.6.1 网络ACL / 251
5.6.2 适用场景 / 252
5.6.3 最佳实践 / 253
5.7 流量控制 / 254
5.7.1 功能特点 / 254
5.7.2 适用场景 / 256
5.7.3 最佳实践 / 257
5.8 VPC流日志 / 258
5.8.1 功能特点 / 258
5.8.2 适用场景 / 260
5.8.3 技术实现 / 260
5.8.4 最佳实践 / 262
5.9 小结 / 262
第6章 成本和弹性 / 263
6.1 IT基础设施投入成本构成 / 265
6.2 云上的IT基础设施投入成本 / 266
6.2.1 批量成本 / 266
6.2.2 资源利用率 / 267
6.2.3 扩容和容灾 / 269
6.2.4 批次运维 / 270
6.2.5 服务质量 / 271
6.3 云上资源付费方式 / 272
6.3.1 后付费 / 273
6.3.2 预付费 / 275
6.4 弹性计算如何满足弹性需求 / 277
6.4.1 狭义弹性场景 / 277
6.4.2 广义弹性场景 / 279
6.5 使用弹性能力 / 280
6.5.1 弹性伸缩 / 280
6.5.2 弹性供应 / 281
6.5.3 弹性交付效率 / 282
6.6 云上成本优化的最佳实践 / 283
6.6.1 离线/在线资源混用 / 283
6.6.2 依赖地域成本差异,部署优化业务成本 / 283
6.7 弹性能力的幕后英雄 / 284
6.7.1 管控 / 284
6.7.2 调度 / 286
6.7.3 库存 / 289
6.8 小结 / 291
第7章 稳定性和运维 / 293
7.1 概述 / 294
7.1.1 稳定性的基本概念 / 294
7.1.2 稳定性工程体系 / 297
7.2 计算实例的稳定性 / 298
7.2.1 高稳定性的产品设计 / 298
7.2.2 面向失败的系统设计 / 306
7.2.3 异常预测思维 / 311
7.3 管控的稳定性 / 314
7.3.1 稳定的架构设计 / 315
7.3.2 发布和测试 / 322
7.3.3 监控和自动修复 / 326
7.4 用户侧稳定性 / 328
7.4.1 运维概述 / 328
7.4.2 用户侧运维工具 / 331
7.5 小结 / 347
第8章 云上安全 / 349
8.1 云上安全体系构成 / 350
8.2 云平台侧安全 / 352
8.2.1 云产品安全 / 352
8.2.2 虚拟化安全 / 360
8.2.3 身份和访问控制 / 363
8.2.4 物理安全 / 364
8.2.5 硬件安全 / 366
8.3 用户侧安全 / 368
8.3.1 ECS主机安全 / 369
8.3.2 容器安全 / 370
8.3.3 网络安全 / 371
8.3.4 用户身份和访问控制 / 372
8.4 小结 / 375
第9章 客户案例 / 377
9.1 客户A:著名奢侈品电商 / 378
9.1.1 客户背景分析 / 378
9.1.2 可用方案分析 / 379
9.1.3 落地的迁云解决方案 / 380
9.1.4 上云后的收益 / 381
9.2 客户B:知名本地生活平台 / 382
9.2.1 客户背景分析 / 382
9.2.2 上云需求 / 382
9.2.3 落地的迁云解决方案 / 382
9.2.4 上云后的收益 / 384
9.3 客户C:老牌网络下载服务商 / 386
9.3.1 客户背景分析 / 386
9.3.2 上云需求 / 386
9.3.3 落地的迁云解决方案 / 386
9.3.4 上云后的收益 / 388
第10章 展望 / 391
10.1 稳定性 / 392
10.2 安全 / 392
10.3 性能 / 393
10.4 弹性 / 393
10.5 Infrastructure as Code / 394
10.6 容器和 Kubernetes / 394
10.7 Serverless / 394
10.8 小结 / 395
内容摘要
2010年以前,我国的火车票主要还是采用人工窗口结合电话订票的方式销售的,相信不少人都有过排队几个小时购买春运火车票的经历,这是一段难忘且心酸的记忆。时至今日,随着国内某火车购票网站的出现,人们早已不需要去AT窗口排队买票了,拿着手机几次点击,几分钟就搞定了。从A/J\时到几分钟,是什么样的服务器支撑了春运抢票时上千万次甚至上亿次的汹涌而至的访问请求呢
2018年,某明星的恋爱消息一经发布,立刻引爆国内某著名微博网站的话题,短时间内被转发46万多次、评论99万多条、点赞256万个,导致微博的服务器迅速过载。当时正在举行婚礼的微博搜索Web工程师不得不取出笔记本电脑为微博的服务器紧急扩容。微博CEO在回应网友的服务不可用报告中称:已经扩至1000台服务器来应对流量高峰。那么问题来了:应该扩容多少?从哪里扩容?
2020年,新冠肺炎疫情爆发之初,全球健康药物研发中心GHDDI(G10balHealth Drug Discovery Institute)启动对新冠肺炎病毒的研究,这家由比尔及梅琳达。盖茨基金会、清华大学及北京市政府三方联合发起成立的非营利机构,曾在阿里云超算平台上将药物研发提升8到20倍。2020年1月29日阿里云宣布对全球公共科研机构免费开放一切AI算力。GHDDI将自研的药物研发平台、药研资源和研究成果全部上线阿里云,借助阿里云超算EHPC、存储OSS和阿里云全球加速网络,支持了数以百计的海内外新冠药物科研需求,充分借助“云计算”的弹性、高性能、快速获取优势,实现“云”抗疫。这些成果的背后使用的是什么技术呢?
是的,答案都是同一个:弹性计算!
1.1弹性计算是什么
弹性计算是云计算提供的基础服务之一。顾名思义,弹性计算是一种为用户提供计算力的服务,并且用户可以根据实际需要灵活、动态地调整要购买的容量,即所谓的“弹性”。
人们常把弹性计算与水、电和燃气等公共能源的基础设施做类比,因为它们都具有以下共同特点:
按需付费:用户可以按照实际消费的资源容量进行事后结算。
无限索取:用户需要多少,就使用多少。当然,事实上,每个用户能够使用
的资源量是有上限的,只不过这个上限大到大部分用户感受不到。
普惠大众:所有人都可以很方便地购买和使用,而且价格亲民。
关乎民生:它们已经成为整个社会运转的重要基石,一旦停转会给人们的生
产和生活带来极大的影响。
下面,我们就从“计算力”出发,介绍弹性计算的形态、构成、业务模式、使用方式、地位及演进过程。
1.1.1弹性计算的形态
弹性计算提供的“计算力”到底是什么呢?从本质上讲,计算力用于完成用户特定的计算任务。这些计算任务既可以是在线商店、动画渲染任务和互联网服务,也可以是企业办公应用、科学计算任务、数据库系统……为了能够处理这些千差万别的计算任务,弹性计算提供了一种产品形态,即“云服务器”。
云服务器的能力与一台传统的物理服务器相当,并且提供与物理服务器一样的标准接口。用户在拿到一台这样的云服务器后,即可在上面安装、运行自己需要的操作系统和各种软件,从而将原来运行在自家物理服务器上的计算任务搬到云上来运行,获得“计算力”。
云服务器是弹性计算最早的产品形态,很原始,也很直接;同时,也最通用、最方便移植,因此至今,它依然是弹性计算最主流、市场份额称霸的产品。本书大部分内容都是围绕云服务器展开的。
1.1.2弹性计算的构成
“计算”一词的含义可大可小。从广义上看,任何IT能力都离不开计算,因此云也被称为“云计算”,涵盖了IaaS、PaaS、SaaS等各种服务。狭义一点看,弹性计算中的“计算”可以理解为计算任务的运行,换句话说,就是指执行计算机代码。
要运行一个计算任务,弹性计算不光要提供执行代码的狭义计算能力,还需要配套的存储能力和网络能力。存储为计算任务实现数据持久化,而网络让计算任务可以与外界通信、协作。计算、存储和网络加在一起,形成“计算力”的三要素。
以下为对购买帮助不大的评价