[套装书]OpenShift在企业中的实践:PaaS DevOps 微服务+DevOps:软件架构师行动指南(2册)

作者
魏新宇 郭跃军(澳)伦恩·拜斯(Len Bass)
丛书名
云计算与虚拟化技术丛书
出版社
机械工业出版社
ISBN
9781911201875
简要
简介
内容简介书籍计算机书籍 ---------------------------OpenShift在企业中的实践:PaaS DevOps 微服务--------------------------- 本书从企业数字化转型入手,介绍企业如何通过OpenShift构建PaaS平台、实现DevOps、实现微服务治理和微服务的高级管理。 全书共分为四大部分: *部分PaaS能力建设。即本书的PaaS三部曲”,包含第2-4章的内容,分别是:基于OpenShift构建企业级PaaS、OpenShift在企业中的开发和运维实践、OpenShift在公有云上的实践。 第二部分DevOps能力建设。即本书的DevOps两部曲”,包含第5-6章的内容,分别为:在OpenShift上实现DevOps、DevOps在企业中的实践。 第三部分微服务能力建设。即本书微服务三部曲”,包含第7-9章的内容,分别为:微服务介绍及Spring Cloud在OpenShift上落地、Istio架构介绍与安装部署、基于OpenShift和Istio实现微服务落地。 第四部分微服务高级管理。包含本书第10章的内容。介绍基于OpenShft和红帽其他解决方案微服务的高级管理(API管理、分布式集成和流程自动化),并*终实现企业业务中台的建设。 ---------------------------DevOps:软件架构师行动指南--------------------------- 《DevOps:软件架构师行动指南》从软件架构师视角讲解了引入DevOps实践所需要拥有的技术能力,涵盖运维、部署流水线、监控、安全与审计以及质量关注。通过三个经典案例研究,讲解在不同场景下应用DevOps实践的方法,对于想应用DevOps实践的组织提供切实的指导。全书共五部分。第一部分(第1~3章)讨论DevOps的背景,包括DevOps的目标和期望使用DevOps解决的问题、云、运维等。第二部分(第4~6章)介绍部署流水线,从功能性视角介绍部署实践的内容,涵盖微服务架构风格、构建和测试过程、工具链,以及具体的部署问题。第三部分(第7~10章)介绍横切关注点,讨论了计算监控、实时测试、安全与安全审计,以及部署流水线的性能、可靠性、可修改性等。还介绍了业务关注点,包括为引进DevOps所需要准备的业务计划的组成元素,以及如何进行论证、推出和测量业务计划。第四部分(第11~13章)描述3个案例研究:为了实现业务连续性如何维护两个数据中心,管理一个持续部署流水线,一个组织如何迁移到微服务架构上。第五部分(第14~15章)设想evOps的未来,介绍了目前的研究以及如何基于把运维视作一系列过程来进行,并给出了3~5年内DevOps将如何发展的预测。 .
目录



---------------------------OpenShift在企业中的实践:PaaS DevOps 微服务---------------------------


