您好,欢迎来到聚文网。 登录 免费注册
Serverless学习手册

Serverless学习手册

  • 字数: 333000
  • 装帧: 平装
  • 出版社: 中国电力出版社
  • 作者: (美)杰森·卡茨
  • 出版日期: 2023-04-01
  • 商品条码: 9787519876982
  • 版次: 1
  • 开本: 16开
  • 页数: 256
  • 出版年份: 2023
定价:¥78 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
本书的主要内容有:生产路径。检查分布式系统、微服务、接口和Serverless体系结构和模式的进出情况。工具。深入研究监控、可监控性和警报、日志记录、流水线、自动化和部署。概念。学习如何设计安全性和隐私性,如何通过测试和模拟系统来管理质量,以及如何为失败做计划。
目录
前言1
第0章Serverless介绍7
0.1什么是Serverless?8
0.1.1Serverless的历史9
0.1.2云服务提供商概况10
0.1.3可靠性,可用性,灾难恢复11
0.2Serverless的优势12
0.2.1增加的可伸缩性、安全性和可靠性13
0.2.2只支付你使用的东西13
0.2.3节省管理服务器的时间和金钱13
0.2.4提高开发人员的生产力14
0.2.5降低管理职责14
0.2.6集成的便利15
0.3Serverless的弱点15
0.3.1冷(启动)战16
0.3.2计算时间16
0.3.3VPC/网络问题17
0.3.4应用程序的大小17
0.3.5可能会更贵17
0.3.6厂商锁定18
0.3.7复杂的调试19
0.4什么时候使用Serverless有意义?19
0.5Serverless的计算机什么时候不适合你?21
0.6让我们开始22
第一部分生产之路23
第1章分布式系统25
1.1什么是分布式系统?25
1.2为什么我们需要一个分布式系统?27
1.3分布式系统的严酷现实27
1.3.1物理世界28
1.3.2失踪的消息29
1.3.3不可靠的时钟30
1.3.4级联故障31
1.3.5更新产生的意外32
1.3.6幂等性32
1.4我负责什么?33
1.5在设计分布式系统时,你需要考虑哪些?34
1.5.1松耦合(或解耦)34
1.5.2容错35
1.5.3生成专享的(主)键35
1.5.4规划幂等性36
1.5.5两阶段的更新36
1.6延伸阅读37
1.7结论38
第2章微服务39
2.1为什么要使用微服务?40
2.1.1提高开发速度40
2.1.2增加开发人员的自由41
2.2微服务的问题42
2.2.1增加了复杂性43
2.2.2需要适当的DevOps实践和资源43
2.2.3本地开发和测试的挑战44
2.3如何有效地使用微服务?45
2.3.1一致的接口45
2.3.2松散耦合46
2.4微服务有多微小?47
2.5选择单体应用还是微服务48
2.5.1什么时候应该使用单体应用?49
2.5.2什么时候需要使用微服务?51
2.6结论52
第3章Serverless架构和模式53
3.1架构师的角色54
3.2要成为一名架构师,你需要知道哪些?55
3.3决策55
3.3.1什么样的决策?56
3.3.2记录你的决策57
3.3.3我们如何做决策?57
3.3.4我们什么时候做决策?58
3.4云服务提供商组件59
3.4.1流60
3.4.2队列60
3.4.3桶61
3.4.4计算62
3.4.5数据存储62
3.4.6身份认证服务63
3.4.7API网关64
3.4.8GraphQL64
3.4.9网络64
3.4.10状态机65
3.4.11日志记录65
3.4.12监测和报警66
3.5来自云服务提供商的事件67
3.6模式68
3.6.1示例1:Serverless单体应用69
3.6.2示例2:传入Webhook69
3.6.3示例3:使用云服务提供商进行用户身份验证70
3.6.4示例4:通用的后台任务模式71
3.6.5示例5:流提取、转换、加载71
3.6.6示例6:创建自己的轮询集成72
3.6.7示例7:处理文件和图像72
3.6.8示例8:迁移服务模式73
3.6.9示例9:散开74
3.7结论75
第4章接口77
4.1接口:需要一些组装78
4.1.1消息78
4.1.2协议78
4.1.3约定79
4.2Serverless接口79
4.2.1自动重试和死信队列80
4.2.2有限与无限规模81
4.3设计接口81
4.3.1消息/载荷82
4.3.2会话和用户/身份验证83
4.3.3避免无约束的请求83
4.3.4接口与实现84
4.3.5带逻辑的线85
4.4设计不愉快的路径86
4.4.1验证输入86
4.4.2失败86
4.5与其他服务集成的策略89
4.5.1超时89
4.5.2重试90
4.5.3指数补偿90
4.5.4网络钩子91
4.5.5评估外部服务92
4.5.6速度93
4.6结论93
第二部分工具95
第5章Serverless框架97
5.1为什么使用Serverless框架?98
5.2什么时候Serverless框架不适合你100
5.2.1AWS是专享的一等公民100
5.2.2AWS的云服务模板也并不完美100
5.2.3你的基础设施依赖陌生人101
5.3开始之前你需要知道些什么102
5.3.1YAML102
5.3.2Node.js104
5.3.3云资源和权限104
5.3.4基础架构模板106
5.3.5生产的机密106
5.3.6.gitignore文件107
5.4serverless.yml文件的组成107
5.4.1提供者108
5.4.2环境109
5.4.3函数110
5.4.4资源111
5.4.5包.111
5.4.6插件112
5.4.7自定义113
5.4.8用于健全和安全的命名空间114
5.5使用Serverless命令114
5.5.1安装Serverless114
5.5.2使用凭证设置Serverless115
5.5.3使用Serverless install拉入模板116
5.5.4检查示例项目的包(里面有什么)116
5.5.5部署117
5.5.6调用函数,并查看日志117
5.5.7回滚118
5.5.8销毁服务118
5.5.9部署软件包119
5.6现实世界serverless.yml119
5.6.1设置环境变量120
5.6.2修改权限120
5.7结论121
第6章监控、可观察性和警报123
6.1监控是什么?123
6.1.1我们为什么需要监控?124
6.1.2监控与Serverless有什么关系?125
6.1.3自动化的入口125
6.2我有什么选择?126
6.2.1托管SaaS产品126
6.2.2自托管和开放源码127
6.3监控的组成部分128
6.3.1监控指标128
6.3.2图表和图形132
6.3.3仪表板133
6.3.4警报/警告134
6.4选择优选的实践136
6.4.1心跳136
6.4.2冒烟测试和/或金丝雀137
6.4.3世界上最重要的度量标准137
6.4.4避免厂商锁定139
6.4.5随着时间的推移清除度量和警报140
6.5结论140
第7章日志141
7.1日志是什么?142
7.2为什么需要日志?143
7.3何时依赖日志而不是监控指标144
7.4应该记录什么?145
7.5你不应该记录什么?147
7.6日志是如何工作的?148
7.6.1确保你的日志可伸缩149
7.6.2结构化的日志150
7.6.3更有效的日志调试150
7.6.4搜索日志151
7.6.5异常日志(Sentry)151
7.7收集其他日志152
7.8合规153
7.9分布式跟踪154
7.10加密日志以保证隐私和遵从性154
7.11那么你应该怎么做呢?154
7.11.1只加密敏感字段的值155
7.11.2加密整个日志语句155
7.12结论156
第8章变更、自动化和部署流水线157
8.1应对变化158
8.2自动化的作用158
8.3使你的代码为部署到生产系统做好准备160
8.4基础设施即代码161
8.5数据库更改(迁移)163
8.6配置管理164
8.7什么是流水线?164
8.8关于流水线的决策165
8.9金丝雀和蓝/绿部署166
8.10为什么需要流水线?168
8.11部署流水线的关键阶段168
8.11.1步骤1:执行标准169
8.11.2步骤2:构建和打包169
8.11.3步骤3:测试170
8.11.4步骤4:发布Artifact170
8.11.5步骤5:部署到目标环境171
8.11.6步骤6:验证部署171
8.11.7步骤7:必要时(可能)回滚172
8.12流水线故障处理172
8.13结论173
第三部分概念175
第9章安全性、权限和隐私177
9.1每个人都有责任,但你尤其有责任179
9.2做好被黑的准备180
9.2.1了解你的威胁和攻击者181
9.2.2设计的安全181
9.3,跟踪和审查所有秘密和访问183
9.4准备更新185
9.4.1深度防御186
9.4.2爆炸半径187
9.4.3信任,但要核查188
9.5验证所有用户输入并对设置重复检查190
9.5.1监控系统中的异常情况192
9.5.2测试你的安全192
9.5.3仔细选择依赖项并保持软件的近期新193
9.5.4优先保护你的数据和客户数据的隐私195
9.5.5不要干扰生产196
9.6确保你的电脑安全197
9.7继续学习197
9.8结论198
第10章质量、测试和模拟201
10.1代码质量的作用202
10.1.1代码风格203
10.1.2代码校验204
10.2测试206
10.2.1测试什么,不测试什么207
10.2.2测试类型207
10.2.3代码覆盖率212
10.2.4加强你的测试214
10.3模拟214
10.4结论218
第11章为失败做计划219
11.1简介:理解它,即使你不能管理它219
11.2识别风险221
11.3做好准备222
11.4做一个运行手册223
11.5计划宕机225
11.6监控你的云服务提供商226
11.7了解你的(服务)227
11.8结论228
第12章总结229
12.1在供应商之间做取舍230
12.2社区231
12.3寻求其他人的建议232
12.4陷入困境时该如何做233
12.5迈出职业生涯的下一步233

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网