内容简介
第Ⅰ部分 原则1.可用性:维护现代化应用程序的可用性
第1章 理解、测量和提高可用性
可用性与可靠性
什么导致了低可用性
测量可用性
N个9
计划中的故障也依然是故障
通过数字来体现可用性
提高下降的可用性
测试并跟踪当前的可用性
将手动流程自动化
改进你的系统
时刻关注不断变化和发展中的应用程序的可用性
提高应用程序可用性的5个要点
要点1:时刻考虑应对故障
要点2:时刻考虑如何伸缩
要点3:缓和风险
要点4:监控可用性
要点5:以可预期及明确的方式来处理可用性问题
做好准备
第2章 两次失误的高度——预留从错误中恢复的空间
两次失误的高度
场景1:丢失一个节点
场景2:升级过程中出现的问题
场景3:数据中心恢复
场景4:隐蔽的共享故障类型
场景5:故障循环
管理你的应用程序
航天飞机
第Ⅱ部分 原则2.现代化应用程序架构:使用服务
第3章 使用服务
单体应用程序与面向服务的应用程序
所有权收益
规模收益
拆分服务
如何定义服务
深入了解服务
指导原则1:特定的业务需求
指导原则2:清晰和独立的团队所有权
指导原则3:天然隔离的数据
指导原则4:共享的能力/数据
多种原因
过犹不及
找到适当的平衡
第4章 服务和数据
无状态服务——没有数据的服务
有状态服务——有数据的服务
数据分区
及时处理增长的烦恼
第5章 处理服务故障
级联式的服务故障
如何响应服务故障
可预测的响应
可理解的响应
合理的响应
如何确定故障
适当的行为
优雅降级
优雅补偿
尽早失败
用户导致的问题
小结
第Ⅲ部分 原则3.组织:为现代化应用程序建立可伸缩性的组织
第6章 服务所有权——STOSA
由独立团队负责的服务架构
STOSA应用程序和组织的好处
“拥有”一个服务意味着什么
使用核心团队和服务
小结
第7章 服务分级
应用程序的复杂性
什么是服务分级
为服务分配服务级别标签
示例:在线商店
使用服务分级
期望
响应性
依赖
小结
第8章 服务等级协议
什么是服务等级协议
外部SLA与内部SLA的对比
内部SLA很重要
SLA可以用于问题诊断
SLA的性能检测方法
限定SLA
排名SLA
SLA的条件
究竟应当定义多少内部SLA,以及定义哪些内部SLA
为什么内部SLA很重要
第Ⅳ部分 原则4.风险:现代化应用程序的风险管理
第9章 如何在设计可伸缩架构时使用风险管理
识别风险
消除最严重的风险
风险缓和
定期检查
对风险管理的总结
可能性与严重性
十佳列表:低可能性,低严重性
订单数据库:低可能性,高严重性
自定义字体:高可能性,低严重性
T恤图片:高可能性,高严重性
风险模型
风险模型的作用域
创建风险模型
使用风险模型来制订计划
维护风险模型
风险缓和
恢复计划
容灾计划
改进我们的风险状况
第10章 比赛日
预发布环境和生产环境
预发布/测试环境
生产环境
在生产环境中举行比赛日的担心
小结
第11章 构建低风险系统
技巧1:介绍冗余
幂等接口
增加了复杂性的冗余改进
技巧2:理解独立性
技巧3:管理安全性
技巧4:鼓励简单性
技巧5:自我修复
技巧6:标准化运维流程
小结
第Ⅴ部分 原则5.云计算:利用云计算
第12章 使用云计算来设计可伸缩架构
云计算成熟度的6个级别
级别1:体验云计算
级别2:确认云计算
级别3:使用云计算中的服务器和应用程序
级别4:使用增值的托管服务
级别5:使用云特有的服务
级别6:全面拥抱云计算
组织与应用程序的成熟度级别对比
使用云计算时可能犯的错误
陷阱1:不相信云安全
陷阱2:直接迁移到云计算
陷阱3:无服务器的诱惑——太过于依赖炒作
何时以及如何使用多个云计算平台
如何定义我们所说的多个云平台
选择哪个模型?哪种云?
云计算小结
第13章 云计算改变的5个行业趋势
云计算有哪些变化
变化1:对基于微服务架构的认可
变化2:更小、更专业的服务
变化3:更专注于应用程序
变化4:微型初创公司
变化5:安全和合规已经成熟
变化还在继续
第14章 SaaS和租赁类型
比较托管主机和不同类型的SaaS
托管主机
多租户SaaS
单租户SaaS
混合不同类型的SaaS
常见的SaaS的特点
SaaS与托管主机
小结
第15章 在AWS云上分发你的应用程序
AWS的架构
AWS区域
AWS可用区
数据中心
总体架构概述
可用区不是数据中心
如何通过地理多样性真正做到高可用
映射多个账户中的可用区
分发应用程序
第16章 托管的基础设施
基于云的服务架构
原生资源
基于服务器的托管资源
无服务器托管资源
使用托管资源和非托管资源的影响
小结
第17章 云资源分配
基于使用量的资源分配
固定额度的资源分配
调整分配
资源容量的自动分配
自动分配的问题
动态分配,动态成本
资源分配技术的利与弊
第18章 无服务器计算和函数即服务
示例1:事件处理
示例2:手机应用后端
示例3:物联网数据采集
FaaS的优缺点
无服务器炒作和FaaS的未来
第19章 边缘计算
如今的边缘计算
为什么我们要关心边缘计算
与云计算相比,边缘计算应该是什么
如何决定把什么放在边缘?以无人驾驶汽车为例
边缘计算的可伸缩与云计算的可伸缩不同
使用边缘计算和云计算的标准
边缘计算成功的8个关键点
#1:知道什么时候应该使用边缘计算
#2:不要忽略边缘计算中的DevOps原则
#3:制定一个高度分布式的部署策略
#4:尽可能减少版本控制
#5:减少每个节点的配置项
#6:伸缩也是边缘计算要面对的一个问题,不仅仅是云计算
#7:重视监测和分析
#8:边缘计算不是魔法
边缘计算小结
第20章 地理位置对云计算的影响
云无处不在,只不过影响的层次不同
替换心态影响你如何接受云计算
哪个云服务提供商最重要
重要的技术区别
数据主权是普遍的
我的看法
第Ⅵ部分 总结
第21章 综述
原则#1——可用性
原则#2——架构
原则#3——组织
原则#4——风险
原则#5——云计算
面向可伸缩架构
关于作者
关于封面