《深入浅出Serverless 技术原理与应用实践》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:陈耿著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2019
  • ISBN:9787111613473
  • 页数:232 页
图书介绍:本书共分为11章,循序渐进、深入浅出地讲解Serverless相关的知识和技术。第1~3章重点介绍Serverless的概念和原理,为读者构建Serverless知识体系打下理论基础。第4章和第5章详细介绍了公有云Serverless平台的技术细节。第6章帮助读者快速了解当下热门的容器技术(Docker和Kubernetes)的原理和基本使用技巧。第7~10章针对私有云的Serverless计算平台进行了介绍,如OpenWhisk、Kubeless、Fission、OpenFaaS等。第11章针对Serverless技术的落地给出了建议,总结了本书对Serverless技术的观点,并对Serverless技术的未来进行了展望。

第1章 Serverless基础 1

1.1什么是Serverless 1

1.2 Serverless带来的价值 3

1.3 Serverless的技术实现 4

1.3.1理念与实现 4

1.3.2 FaaS与BaaS 5

1.4 Serverless应用架构 7

1.4.1传统应用架构 7

1.4.2 Serverless应用架构 7

1.4.3两种架构的比较 8

1.5 Serverless的技术特点 9

1.6 Serverless的应用场景 11

1.7 Serverless的局限 12

1.8本章小结 13

第2章 Serverless与相关技术 15

2.1云计算 15

2.1.1从私有数据中心到云 15

2.1.2 IaaS、 PaaS与SaaS 16

2.1.3 Serverless与云计算 17

2.2微服务 18

2.2.1从SOA到微服务 18

2.2.2微服务的价值与挑战 19

2.2.3 Serverless与微服务 19

2.3容器 20

2.3.1容器技术的兴起 20

2.3.2 Serverless与容器 21

2.4 PaaS 22

2.4.1以应用为中心 22

2.4.2 Serverless与PaaS 23

2.5 FaaS 24

2.5.1 Serverless实现的基础 24

2.5.2 FaaS的架构 24

2.5.3函数的生命周期 25

2.5.4函数工作流 26

2.6 BaaS 26

2.6.1 BaaS的价值 26

2.6.2广义的Serverless 27

2.7 NoOps 27

2.7.1无人运维吗 27

2.7.2“无服务器”与“无人运维” 28

2.8 DevOps 28

2.9云原生应用 29

2.9.1因云而生 29

2.9.2 Serverless与Cloud Native 29

2.10本章小结 30

第3章 Serverless的实现 31

3.1 Serverless技术的发展 31

3.2 Serverless与公有云 33

3.2.1 Amazon Web Services 34

3.2.2 Microsoft Azure 36

3.2.3 Google Cloud Platform 38

3.2.4 Webtask 39

3.2.5 Hyper.sh 39

3.2.6阿里云 40

3.2.7腾讯云 42

3.2.8小结 43

3.3 Serverless与私有化部署 43

3.3.1 OpenWhisk 43

3.3.2 Fission 44

3.3.3 Kubeless 45

3.3.4 OpenFaaS 45

3.3.5 Fn 47

3.3.6小结 48

3.4 Serverless框架和工具 49

3.4.1 Serverless Framewor 49

3.4.2 Chalice 50

3.4.3 Claudia js 50

3.4.4 Apex 51

3.4.5 Spring Cloud Function 51

3.4.6 AWS SAM 52

3.4.7小结 53

3.5 Serverless后台服务 53

3.6本章小结 54

第4章 AWS Lambda 55

4.1 AW S 55

4.2 AWS Serverless 56

4.3 AWS Lambda概述 57

4.4第一个Serverless应用 58

4.4.1获取AWS账号 58

4.4.2 AWS Lambda控制面板 59

4.4.3创建函数 61

4.4.4编辑函数 62

4.4.5测试函数 63

4.4.6外部访问 63

4.4.7运维监控 66

4.4.8回顾 66

4.5权限控制 66

4.5.1IAM 67

4.5.2策略 68

4.5.3角色 68

4.6编程模型 69

4.6.1代码开发 69

4.6.2 Handler 70

4.6.3执行上下文 70

4.6.4日志输出 71

4.6.5异常处理 72

4.6.6无状态 72

4.7事件驱动 73

4.7.1事件源 73

4.7.2触发模式 74

4.8日志监控 75

4.9开发辅助 77

4.9.1环境变量 77

4.9.2标签 77

4.9.3版本控制 78

4.10运行限制 78

4.10.1资源限制 79

4.10.2并发控制 79

4.11配置与部署 79

4.12本章小结 81

第5章 Azure Functions 83

5.1 Microsoft Azure 83

5.2 Azure Functions概述 85

5.3创建Azure Serverless应用 86

5.3.1注册Azure账号 86

5.3.2 Azure控制台 87

5.3.3函数应用 88

5.3.4创建函数 90

5.3.5调用函数 92

5.3.6日志与监控 93

5.4 Azure Functions命令行 95

5.4.1安装命令行 95

5.4.2创建本地函数 96

5.4.3测试本地函数 97

5.4.4发布至公有云 98

5.5深入了解Azure Function 99

