包邮 Python云原生+可伸缩架构+DevOps软件架构师行动指南 共3本

包邮 Python云原生+可伸缩架构+DevOps软件架构师行动指南 共3本 pdf epub mobi txt 电子书 下载 2025

图书标签:
  • Python
  • 云原生
  • 可伸缩架构
  • DevOps
  • 软件架构
  • 架构师
  • 编程
  • 技术
  • 开发
  • 运维
想要找书就要到 新城书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
店铺: 旷氏文豪图书专营店
出版社: 电子工业
ISBN:9787121341779
商品编码:28881567738
开本:16
出版时间:2017-03-01

具体描述

SL252  9787121341779 9787111562610 9787121316845

Python云原生 构建应对海量用户数据的高可扩展Web应用

《Python云原生:构建应对海量用户数据的高可扩展Web应用》以一个应用开发贯穿始终,从云原生和微服务的概念原理讲起,使用Python构建云原生应用,并使用React构建Web视图。为了应对大规模的互联网流量,使用了Flux构建UI和事件溯源及CQRS模式。考虑到Web应用的安全性,《Python云原生:构建应对海量用户数据的高可扩展Web应用》对此也给出了解决方案。书中对于关键步骤进行了详细讲解并给出运行结果。读者可以利用Docker容器、CI/CD工具,敏捷构建和发布本书示例中的应用到AWS、Azure这样的公有云平台上,再利用平台工具对基础设施和应用的运行进行持续监控。


前言 XIII

1 云原生应用和微服务简介 1

云计算简介 2

软件即服务 3

平台即服务 4

基础设施即服务 4

云原生概念 5

云原生为何物?为何重要 5

云原生运行时环境 6

云原生架构 6

理解十二要素应用 9

设置Python环境 11

安装Git 11

安装和配置Python 19

熟悉GitHub和Git命令 26

本章小结 27

2 使用Python构建微服务 29

Python概念解析 29

模块 29

函数 30

微服务模型 31

构建微服务 32

构建user资源的方法 38

构建tweet资源的方法 47

测试RESTful API 52

单元测试 53

本章小结 56

3 使用Python构建Web应用 57

应用入门 58

创建应用程序用户 59

使用Observable和AJAX 61

绑定数据到adduser模板 63

用户发送推文 65

在推文模板上使用Observable和AJAX 67

绑定数据到addtweet模版 69

CORS——跨源资源共享 71

Session管理 72

Cookies 75

本章小结 76

4 与数据服务交互 77

MongoDB有什么优势,为什么要使用它 77

MongoDB中的术语 78

安装MongoDB 79

初始化MongoDB数据库 80

在微服务中集成MongoDB 82

处理user资源 83

处理推文资源 90

本章小结 93

5 使用React构建Web视图 95

理解React 95

配置React环境 96

安装node 96

创建package.json 97

使用React构建webViews 98

在微服务中集成Web视图 106

用户验证 109

用户登录 109

用户注册 111

用户资料 114

用户注销 117

测试React webViews 117

Jest 118

Selenium 118

本章小结 118

6 使用Flux来构建UI以应对大规模流量 119

Flux介绍 119

Flux概念 120

在UI中添加日期 121

使用Flux创建UI 121

动作和分派器 122

数据源 125

本章小结 134

7 事件溯源与CQRS 135

简介 136

理解事件溯源 138

事件溯源定律 140

CQRS介绍 142

CQRS架构的优点 144

事件溯源与CQRS面临的挑战 145

应对挑战 146

解决问题 146

使用Kafka作为事件存储 151

使用Kafka做事件溯源 152

工作原理 154

本章小结 154

8 Web应用的安全性 155

网络安全性和应用安全性 155

网络应用栈 155

开发安全的Web应用程序建议 176

本章小结 176

9 持续交付 177

持续集成与持续交付的变迁 177

理解SDLC 177

敏捷开发流程 178

持续集成 180

Jenkins持续集成工具 182

安装Jenkins 182

配置Jenkins 185

Jenkins自动化配置 188

Jenkins安全配置 189

插件管理 190

版本控制系统 191

设置Jenkins job 191

理解持续交付 198

持续交付的诉求 198

持续交付与持续部署 199

本章小结 199

10 应用容器化 201

Docker介绍 201

关于Docker和虚拟化的一些事实 202

Docker Engine——Docker的骨干 202

配置Docker环境 203

Docker Swarm 206

在Docker中部署应用 210

构建和运行MongoDB Docker服务 211

Docker Hub是用来干什么的 214

Docker Compose 221

本章小结 223

11 部署到AWS云平台 225

AWS入门 225

在AWS上构建应用程序基础架构 227

生成认证密钥 229

Terraform——基础设施即代码构建工具 233

