适读人群:
1)开发人员:帮助熟悉云端分布式集群架构相关技术,能够站在宏观架构角度研发代码,提升技术眼界和高度,提升研发境界。
2)运维人员:帮助运维人员提升运维实践技能,提升知识广度和高度,向高级运维-架构师方面晋升及转变。
3)架构师:本书涉及大量云端实践经验-实践案例及场景,是架构师不可多得的“葵花宝典”。
4)技术管理者:本书涉及大量云端技术架构-云端技术思维-云端技术方向等方面经验,是技术管理者在成本把控-技术方向把控/决策-技术人员管理等方面重要的依据。
5)关注和使用云计算的用户:同样本书也适合对云计算实践类技术具有浓厚兴趣的爱好者,相信大量的案例-实践场景会让您受益匪浅。
1.抓住了热点的技术。阿里云是国内数一数二的云平台,阿里云服务着制造-金融-政务-交通-医疗-电信-能源等众多领域的领军企业,包括中国联通-12306-中石化-中石油-飞利浦-华大基因等大型企业客户,以及微博-知乎-锤子科技等明星互联网公司。在全球狂欢节-12306春运购票等极富挑战的应用场景中,阿里云保持着良好的运行纪录,这离不开阿里云运维团队的支持。
2.内容全面有深度。本书针对阿里云的基础-选型-安全-架构-运维实践全方位介绍阿里云的运维架构,帮助读者深入了解各个技术点,同时本书给出了大量的实战案例,让读者不仅能学到理论知识,还能学以致用。
3.作者权威。作者在云计算领域研究多年,对云运维技术有深入的理解,是国内云端架构实践-云端运维实践方面的专家。
全书共18章,分为四个部分:
云端选型篇(第1~5章)主要从云平台-云产品-软件技术-系统技术-服务器配置五个方面系统性讲解在云端如何进行运维技术选型和运维架构规划;
云端实践篇(第6~13章)是基于云端选型篇,在云端运维架构涉及相关常见技术的重要实践,也是本书中的重点篇幅;
云端安全篇(第14~16章)通过黑客常见攻击案例,及结合云端安全防御方案,带您一起走进云端黑客攻防的世界;
云端架构篇(第17~18章)结合前面云端选型篇-云端实践篇-云端安全篇相应实践经验,通过一个小型网站逐步演变到千万级架构的案例,讲解如何在云端构建千万级架构。
Contents
目 录
推荐序
前言
绪言 云计算带来的技术变革 1
第一篇 云端选型篇
第1章 云平台的选型 11
1.1 全球云厂商占比 11
1.2 国内云厂商的现状 12
1.2.1 阿里云 13
1.2.2 腾讯云 13
1.2.3 华为云 14
1.2.4 百度云 14
1.2.5 其他云厂商 15
第2章 云产品的选型 16
2.1 阿里云产品概要 16
2.2 云产品的8/2选择原则 18
2.2.1 五个技术优势 18
2.2.2 两个非技术优势 19
2.2.3 选择自建环境的条件 20
第3章 软件技术选型 22
3.1 “宇宙最火”的语言 22
3.2 硬件的天下 23
3.3 “后台强大”的语言 24
3.4 “胶水语言” 25
3.5 “世界上最好”的语言 27
3.6 最适合高并发的语言 28
3.7 唯一的前后端语言 28
3.8 不可替代的机器语言 29
第4章 系统技术选型 30
4.1 云端网络的三种选型策略 30
4.1.1 策略一:网络类型选型的五个注意点 30
4.1.2 策略二:入网请求选型的四种方法 33
4.1.3 策略三:出网请求选型的三种方法 34
4.2 云端Web服务器的五点选型考虑 35
4.2.1 考虑一:稳定性 36
4.2.2 考虑二:性能 36
4.2.3 考虑三:对负载均衡功能的支持 37
4.2.4 考虑四:前端静态数据缓存 38
4.2.5 考虑五:丰富的插件及支持灵活的二次开发 38
4.3 云端负载均衡选型的五个方面 38
4.3.1 对比方面:四大热门负载均衡的优缺点 38
4.3.2 分类方面:五大类型负载均衡的原理场景详解 43
4.3.3 演变方面:负载均衡的两种演变 59
4.3.4 性能方面:负载均衡隐藏的性能秘密 62
4.3.5 选型方面:云端负载均衡的两种选型 63
4.4 云端存储的四种类型 64
4.4.1 类型一:块存储 64
4.4.2 类型二:共享块存储 66
4.4.3 类型三:共享文件存储 67
4.4.4 类型四:对象存储 68
4.5 云端缓存的两大选型秘籍 69
4.5.1 秘籍一:云端静态缓存唯一的选型 70
4.5.2 秘籍二:云端动态缓存唯一的选型 71
4.6 云端数据库选型的三个方面 73
4.6.1 分类方面:数据库的三大分类 73
4.6.2 性能方面:数据库的性能秘密 78
4.6.3 选型方面:云端数据库选型的两点考虑及一个步骤 78
第5章 配置选型 82
5.1 衡量业务量的指标 82
5.1.1 一台Tomcat跑两亿PV的笑话 82
5.1.2 衡量业务量的指标 83
5.2 业务访问量与性能压力指标的转换 83
5.2.1 指标转换原理 83
5.2.2 性能指标转换计算模型实践 85
5.2.3 业务指标转换计算模型实践 86
5.3 云端服务器配置模型 87
5.3.1 PV量对应的服务器配置 87
5.3.2 服务器CPU/内存配置模型 88
5.4 云端带宽配置选型 91
5.4.1 带宽配置估算模型 91
5.4.2 带宽类型选择的8/2原则 93
第二篇 云端实践篇
第6章 云主机实践 97
6.1 云网络下的业务新架构 98
6.2 云的技术本质优势 99
6.2.1 云主机与硬件服务器性能对比的误区 99
6.2.2 云的本质优势在于分布式架构 101
6.3 云时代下的资源自动化管理 101
第7章 云端负载均衡实践 103
7.1 “1 + 1 > 2”经典架构 103
7.2 单机+?SLB架构的必要性 104
7.3 被LBHA误导的架构 105
7.4 DNS的两大主流实践 105
7.4.1 实践一:不推荐DNS作为负载均衡的误区 105
7.4.2 实践二:DNS不为人知的核心秘密功能 108
7.5 企业级Web架构实践 114
7.6 企业级负载均衡架构实践 115
7.6.1 七层SLB性能实践案例 115
7.6.2 互联网企业负载均衡架构实践 116
7.6.3 云端负载均衡中小型架构实践 117
7.6.4 云端负载均衡中大型架构实践 118
7.7 通过代理+?VPN提速跨国际网络访问 119
7.7.1 跨国际网络访问的延时问题 119
7.7.2 解决跨国际网络访问的代理架构 120
7.8 通过反向代理提速跨国际网站访问 123
7.8.1 方案一:双域名反向代理架构方案 123
7.8.2 方案二:单域名反向代理架构方案 125
第8章 云端存储实践 126
8.1 云端块存储八大实践技巧 126
8.1.1 提升云盘I/O的三大技巧 126
8.1.2 云盘使用的五大技巧 128
8.2 云端共享文件存储的五种方法 129
8.2.1 方法一:Rsync文件共享实践 129
8.2.2 方法二:Rsync + Inotify文件共享实践 130
8.2.3 方法三:NFS文件共享实践 130
8.2.4 方法四:NAS文件共享实践 132
8.2.5 方法五:OSS文件共享实践 133
8.3 OSS文件管理的六大技巧 133
8.3.1 技巧一:使用API接口/SDK管理OSS 134
8.3.2 技巧二:使用阿里云管理控制台管理OSS 134
8.3.3 技巧三:使用图形化工具管理OSS 135
8.3.4 技巧四:使用本地文件系统挂载管理OSS 136
8.3.5 技巧五:使用FTP管理OSS 137
8.3.6 技巧六:使用命令行工具管理OSS 138
8.4 四招搞定OSS数据迁移 138
8.4.1 第一招:OSSImport工具 138
8.4.2 第二招:OSS在线迁移服务 139
8.4.3 第三招:跨区域复制 140
8.4.4 第四招:OSS离线迁移 140
8.5 运维容灾备份新篇章 142
第9章 云端缓存实践 144
9.1 使用静态缓存提升网站性能的四种方法 144
9.1.1 方法一:浏览器缓存 144
9.1.2 方法二:磁盘缓存 146
9.1.3 方法三:内存缓存 148
9.1.4 方法四:CDN(动静分离) 149
9.2 动态缓存的三种应用场景实践 151
9.2.1 场景一:数据库缓存 151
9.2.2 场景二:集中Session管理的六种策略 153
9.2.3 场景三:四招搞定动态页面缓存 160
第10章 云端数据库实践 169
10.1 垂直拆库三大应用场景实践 169
10.1.1 场景一:垂直拆库的应用实践 170
10.1.2 场景二:主从的四种实践方案 172
10.1.3 场景三:集群技术的应用实践 179
10.2 水平拆表三大应用场景实践 181
10.2.1 场景一:业务层水平分区拆表的三种方式 181
10.2.2 场景二:数据库层次水平分区拆表的方法 184
10.2.3 场景三:四大成熟分布式Sharding技术方案 185
第11章 云端运维实践 206
11.1 上云迁移的实践 206
11.1.1 上云的诉求 206
11.1.2 前期技术调研 206
11.1.3 三大运维痛点 208
11.1.4 上云迁移的挑战性 208
11.1.5 七步搞定上云迁移 208
11.1.6 上云前后的对比 213
11.2 混合云八大运维架构实践 213
11.2.1 混合云实践1:基于VPC +专线构建混合云架构 214
11.2.2 混合云实践2:RDS自建主从同步在混合云中的实践 215
11.2.3 混合云实践3:MongoDB副本集在混合云中的实践 215
11.2.4 混合云实践4:RabbitMQ + SLB高可用实践 216
11.2.5 混合云实践5:云端自建DNS实践 216
11.2.6 混合云实践6:Redis主从+ Sentinel + Consul + DNSmasq高可用实践 217
11.2.7 混合云实践7:MySQL主从+ Consul + DNSmasq高可用实践 218
11.2.8 混合云实践8:关于DNS的高可用 218
11.3 云端运维架构五大优化 219
11.3.1 优化一:云端配置选型 220
11.3.2 优化二:云端网络架构 221
11.3.3 优化三:云端负载均衡的选择 223
11.3.4 优化四:云端静态资源访问 225
11.3.5 优化五:云端运维管理 226
第12章 云端监控实践 228
12.1 物理机体系:三大监控方案实践 228
12.1.1 监控方案一:Shell / Python 228
12.1.2 监控方案二:Nagios 229
12.1.3 监控方案三:Nagios + Cacti 229
12.2 云计算体系:四大监控方案实践 229
12.2.1 监控方案四:Zabbix 230
12.2.2 监控方案五:云监控 230
12.2.3 监控方案六:驻云监控1.0(集群监控) 233
12.2.4 监控方案七:驻云监控2.0(自动化监控) 237
12.3 容器体系:四大监控方案实践 241
12.3.1 监控方案八:Prometheus + Alertmanager + Grafana 242
12.3.2 监控方案九:TICK技术栈 243
12.3.3 监控方案十:驻云监控3.0(容器体系监控) 245
12.3.4 监控方案十一:驻云监控3.1(智能监控) 246
第13章 云端容器/DevOps实践 251
13.1 云端容器技术的十二大实践 252
13.1.1 容器实践1:关于云端容器资源编排技术的选择 252
13.1.2 容器实践2:结合K8S的DevOps流程 253
13.1.3 容器实践3:关于K8S集群的配置 253
13.1.4 容器实践4:K8S云端部署架构 254
13.1.5 容器实践5:K8S插件之DNS 255
13.1.6 容器实践6:容器的Web管理控制台 255
13.1.7 容器实践7:K8S业务应用+自建DNS实践 258
13.1.8 容器实践8:K8S Master节点高可用 260
13.1.9 容器实践9:K8S Node节点高可用 262
13.1.10 容器实践10:K8S部署架构优化 264
13.1.11 容器实践11:自建K8S迁移阿里云K8S托管版+ Rancher 265
13.1.12 容器实践12:K8S监控实践 267
13.2 DevOps发展的四个阶段 268
13.2.1 人工阶段 268
13.2.2 脚本及工具阶段 269
13.2.3 平台化阶段 272
13.2.4 智能化阶段 276
第三篇 云端安全篇
第14章 云端安全面临的挑战和机遇 281
14.1 云端安全问题的现状 281
14.2 云端安全面临的三大挑战 282
14.2.1 挑战一:安全行业状态不容乐观 282
14.2.2 挑战二:云端安全环境复杂化的挑战 284
14.2.3 挑战三:安全对云优势的冲击 286
14.3 云端安全带来的两大机遇 287
14.3.1 机遇一:云计算-大数据将成为安全体系的基础核心保障 287
14.3.2 机遇二:政策驱动叠加,使得行业将迎来爆发 289
第15章 云端黑客常见攻击 290
15.1 什么是黑客 290
15.2 黑客入侵的途径:漏洞 291
15.3 黑客入侵流程 291
15.4 黑客常见系统层攻击 292
15.5 黑客常见应用层攻击 295
15.6 黑客常见网络层攻击 295
第16章 云端安全最佳防御方案 298
16.1 云端常见黑客攻击的防御 298
16.1.1 四款热门的云端安全产品 299
16.1.2 安骑士-WAF-态势感知三大使用误区 304
16.1.3 DDoS和WAF三大实践技巧 305
16.2 云端安全架构四大策略实践 307
16.2.1 策略一:云平台架构模式选择 307
16.2.2 策略二:分布式架构是安全保障的基石 308
16.2.3 策略三:全面开启云产品的安全机制 308
16.2.4 策略四:基于VPC的企业级安全架构 310
16.3 云端运维安全实践十则 312
16.3.1 第一则:云端堡垒机的三种实践 312
16.3.2 第二则:运维用户管理 313
16.3.3 第三则:密码安全管理 313
16.3.4 第四则:防火墙安全管理 314
16.3.5 第五则:端口安全管理 316
16.3.6 第六则:云端开源WAF实践 316
16.3.7 第七则:云端数据安全传输的标准 318
16.3.8 第八则:运维安全性能调优的三种方法 319
16.3.9 第九则:通过冷备及热备进一步保障云端数据安全性 320
16.3.10 第十则:加强安全巡检及安全培训管理 324
16.4 云端防御综合案例总结 324
第四篇 云端架构篇
第17章 云端千万级架构的演变 329
17.1 架构原始阶段:万能的单机 329
17.2 架构基础阶段:物理分离Web和数据库 330
17.3 架构动静分离阶段:静态缓存+对象存储 330
17.4 架构分布式阶段:负载均衡 331
17.5 架构数据缓存阶段: 数据库缓存 332
17.6 架构扩展阶段:垂直扩展 332
17.7 架构分布式+大数据阶段:水平扩展 334
第18章 云端架构的应用 336
18.1 云端电商架构应用 336
18.1.1 业务特点:活动 336
18.1.2 业务特点:商品图片 337
18.2 云端游戏架构应用 337
18.3 云端移动社交架构应用 339
18.4 云端金融架构应用 340
Foreword 推荐序
中国最早的云计算厂商阿里云于2009年成立,至今,云计算在中国大地上已经走过10多个年头,它作为互联网的基础设施,也已经在不知不觉中非常深刻地影响着整个社会、整个世界,并且这种影响还在不断发酵。上云这个词在2013年和2014年可能还是新鲜词汇,但今天还没有使用云计算的企业反而更像是稀有品种。
云计算正在并且已经慢慢地重构了整个IT的基础架构,这个过程会持续加速,使其逐步发展成中国IT的基石。我以及上海驻云科技的各位同仁在2013年就参与到云计算业务中,作为上述整个过程的参与者和见证者,发现新的技术、云的技术、云背后的互联网技术将成为未来每一个互联网技术从业人员不可或缺的基础能力,而对企业来说,未来没有掌握这种能力的技术型员工是非常可怕的,这种IT、大数据甚至人工智能技术的运用能力可能会彻底改变你现在所处的行业。
作为互联网的参与者,尤其是技术参与者,无论是系统架构师、开发工程师、运维工程师,掌握云计算及相应的技术产品知识,以及利用云计算解决实际的业务问题都将变得必不可少。这个过程并不复杂,但需要接受并拥抱云计算带来的改变。
乔锐杰作为中国最早的云计算方面的架构师和技术参与者,随着驻云科技的成长和中国云计算的发展,逐步成为国内云计算方面的运维专家,非常通晓以阿里云为主的中国主流云计算厂商的相关产品及技术。本书是其多年运维工作经验的汇总,用非常浅显的语言讲述了如何成为一名云计算运维高手,是一本非常好的工具书,可供愿意学习并使用云计算技术的读者参考。相信本书能够很好地帮助读者解决使用云计算技术工作时遇到的各种问题。
驻云CEO,湖畔大学一期 蒋烁淼
2020年1月