5.5.1函数应用设置 99

5.5.2 Trigger与Bindings 101

5.5.3函数代理 103

5.5.4 Slot 104

5.6私有云部署 105

5.7本章小结 107

第6章 容器技术基础 108

6.1什么是容器 108

6.1.1容器 109

6.1.2容器镜像 110

6.1.3镜像仓库 110

6.1.4容器编排 111

6.1.5容器与Serverless 111

6.2 Docker 111

6.2.1 Vagrant 111

6.2.2 VirtualBox 112

6.2.3安装Docker 113

6.2.4运行容器 114

6.2.5构建容器镜像 116

6.2.6分享镜像 117

6.3 Kubernetes基础 118

6.3.1命名空间 120

6.3.2 Pod 120

6.3.3 Service 120

6.3.4 Deployment 120

6.3.5 ReplicaSet 121

6.3.6网络 121

6.3.7 Ingress 121

6.3.8交互工具 122

6.4构建Kubernetes环境 122

6.4.1启动Vagrant Box 123

6.4.2修改默认域 124

6.5 Kubernetes实战 124

6.5.1部署容器 124

6.5.2弹性扩展 126

6.5.3服务发现 127

6.5.4资源组织 128

6.5.5容器调度 129

6.6本章小结 131

第7章 OpenWhisk 132

7.1 OpenWhisk项目 132

7.2 Hello Whisk 133

7.3逻辑架构 135

7.3.1 Namespace 136

7.3.2 Package 136

7.3.3 Action 137

7.3.4 Feed 141

7.3.5 Trigger 141

7.3.6 Rule 142

7.4系统架构 143

7.5 Kubernetes部署 146

7.5.1准备Kubemetes集群 146

7.5.2集群基础设置 146

7.5.3创建访问入口 149

7.5.4部署组件 149

7.5.5加载系统配置 153

7.5.6测试集群 153

7.5.7删除集群 154

7.6 Helm部署 155

7.6.1安装Helm 155

7.6.2环境配置 155

7.6.3部署Chart 156

7.6.4管理应用 156

7.7蛋糕管理服务 156

7.7.1开发环境 157

7.7.2准备数据库 157

7.7.3定义Action 157

7.7.4创建Package 159

7.7.5部署Action 160

7.7.6发布API 161

7.8本章小结 162

第8章 Kubeless 163

8.1 Kubeless项目 163

8.1.1系统架构 164

8.1.2运行时 165

8.2 Kubeless概述 165

8.2.1部署Kubeless 165

8.2.2配置客户端 166

8.2.3部署函数 167

8.2.4 Kubeless UI 168

8.3 Function 169

8.3.1函数部署 170

8.3.2函数调用 172

8.3.3资源限制 172

8.3.4自动扩展 173

8.4 Trigger 173

8.4.1 HTTPTrigger 173

8.4.2 Cronjob Trigger 175

8.4.3 Kafka Trigger 175

8.4.4 NATS Trigger 178

8.5本章小结 179

第9章 Fission 180

9.1 Fission项目 180

9.1.1逻辑架构 180

9.1.2系统架构 181

9.2部署Fission 182

9.2.1安装Helm 182

9.2.2部署Fission Chart 182

9.2.3命令行工具 183

9.2.4 Hello Fission 183

9.3深入探讨Fission 184

9.3.1 Environment 185

9.3.2 Function 187

9.3.3 Package 188

9.3.4 Trigger 191

9.4执行模式 192

9.4.1 Pool-based模式 192

9.4.2 New Deploy模式 193

9.5 Workflows 194

9.5.1 Workflows定义 194

9.5.2配置Workflows 195

9.5.3 Fortune Whale 195

9.6本章小结 197

第10章 OpenFaaS 199

10.1 OpenFaaS项目 199

10.1.1 OpenFaaS社区 200

10.1.2系统架构 200

10.2初识OpenFaaS 200

10.2.1部署组件 201

10.2.2命令行工具 202

10.2.3创建函数 202

10.2.4图形界面 203

10.3 OpenFaaS函数 203

10.3.1抽象方式 203

10.3.2函数模板 204

10.3.3创建函数 205

10.3.4构建函数 206

10.3.5推送镜像 207

10.3.6部署函数 207

10.4 Watchdog 208

10.4.1工作原理 208

10.4.2配置Watchdog 209

10.4.3 of-watchdog 210

10.5监控 210

10.5.1监控指标 210

10.5.2监控面板 210

10.5.3监控预警 213

10.6弹性扩展 214

10.6.1基于Alertmanager扩展 214

10.6.2基于HPA扩展 215

10.7函数应用市场 215

10.8本章小结 217

第11章 Serverless的落地与展望 218

11.1 Serverless的落地 218

11.2 Serverless平台建设 219

11.2.1公有云 219

11.2.2私有云 220

11.2.3混合云 220

11.3 Serverless应用架构转型 223

11.3.1开发模式 223

11.3.2设计原则 225

11.3.3迁移与重构 226

11.4 Serverless的未来 227

11.4.1建立行业规范 228

11.4.2完善工具链 229

11.4.3深入结合容器 229

11.5本章小结 230

后记 232