赞誉
推荐序
前言
致谢
第 1 章 通过 OpenShift 实现企业的数字化转型
1.1 企业进行数字化转型的必要性
1.2 企业数字化转型之 PaaS
1.3 企业数字化转型之 DevOps
1.3.1 从瀑布式开发到敏捷开发
1.3.2 从敏捷开发到 DevOps
1.4 企业数字化转型之微服务
1.4.1 微服务架构简介
1.4.2 微服务架构的主要类型
1.4.3 企业实施微服务架构的收益和原则
1.5 PaaS、DevOps 与微服务的关系
1.6 企业数字化转型的实现
1.6.1 企业业务中台的建设
1.6.2 企业数字化转型步骤
1.7 本章小结
第 2 章 基于 OpenShift 构建企业级PaaS 平台
2.1 OpenShift 与 Kubernetes 的关系
2.1.1 OpenShift 发展简史
2.1.2 OpenShift 对 Kubernetes 的增强
2.1.3 OpenShift 对 Kubernetes生态的延伸
2.2 OpenShift 的架构介绍与规划
2.2.1 OpenShift 的逻辑架构
2.2.2 OpenShift 的技术架构
2.2.3 OpenShift 的组件架构
2.2.4 OpenShift 的部署架构
2.3 OpenShift 部署架构参考
2.4 OpenShift 安装与部署
2.4.1 OpenShift3 的私有云部署
2.4.2 OpenShift4.1 的私有云部署
2.5 本章小结
第 3 章 OpenShift 在企业中的开发和运维实践
3.1 OpenShift 在企业中面向的对象
3.2 OpenShift 在企业中的开发实践
3.2.1 应用向 OpenShift 容器化迁移方法
3.2.2 基于 Fabric8 在 OpenShift 上发布应用
3.2.3 OpenShift API 的调用
3.2.4 在 OpenShift 上部署有状态应用
3.3 OpenShift 在企业中的运维实践
3.3.1 OpenShift 运维指导
3.3.2 OpenShift 安全实践
3.3.3 OpenShift 性能优化
3.3.4 OpenShift 监控系统与改造
3.3.5 OpenShift 日志系统与改造
3.3.6 OpenShift 备份恢复与容灾
3.4 本章小结
第 4 章 OpenShift 在公有云上的实践
4.1 OpenShift 在公有云和私有云上的区别
4.2 OpenShift 在公有云上的架构模型
4.2.1 单个 PaaS 共享架构模型
4.2.2 公有云服务自维护架构模型
4.2.3 控制节点托管架构模型
4.2.4 公有云租户独享 PaaS 架构模型
4.3 OpenShift 在公有云上的部署方式
4.4 OpenShift 在 AWS 上的实践
4.4.1 AWS 服务简介
4.4.2 OpenShift3 在 AWS 上的实践
4.4.3 OpenShift4 在 AWS 上的实践
4.4.4 AWS 上的 Service Broker
4.5 OpenShift 在阿里云上的实践
4.6 本章小结
第 5 章 在 OpenShift 上实现DevOps
5.1 DevOps 的适用场景
5.2 DevOps 的实现路径
5.2.1 组织与角色
5.2.2 平台与工具
5.2.3 流程与规范
5.2.4 文化与持续改进
5.2.5 总结
5.3 基于 OpenShift 实现 CI/CD 的几种方式
5.3.1 使用自定义的 S2I 模板
5.3.2 自定义模板实现 Binary部署
5.3.3 在源码外构建 Pipeline
5.3.4 在源码内构建 Pipeline
5.3.5 OpenShift 中 Jenkins 的工作方式选择
5.4 在 OpenShift 上实现持续交付
5.4.1 OpenShift 上的持续交付工具介绍
5.4.2 持续交付的实现
5.4.3 可以优化的部分
5.5 Ansible 实现混合云中的DevOps
5.5.1 Ansible 介绍
5.5.2 Ansible 基本使用场景
5.5.3 Ansible 在 DevOps 中的应用
5.6 本章小结
第 6 章 DevOps 在企业中的实践
6.1 成功实践 DevOps 的关键要素
6.1.1 定义全景视图和目标
6.1.2 标准化的流程和组织
6.1.3 建立 DevOps 基石:自动化
6.1.4 协同工作的文化
6.2 某大型客户 DevOps 案例分析
6.2.1 客户现状及项目背景
6.2.2 DevOps 落地实践
6.2.3 实践收益
6.3 本章小结
第 7 章 微服务介绍及 Spring Cloud在 OpenShift 上的落地
7.1 企业应用的发展
7.1.1 Jakarta EE 介绍
7.1.2 Jakarta EE 应用架构
7.1.3 Web Services 的大量使用
7.1.4 现代应用客户端开发方式
7.1.5 Web Services 的两种类型
7.1.6 企业应用发展的未来
7.2 微服务介绍
7.2.1 微服务方法论与设计原则
7.2.2 MicroProfile微服务框架
7.2.3 Spring Cloud 微服务框架
7.2.4 Istio微服务框架
7.2.5 微服务架构的选择
7.3 企业对微服务治理的需求
7.4 Spring Cloud 在 OpenShift 上的落地
7.4.1 Spring Cloud 在 OpenShift上实现的不同
7.4.2 Spring Cloud 在 OpenShift上的实现
7.5 本章小结
第 8 章 Istio架构介绍与安装部署
8.1 Istio的技术架构
8.1.1 两个平面的定义
8.1.2 控制平面
8.1.3 数据平面
8.1.4 Sidecar 的注入
8.2 在 OpenShift 上部署Istio
8.2.1 基于 OpenShift 的Istio与社区版本Istio的区别
8.2.2 在 OpenShift 上安装Istio
8.3 Istio的工具集简介
8.3.1 Istio的工具集:Grafana
8.3.2 Istio的工具集:Prometheus
8.3.3 Istio的工具集:Kiali
8.3.4 Istio的工具集:Jaeger
8.4 在Istio中部署Bookinfo微服务
8.4.1 Bookinfo微服务架构
8.4.2 在 OpenShift 中部署Bookinfo
8.4.3 Bookinfo微服务效果展示
8.5 Bookinfo微服务源码分析
8.5.1 Productpage微服务的源码
8.5.2 Reviews 微服务的源码
8.5.3 源码中Mongodb和Mysql的配置
8.5.4 Ratings 微服务的源码
8.5.5 Bookinfo访问效果展示
8.6 本章小结
第 9 章 基于 OpenShift 和Istio实现微服务落地
9.1 Istio的基本功能
9.1.1 Istio路由基本概念
9.1.2 基于目标端的灰度 / 蓝绿发布
9.1.3 微服务的灰度上线
9.1.4 微服务的限流
9.1.5 微服务的熔断
9.1.6 微服务的黑名单
9.2 对 OpenShift 上Istio的重要说明
9.2.1 OpenShift 上Istio入口访问方式的选择
9.2.2 OpenShift Router 和IstioIngessgateway的联系与区别
9.2.3 Istio配置生效的方式和选择
9.3 企业应用向Istio迁移
9.3.1 使用本地构建方式将应用迁移到Istio的步骤
9.3.2 三层微服务源码分析
9.3.3 三层微服务向Istio中迁移展示
9.4 Istio纳管微服务
9.4.1 纳管场景重要说明
9.4.2 三层微服务配置路由管理
9.4.3 三层微服务配置限流和熔断
9.4.4 三层微服务配置超时和重试
9.4.5 三层微服务配置错误注入
9.4.6 三层微服务配置黑白名单
9.4.7 三层微服务配置验证与授权
9.5 Istio生产使用建议
9.5.1 Istio的性能指标
9.5.2 Istio的调优参考
9.5.3 Istio的运维建议
9.6 基于 OpenShift 实现的企业微服务治理需求
9.7 本章小结
第 10 章 微服务的高级管理
10.1 微服务的 API 管理
10.1.1 API 经济的由来
10.1.2 API 经济的实现
10.1.3 API 网关与 API 管理的区别
10.2 微服务的 API 管理方案
10.2.1 红帽 API 管理方案的市场地位
10.2.2 红帽 3Scale 的技术架构与实现效果
10.2.3 红帽 3Scale 对容器化应用的管理
10.2.4 红帽 3Scale 与Istio的集成
10.3 微服务的分布式集成
10.3.1 分布式集成方案
10.3.2 基于 OpenShift 和 Camel 的微服务集成
10.4 微服务的流程自动化
10.4.1 流程与规则
10.4.2 红帽的微服务流程自动化方案
10.4.3 RHPAM 与微服务的集成案例环境准备
10.4.4 RHPAM 与微服务的集成实验流程验证
10.5 业务中台的技术实现
10.6 本章小结
附录 OpenShift 投资回报率分析