CloudFormation——构建基础设施即代码的AWS工具 244

云原生应用的持续部署 251

工作原理 252

本章小结 259

12 部署到Azure云平台 261

Microsoft Azure入门 261

Microsoft Azure基本知识 263

在Azure中创建虚拟机 265

在Azure中使用Jenkins CI/CD流水线 280

本章小结 285

13 监控云应用 287

云平台上的监控 287

基于AWS的服务 288

CloudWatch 288

CloudTrail 293

AWS Config service 294

Microsoft Azure服务 296

Application Insights 296

ELK技术栈介绍 299

开源监控工具 305

Prometheus 305

本章小结 308

可伸缩架构:面向增长应用的高可用

随着互联网的发展越来越成熟,流量和数据量飞速增长,许多公司的关键应用程序都面临着伸缩性的问题,系统变得越来越复杂和脆弱,从而导致风险上升、可用性降低。本书是一本实践指南,让IT、DevOps和系统稳定性管理员能够了解到,如何避免应用程序在发展过程中变得缓慢、数据不一致或者不可用等问题。规模增长并不只意味着处理更多的用户,还包括管理更多的风险和保证系统的可用性。作者Lee Atchison 在可用性、风险管理、服务和微服务、扩展应用程序和云服务方面提出了一些技巧,使得我们在构建各类应用程序时,既能够保证产品的质量,又能够处理海量的流量、数据以及需求。如果你管理着软件开发人员、系统可靠性工程师、DevOps工程师,或者你经营着一个拥有大规模应用程序和系统的机构,本书中所提供的建议和指导都能够帮助你,让你的系统运行得更加平稳和可靠。

序. .......................... xv 
前言. ......................xvii 

第 1章 什么是可用性... 2 
可用性与可靠性 ............................................... 3 
什么导致了低可用性 ....................................... 4 

第 2章 提高应用程序可用性的五个要点......................................... 6 
要点 1:时刻考虑应对故障 ............................. 7 
要点 2:时刻考虑如何伸缩 ............................. 8 
要点 3:缓和风险 ............................................ 9 
要点 4:监控可用性 ...................................... 10 
要点 5:以预测和确定的方式来应对可用性问题 ...................................................... 11 
做好准备 ........................................................ 12 

第 3章 测量可用性... 13 
N个 9 14 
什么样的可用性是合理的 ...................... 14 
不要上当 ........................................................ 14 
通过数字来体现可用性.................................. 15 
测试并跟踪当前的可用性 .............................. 17 
将手动流程自动化 ......................................... 17 
自动化部署............................................. 18 
配置管理 ................................................ 18 
更改实验和高频次更改 .......................... 19 
自动化的变更完备性测试 ...................... 20 
改进你的系统 ................................................ 20 
不断变化和发展中的应用程序 ...................... 20 
时刻关注可用性 ............................................. 21 

第 5章 什么是风险管理. .......................................................... 24 
管理风险 ........................................................ 25 
识别风险 ........................................................ 25 
消除最严重的风险 ......................................... 26 
风险缓和 ........................................................ 26 
定期检查 ........................................................ 27 
对风险管理的总结 ......................................... 27 

第 6章 可能性与严重性. .......................................................... 28 
10佳列表:低可能性,低严重性 .................. 29 
订单数据库:低可能性,高严重性 ............... 29 
自定义字体:高可能性,低严重性 ............... 30 
T恤图片:高可能性,高严重性 ................... 31 

第 7章 风险模型...... 32 
风险模型的作用域 ......................................... 34 
创建风险模型 ................................................ 34 
通过头脑风暴建立风险列表 .................. 35 
填写可能性和严重性字段 ...................... 36 
风险项详情............................................. 37 
触发计划 ................................................ 37 
使用风险模型来制订计划 .............................. 37 
维护风险模型 ................................................ 38 

第 8章 风险缓和...... 40 
恢复计划 ........................................................ 41 
容灾计划 ........................................................ 42 
改进我们的风险状况 ..................................... 43 

第 9章 比赛日......... 44 
预发布环境和生产环境.................................. 44 
在生产环境中举行比赛日的担心 ................... 46 
比赛日测试 .................................................... 47 

第 10章 构建低风险系统......................................................... 48 
冗余 .. 48 
幂等接口示例 ................................................ 49 
增加了复杂性的冗余改进 .............................. 49 
独立性 ............................................................ 50 
安全 .. 51 
简单性 ............................................................ 51 
自修复 ............................................................ 52 
运维流程 ........................................................ 53 