---------------------------DevOps:软件架构师行动指南---------------------------


译者序前言第一部分 背  景第1章 DevOps是什么 …… 21.1 概述 …… 21.1.1 定义DevOps …… 21.1.2 DevOps实践 …… 31.1.3 持续部署的例子:IMVU …… 51.2 为什么是DevOps …… 51.2.1 发布过程 …… 51.2.2 配合不佳的原因 …… 71.2.3 运维人员能力有限 …… 71.3 DevOps视角 …… 81.3.1 自动化 …… 81.3.2 开发团队的职责 …… 91.4 DevOps与敏捷 …… 91.5 团队结构 …… 101.5.1 团队规模 …… 101.5.2 团队角色 …… 101.6 协作 …… 131.6.1 协作的形式 …… 131.6.2 团队协作 …… 141.6.3 跨团队协作 …… 141.7 障碍 …… 151.7.1 文化及组织类型 …… 151.7.2 部门类型 …… 161.7.3 筒仓思维方式(Silo Mentality) …… 171.7.4 工具支持 …… 171.7.5 人员问题 …… 171.8 小结 …… 181.9 更多阅读材料 …… 18第2章 云即平台 …… 202.1 概述 …… 202.2 云的特性 …… 212.2.1 虚拟化 …… 222.2.2 IP和域名系统管理 …… 232.2.3 平台即服务 …… 252.2.4 分布式环境 …… 252.3 独特的云特性对DevOps的影响 …… 302.3.1 环境 …… 302.3.2 轻松创建虚拟机 …… 312.3.3 数据考量 …… 312.4 小结 …… 322.5 更多阅读材料 …… 33第3章 运维 …… 343.1 概述 …… 343.2 运维服务 …… 343.2.1 供给硬件 …… 343.2.2 供给软件 …… 353.2.3 IT功能 …… 363.2.4 服务级别协议 …… 363.2.5 容量规划 …… 363.2.6 业务连续性和安全 …… 373.2.7 服务策略 …… 383.2.8 服务设计 …… 393.2.9 服务移交 …… 393.2.10 服务运维 …… 403.2.11 服务运维概念 …… 403.3 服务运维功能 …… 413.4 持续服务改进 …… 423.5 运维和DevOps …… 433.6 小结 …… 443.7 更多阅读材料 …… 44第二部分 部署流水线第4章 整体架构 …… 484.1 DevOps实践是否需要架构调整 …… 484.2 架构结构总览 …… 494.2.1 协作模式 …… 504.2.2 资源管理 …… 514.2.3 架构元素之间的映射 …… 524.3 微服务架构的质量 …… 524.3.1 可靠性 …… 534.3.2 可修改性 …… 544.4 团队的亚马逊规则 …… 554.5 现有系统的微服务方案 …… 564.6 小结 …… 564.7 更多阅读材料 …… 57第5章 构建与测试 …… 585.1 概述 …… 585.2 在部署流水线中移动系统 …… 595.2.1 可追溯性 …… 595.2.2 环境 …… 605.3 横切关注点 …… 615.4 开发及提交前测试 …… 635.4.1 版本控制与分支 …… 635.4.2 功能开关 …… 655.4.3 配置参数 …… 665.4.4 在开发和提交前测试中的测试 …… 675.5 构建与集成测试 …… 675.5.1 构建脚本 …… 675.5.2 打包 …… 685.5.3 持续集成与构建状态 …… 695.5.4 集成测试 …… 705.6 用户验收测试/预发布/性能测试 …… 705.7 生产环境 …… 715.7.1 早期发布测试 …… 715.7.2 错误检测 …… 725.7.3 现场测试 …… 725.8 事件 …… 735.9 小结 …… 735.10 更多阅读材料 …… 74第6章 部署 …… 756.1 概述 …… 756.2 部署管理的策略 …… 766.2.1 蓝/绿部署 …… 766.2.2 滚动升级 …… 776.3 逻辑一致性 …… 786.3.1 相同服务的多个版本同时存在 …… 786.3.2 兼容数据库中保存的数据 …… 816.4 打包 …… 826.5 多环境部署 …… 846.6 部分部署 …… 866.6.1 金丝雀测试 …… 866.6.2 A/B测试 …… 876.7 回滚 …… 876.8 工具 …… 896.9 小结 …… 906.10 更多阅读材料 …… 90第三部分 横切关注点第7章 监控 …… 947.1 概述 …… 947.2 监控什么 …… 957.2.1 故障检测 …… 967.2.2 性能下降检测 …… 967.2.3 容量规划 …… 977.2.4 用户交互 …… 987.2.5 入侵检测 …… 997.3 如何监控 …… 997.3.1 基于代理的监控和无代理的监控 …… 1017.3.2 监控运维活动 …… 1027.3.3 收集和存储 …… 1027.4 什么时候变更监控配置 …… 1037.5 解释监控数据 …… 1037.5.1 日志 …… 1047.5.2 绘图和展示 …… 1057.5.3 警报和警告 …… 1057.5.4 诊断和反应 …… 1067.5.5 监控DevOps过程 …… 1067.6 挑战 …… 1077.6.1 挑战1:持续变更下的监控 …… 1077.6.2 挑战2:自下向上与自上向下和在云中的监控 …… 1087.6.3 挑战3:监控微服务架构 …… 1097.6.4 挑战4:处理大容量的分布式(日志)数据 …… 1097.7 工具 …… 1097.8 从监控数据中诊断出异常——Platformer.com的案例 …… 1107.8.1 背景 …… 1117.8.2 数据收集 …… 1127.8.3 检测异常 …… 1127.8.4 思考 …… 1137.9 小结 …… 1137.10 更多阅读材料 …… 114第8章 安全与安全审计 …… 1158.1 安全是什么 …… 1158.2 威胁 …… 1178.3 需要保护的资源 …… 1188.4 安全角色和活动 …… 1208.5 身份管理 …… 1228.5.1 认证 …… 1238.5.2 授权 …… 1258.6 访问控制 …… 1268.6.1 阻止访问 …… 1278.6.2 谁负责预防控制 …… 1298.7 检测、审计和拒绝服务 …… 1298.8 开发 …… 1308.9 审计者 …… 1308.10 应用设计考虑 …… 1318.11 部署流水线设计考虑 …… 1328.12 小结 …… 1338.13 更多阅读材料 …… 134第9章 其他非功能需求 …… 1359.1 概述 …… 1359.2 可重复性 …… 1369.2.1 在恰当的层级上定义和执行过程 …… 1369.2.2 版本控制所有事物 …… 1389.3 性能 …… 1399.3.1 测量重要的事物 …… 1399.3.2 提高资源使用率 …… 1409.4 可靠性 …… 1419.4.1 理解不同服务的可靠性特性 …… 1419.4.2 早期检测和修复错误 …… 1429.5 可恢复性 …… 1429.6 互操作性 …… 1439.6.1 注意接口的互操作性 …… 1439.6.2 理解现有的数据模型 …… 1439.7 可测试性 …… 1449.8 可修改性 …… 1459.8.1 一个工具内的修改 …… 1459.8.2 工具之间交互行为的修改 …… 1469.9 小结 …… 1469.10 更多阅读材料 …… 147第10章 业务关注点 …… 14810.1 概述 …… 14810.2 业务案例 …… 14810.2.1 问题和解决问题所带来的好处 …… 14910.2.2 成本 …… 14910.2.3 干系人影响 …… 15010.2.4 风险及其减缓 …… 15110.2.5 推出计划 …… 15310.2.6 成功标准 …… 15410.3 度量和对DevOps实践的合规性 …… 15510.3.1 测量DevOps实践的成功度 …… 15510.3.2 测量对DevOps实践的合规性 …… 15610.3.3 测量干系人的满意度 …… 15710.4 Dev和Ops之间的交互点 …… 15710.4.1 许可 …… 15710.4.2 事故处理 …… 15810.5 小结 …… 15910.6 更多阅读材料 …… 159第四部分 案 例 研 究第11章 支持多数据中心 …… 16211.1 概述 …… 16211.2 当前的情况 …… 16311.3 业务逻辑和Web层 …… 16311.3.1 应用逻辑 …… 16311.3.2 基础设施 …… 16411.3.3 增加一个应用 …… 16411.3.4 发现基础设施 …… 16511.4 数据库层 …… 16711.4.1 事务数据 …… 16711.4.2 基础设施支持 …… 16811.4.3 会话数据 …… 16811.5 其他基础设施工具 …… 16811.5.1 gem存储库服务器 …… 16911.5.2 Elasticsearch …… 16911.5.3 域名系统 …… 16911.6 数据中心切换 …… 17011.6.1 受控切换步骤 …… 17011.6.2 非受控切换 …… 17411.6.3 定义和自动化切换步骤 …… 17511.7 测试 …… 17711.7.1 数据中心切换应用程序 …… 17711.7.2 基础设施测试 …… 17711.7.3 持续交付流水线 …… 17711.8 小结 …… 17811.9 更多阅读材料 …… 179第12章 实施企业的持续部署流水线 …… 18012.1 概述 …… 18012.2 组织背景 …… 18012.3 持续部署流水线 …… 18212.3.1 持续部署流水线工具 …… 18312.3.2 使用AWS CloudFormation的环境定义 …… 18412.3.3 标准化的应用程序生命周期概览及其使用 …… 18612.3.4 标准化的应用程序生命周期阶段 …… 18812.3.5 管理复杂的应用程序和流水线状态 …… 19412.3.6 管理持久化 …… 19612.4 让安全成为持续部署流水线的基础 …… 19612.4.1 使用Amazon CloudFormation分离职责 …… 19612.4.2 身份和访问管理 …… 19712.5 高级概念 …… 19812.5.1 最小化生产环境和非生产环境之间的偏移 …… 19812.5.2 解决供应商的限制 …… 19812.5.3 厂商锁定 …… 19912.5.4 新的AWS内置服务的展望 …… 19912.6 小结 …… 19912.7 更多阅读材料 …… 200第13章 迁移到微服务 …… 20213.1 Atlassian概述 …… 20213.2 构建部署微服务的平台 …… 20313.3 BlobStore:一个微服务例子 …… 20613.3.1 架构 …… 20613.3.2 通过纯函数式架构和编程实现安全性和性能 …… 20713.3.3 解决“非功能需求” …… 21013.4 开发过程 …… 21013.4.1 开发人员和支持 …… 21113.4.2 构建和部署流水线 …… 21213.4.3 客户应用的生产环境的零停机时间路径 …… 21413.5 BlobStore演进 …… 21513.6 小结 …… 21913.7 更多阅读材料 …… 219第五部分 走 向 未 来第14章 作为过程的运维 …… 22214.1 概述 …… 22214.2 动机和概览 …… 22314.3 离线活动 …… 22414.4 在线活动 …… 22714.4.1 错误检测 …… 22714.4.2 错误恢复 …… 22914.5 错误诊断 …… 22914.6 监控 …… 23114.7 小结 …… 23114.8 更多阅读材料 …… 231第15章 DevOps的未来 …… 23215.1 概述 …… 23215.2 组织问题 …… 23315.2.1 DevOps活动中可能涉及的其他组 …… 23315.2.2 所有关系和重组 …… 23415.2.3 授权与控制 …… 23415.3 过程问题 …… 23515.3.1 厂商锁定和标准 …… 23515.3.2 计费模型 …… 23515.3.3 变更的速度 …… 23615.4 技术问题 …… 23715.4.1 持续部署流水线概念 …… 23715.4.2 在持续部署流水线中获得质量 …… 23915.4.3 实现 …… 23915.5 错误报告和修复 …… 24015.6 结束语 …… 24015.7 更多阅读材料 …… 240参考文献 …… 241




有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4