第 11章 为什么使用服务. ......................................................... 56 
单体应用程序 ................................................ 56 
基于服务的应用程序 ..................................... 57 
所有权收益 .................................................... 58 
规模收益 ........................................................ 60 
如何定义服务 ................................................ 63 
深入了解服务 ......................................... 63 
指导原则 1:特定的业务需求 ................ 63 
指导原则 2:清晰和独立的团队所有权 . 64 
指导原则 3:天然隔离的数据 ................ 65 
指导原则 4:共享的能力 /数据 ............. 67 
多种原因 ................................................ 67 
过犹不及 ........................................................ 68 
适当的平衡 .................................................... 69 

第 13章 处理服务故障............................................................ 70 
级联式的服务故障 ......................................... 70 
如何响应服务故障 ......................................... 71 
可预测的响应 ......................................... 72 
可理解的响应 ......................................... 73 
合理的响应............................................. 73 
如何确定故障 ................................................ 74 
适当的行为 .................................................... 76 
优雅降级 ................................................ 76 
优雅补偿 ................................................ 77 
尽早失败 ................................................ 77 
用户导致的问题 ......................



DevOps:软件架构师行动指南

《DevOps:软件架构师行动指南》从软件架构师视角讲解了引入DevOps实践所需要拥有的技术能力,涵盖运维、部署流水线、监控、安全与审计以及质量关注。通过三个经典案例研究,讲解在不同场景下应用DevOps实践的方法,对于想应用DevOps实践的组织提供切实的指导。

  全书共五部分。一部分(第~3章)讨论DevOps的背景,包括DevOps的目标和期望使用DevOps解决的问题、云、运维等。第二部分(第4~6章)介绍部署流水线,从功能性视角介绍部署实践的内容,涵盖微服务架构风格、构建和测试过程、工具链,以及具体的部署问题。第三部分(第7~10章)介绍横切关注点,讨论了计算监控、实时测试、安全与安全审计,以及部署流水线的性能、可靠性、可修改性等。还介绍了业务关注点,包括为引进DevOps所需要准备的业务计划的组成元素,以及如何进行论证、推出和测量业务计划。第四部分(第11~13章)描述3个案例研究:为了实现业务连续性如何维护两个数据中心,管理一个持续部署流水线,一个组织如何迁移到微服务架构上。第五部分(第14~15章)设想evOps的未来,介绍了目前的研究以及如何基于把运维视作一系列过程来进行,并给出了3~5年内DevOps将如何发展的预测。

前言

第一部分 背  景

第1章 DevOps是什么 …… 2

1.1 概述 …… 2

1.1.1 定义DevOps …… 2

1.1.2 DevOps实践 …… 3

1.1.3 持续部署的例子:IMVU …… 5

1.2 为什么是DevOps …… 5

1.2.1 发布过程 …… 5

1.2.2 配合不佳的原因 …… 7

1.2.3 运维人员能力有限 …… 7

1.3 DevOps视角 …… 8

1.3.1 自动化 …… 8

1.3.2 开发团队的职责 …… 9

1.4 DevOps与敏捷 …… 9

1.5 团队结构 …… 10

1.5.1 团队规模 …… 10

1.5.2 团队角色 …… 10

1.6 协作 …… 13

1.6.1 协作的形式 …… 13

1.6.2 团队协作 …… 14

1.6.3 跨团队协作 …… 14

1.7 障碍 …… 15

1.7.1 文化及组织类型 …… 15

1.7.2 部门类型 …… 16

1.7.3 筒仓思维方式(Silo Mentality) …… 17

1.7.4 工具支持 …… 17

1.7.5 人员问题 …… 17

1.8 小结 …… 18

1.9 更多阅读材料 …… 18

第2章 云即平台 …… 20

2.1 概述 …… 20

2.2 云的特性 …… 21

2.2.1 虚拟化 …… 22

2.2.2 IP和域名系统管理 …… 23

2.2.3 平台即服务 …… 25

2.2.4 分布式环境 …… 25

2.3 独特的云特性对DevOps的影响 …… 30

2.3.1 环境 …… 30

2.3.2 轻松创建虚拟机 …… 31

2.3.3 数据考量 …… 31

2.4 小结 …… 32

2.5 更多阅读材料 …… 33

第3章 运维 …… 34

3.1 概述 …… 34

3.2 运维服务 …… 34

3.2.1 供给硬件 …… 34

3.2.2 供给软件 …… 35

3.2.3 IT功能 …… 36

3.2.4 服务级别协议 …… 36

3.2.5 容量规划 …… 36

3.2.6 业务连续性和安全 …… 37

3.2.7 服务策略 …… 38

3.2.8 服务设计 …… 39

3.2.9 服务移交 …… 39

3.2.10 服务运维 …… 40

3.2.11 服务运维概念 …… 40

3.3 服务运维功能 …… 41

3.4 持续服务改进 …… 42

3.5 运维和DevOps …… 43

3.6 小结 …… 44

3.7 更多阅读材料 …… 44

第二部分 部署流水线

第4章 整体架构 …… 48

4.1 DevOps实践是否需要架构调整 …… 48

4.2 架构结构总览 …… 49

4.2.1 协作模式 …… 50

4.2.2 资源管理 …… 51

4.2.3 架构元素之间的映射 …… 52

4.3 微服务架构的质量 …… 52

4.3.1 可靠性 …… 53

4.3.2 可修改性 …… 54

4.4 团队的亚马逊规则 …… 55

4.5 现有系统的微服务方案 …… 56

4.6 小结 …… 56

4.7 更多阅读材料 …… 57

第5章 构建与测试 …… 58

5.1 概述 …… 58

5.2 在部署流水线中移动系统 …… 59

5.2.1 可追溯性 …… 59

5.2.2 环境 …… 60

5.3 横切关注点 …… 61

5.4 开发及提交前测试 …… 63

5.4.1 版本控制与分支 …… 63

5.4.2 功能开关 …… 65

5.4.3 配置参数 …… 66

5.4.4 在开发和提交前测试中的测试 …… 67

5.5 构建与集成测试 …… 67

5.5.1 构建脚本 …… 67

5.5.2 打包 …… 68

5.5.3 持续集成与构建状态 …… 69

5.5.4 集成测试 …… 70

5.6 用户验收测试/预发布/性能测试 …… 70

5.7 生产环境 …… 71

5.7.1 早期发布测试 …… 71

5.7.2 错误检测 …… 72

5.7.3 现场测试 …… 72

5.8 事件 …… 73

5.9 小结 …… 73

5.10 更多阅读材料 …… 74

第6章 部署 …… 75

6.1 概述 …… 75

6.2 部署管理的策略 …… 76

6.2.1 蓝/绿部署 …… 76

6.2.2 滚动升级 …… 77

6.3 逻辑一致性 …… 78

6.3.1 相同服务的多个版本同时存在 …… 78

6.3.2 兼容数据库中保存的数据 …… 81

6.4 打包 …… 82

6.5 多环境部署 …… 84

6.6 部分部署 …… 86

6.6.1 金丝雀测试 …… 86

6.6.2 A/B测试 …… 87

6.7 回滚 …… 87

6.8 工具 …… 89

6.9 小结 …… 90

6.10 更多阅读材料 …… 90

第三部分 横切关注点

第7章 监控 …… 94

7.1 概述 …… 94

7.2 监控什么 …… 95

7.2.1 故障检测 …… 96

7.2.2 性能下降检测 …… 96

7.2.3 容量规划 …… 97

7.2.4 用户交互 …… 98

7.2.5 入侵检测 …… 99

7.3 如何监控 …… 99

7.3.1 基于代理的监控和无代理的监控 …… 101

7.3.2 监控运维活动 …… 102

7.3.3 收集和存储 …… 102

7.4 什么时候变更监控配置 …… 103

7.5 解释监控数据 …… 103

7.5.1 日志 …… 104

7.5.2 绘图和展示 …… 105

7.5.3 警报和警告 …… 105

7.5.4 诊断和反应 …… 106

7.5.5 监控DevOps过程 …… 106

7.6 挑战 …… 107

7.6.1 挑战1:持续变更下的监控 …… 107

7.6.2 挑战2:自下向上与自上向下和在云中的监控 …… 108

7.6.3 挑战3:监控微服务架构 …… 109

7.6.4 挑战4:处理大容量的分布式(日志)数据 …… 109

7.7 工具 …… 109

7.8 从监控数据中诊断出异常——Platformer.com的案例 …… 110

7.8.1 背景 …… 111

7.8.2 数据收集 …… 112

7.8.3 检测异常 …… 112

7.8.4 思考 …… 113

7.9 小结 …… 113

7.10 更多阅读材料 …… 114

第8章 安全与安全审计 …… 115

8.1 安全是什么 …… 115

8.2 威胁 …… 117

8.3 需要保护的资源 …… 118

8.4 安全角色和活动 …… 120

8.5 身份管理 …… 122

8.5.1 认证 …… 123

8.5.2 授权 …… 125

8.6 访问控制 …… 126

8.6.1 阻止访问 …… 127

8.6.2 谁负责预防控制 …… 129

8.7 检测、审计和拒绝服务 …… 129

8.8 开发 …… 130

8.9 审计者 …… 130

8.10 应用设计考虑 …… 131

8.11 部署流水线设计考虑 …… 132

8.12 小结 …… 133

8.13 更多阅读材料 ……



用户评价

评分

评分

评分

评分

评分

评分

评分

评分

评分

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有