本书主要阐述了云计算中PaaS平台的实现与运维管理,分为四大部分,分别是概念模型、基础资源、平台实现与运维管理,共十五章。第一部分阐述了运维与开发之间的关系、这层关系存在的矛盾,以及PaaS是如何有效缓解其矛盾的;第二部分勾勒出了数据中心的计算、网络、存储三大资源的主干,避免让人陷入上层的种种产品中;第三部分通过开源产品来构建一个完整的PaaS平台,包括资源管理、任务调度、计算单元打包、分布式协调、日志集中等;第四部分对运维管理进行了实践。
本书适合运维工程师、运维管理人员,以及希望在PaaS上运行分布式、可伸缩、高可用的后端开发工程师阅读。
余何,昵称为“众神的大师兄”,湖南长沙人。国家软件设计师、PMP项目管理认证师、Juniper互联网专员(JNCIS)、NetApp解决方案架构师(NCSA)、高效运维公众号专栏作者。
拥有十余年数据中心运维管理经验,先后任职于华为、平安科技,主导了平安IT基础架构改造、ITIL流程变革等重大项目。热衷于开源技术,广结天下英豪,以运维心灵捕手著称。
第一部分 概念模型第1章 分布式PaaS平台介绍 21.1 什么是PaaS 21.1.1 开发与运维之间的困局 21.1.2 DevOps的自动化 31.1.3 云计算的IaaS 41.1.4 PaaS的到来 41.1.5 PaaS的约束与开放 41.1.6 PaaS解决的具体问题 51.2 什么是分布式计算 61.2.1 分布式计算与PaaS 61.2.2 分布式平台的挑战 7第2章 PaaS模型与特征 102.1 主流PaaS平台架构 102.1.1 谷歌GAE 102.1.2 AEB 112.1.3 Cloud Foundry 132.1.4 Heroku 142.2 PaaS与12-Factor 152.2.1 基准代码(Codebase) 152.2.2 依赖(Dependency) 162.2.3 配置(Config) 172.2.4 后端服务(Backing Services) 182.2.5 构建(Build)、发布(Release)、运行(Run) 192.2.6 进程(Process) 202.2.7 端口绑定(Port Binding) 212.2.8 并发(Concurrency) 212.2.9 快捷性(Disposable) 222.2.10 开发/生产环境等价(Dev/Prod Parity) 232.2.11 日志(Log) 242.2.12 管理进程(Admin Process) 252.3 PaaS与Reaction宣言 262.3.1 响应(Responsive) 262.3.2 韧性(Resilient) 262.3.3 弹性(Elastic) 272.3.4 消息驱动(Message Driven) 28第二部分 基础原理第3章 计算资源 303.1 图灵机与冯?诺伊曼模型 303.2 服务器的种类 343.3 一切都是二进制 373.3.1 整数表示法 383.3.2 文本表示法 393.3.3 音频信息表示法 413.4 操作系统――计算机系统的指挥官 423.4.1 操作系统解决的问题 423.4.2 企业级操作系统 433.4.3 服务器虚拟化 473.5 进程――资源聚合的抽象体 493.5.1 计算单元的构建 493.5.2 计算请求的拆解 51第4章 网络资源 534.1 协议分层 534.1.1 OSI网络体系模型 544.1.2 OSI与TCP/IP协议簇 554.1.3 交换、选路与传输 564.2 网络物理设备 584.2.1 连线与接口 594.2.2 二层交换机 624.2.3 路由及三层交换 634.2.4 四~七层网络设备 644.2.5 现实网络构成 654.3 网络逻辑拓扑 654.4 对网络拓扑的考虑 664.5 对物理布线的考虑 674.6 网络虚拟化与SDN 70第5章 存储资源 735.1 俯瞰存储系统 735.1.1 数据存储功能分类 735.1.2 文件存储的三个层级 745.2 磁盘与磁盘阵列 775.2.1 硬盘的物理构造 775.2.2 磁盘阵列 795.2.3 SCSI协议 815.3 存储、计算分离 825.3.1 磁盘柜与盘阵 825.3.2 FC存储网络 835.3.3 FC协议栈 865.3.4 FC寻址过程 875.3.5 FC交换机与适配器 885.3.6 FCoE与iSCSI 895.4 存储访问类型 905.4.1 NAS与SAN 905.4.2 分布式存储 92第三部分 平台实现第6章 平台功能与架构 966.1 平台运维需求 966.1.1 软件配置 966.1.2 服务部署 976.1.3 服务发现 976.1.4 监控恢复 976.2 平台功能划分 976.3 平台高阶架构 1006.4 企业应用迁移 1026.4.1 企业应用很“厚重” 1026.4.2 应用部署架构 1026.4.3 企业应用调整 104第7章 计算单元Docker 1087.1 Docker介绍 1087.1.1 Docker是什么 1087.1.2 Docker术语 1097.1.3 Docker安装 1117.2 Docker容器命令 1127.2.1 run命令 1127.2.2 start命令 1157.2.3 stop命令 1167.2.4 restart命令 1167.2.5 attach命令 1167.2.6 ps命令 1167.2.7 inspect命令 1177.3 Docker镜像命令 1197.3.1 search、pull、push命令 1207.3.2 commit命令 1207.3.3 image、diff、rmi命令 1217.3.4 save、load、export、import命令 1217.4 Docker网络与链接 1227.4.1 Docker网络模式 1227.4.2 pipework管理网络 1257.4.3 容器链接与数据卷 1277.5 Dockerfile 1297.5.1 基本指令集 1307.5.2 环境指令集 1317.5.3 数据指令集 1327.5.4 ENTRYPOINT指令 132第8章 分布式协调ZooKeeper 1348.1 ZooKeeper介绍 1348.1.1 ZooKeeper是什么 1348.1.2 ZooKeeper架构 1358.1.3 数据模型 1368.1.4 监听与通知 1398.1.5 API集合 1398.1.6 会话 1408.1.7 观察者 1418.2 ZooKeeper使用 1418.2.1 快速安装 1418.2.2 基本操作 1438.2.3 配置参数 1458.2.4 动态重配置 1498.2.5 监控 1528.3 ZooKeeper进阶 1578.3.1 分组与权重 1588.3.2 Paxos算法 1598.3.3 ZAB协议 1638.3.4 分布式协调场景 165第9章 资源管理Mesos 1679.1 Mesos介绍 1679.1.1 资源管理需求 1679.1.2 Mesos的起源 1699.2 Mesos架构与工作流 1699.2.1 Mesos架构组件 1699.2.2 Mesos资源管理的工作流程 1709.3 Mesos安装配置 1729.3.1 安装预先准备 1729.3.2 构建Mesos 1739.3.3 启动Mesos 1749.3.4 高可用Mesos 1789.3.5 Slave移除限速 1829.4 Mesos运维 1839.4.1 认证管理 1839.4.2 监控管理 1869.4.3 容器网络限速 1929.4.4 Framework API限速 1949.4.5 Restful接口 1959.4.6 配置参数 1969.5 Mesos资源分配 1979.5.1 DRF算法 1979.5.2 DRF权重 199第10章 服务调度框架 Marathon 20010.1 Marathon介绍 20010.1.1 服务调度平台 20010.1.2 Marathon实体模型 20110.2 Marathon使用 20310.2.1 安装启动 20310.2.2 运行Shell程序 20410.2.3 运行远程资源 20810.2.4 Artifact Store 20910.3 Docker容器运行 21110.3.1 前提准备条件 21110.3.2 端口资源分配 21210.3.3 容器端口分配 21510.3.4 其他使用方法 21610.4 Marathon管理 21710.4.1 应用组 21710.4.2 策略约束 21910.4.3 健康检查 22110.4.4 应用部署 22310.4.5 事件总线 22710.4.6 命令行参数 22910.5 服务发现 23110.5.1 服务发现方法 23110.5.2 Marathon方案 23210.5.3 Mesos-DNS 23510.5.4 Bamboo 23910.6 Chronos作业调度 24110.6.1 作业调度框架 24110.6.2 安装运行 24110.6.3 作业示例 24210.6.4 REST API 243第11章 大数据调度框架Spark 24511.1 Apache Spark介绍 24511.1.1 Apache Spark是什么 24511.1.2 Lambda架构 24611.1.3 Spark生态系统 24711.2 Spark数据处理 24811.2.1 Spark 运行模式 24811.2.2 Spark Standalone模式 25211.2.3 Spark on Mesos 25511.2.4 Spark Streaming 257第12章 日志集中管理ELK 26112.1 日志集中 26112.1.1 日志集中介绍 26112.1.2 日志集中架构 26212.1.3 日志集中框架 26412.2 Logstash 26612.2.1 Logstash介绍 26612.2.2 快速安装 26712.2.3 配置说明 26912.2.4 部署架构 28212.2.5 处理流程 28512.2.6 input插件 28612.2.7 output插件 29212.2.8 filter插件 29612.2.9 codec插件 29912.3 Elasticsearch 30012.3.1 基本概念 30012.3.2 安装与使用 30412.3.3 REST API 30512.3.4 集群设置 30912.3.5 备份恢复 31412.3.6 监控管理 31512.4 Kibana 31712.4.1 Kibana介绍 31712.4.2 discover功能 31912.4.3 visualize功能 32412.4.4 Dashboard功能 327第四部分 运维管理第13章 配置管理 33013.1 配置管理系统分析 33113.1.1 服务模型进行分层 33113.1.2 各IDC团队发现CI 33213.1.3 IDC管理团队定义CI属性 33313.1.4 确定CI之间的关联 33613.2 配置管理系统设计 33813.2.1 用户界面设计 33913.2.2 权限控制、规则定义和OPENAPI 34113.2.3 数据模型的设计 34313.3 配置管理数据准确性的保证 34513.3.1 识别CI的OWNER 34513.3.2 识别CI的生命周期、关联运维流程 34613.3.3 数据有效性的审计 346第14章 监控管理 34814.1 运维监控管理的问题与价值 34814.1.1 监控管理的无形价值 34914.1.2 监控平台建立的基础 35014.1.3 监控管理的WANT原则 35014.2 对运维监控平台的需求分析 35214.2.1 一次监控过程,调度、规则、告警 35214.2.2 数据图形化:百分位裁剪、趋势分析、正态分布 35814.2.3 开源的借鉴与选择:Zabbix和Nagios 36114.2.4 商业与开源:最后的决策 37214.3 JMX监控原理解析 37314.3.1 JMX的体系结构 37414.3.2 一个完整的JMX体系架构实例 37614.3.3 通过JMX访问WebLogic Server MBean 37914.4 SNMP监控原理解析 38314.4.1 SNMP协议解析:MIB库与消息类型 38314.4.2 使用SNMP4J实现服务器监控 38614.4.3 Linux下的监控实现:NET-SNMP 39014.4.4 MIB库浏览工具:ManageEngine 391第15章 运维管理 39215.1 服务级别管理,IT与业务的一致性 39215.1.1 客户满意度与期望 39315.1.2 服务目录――IT服务的菜谱 39615.1.3 从宏观到可操作性的服务 39715.2 变更管理,使服务有效传递 39915.2.1 变更控制的角色、阶段 39915.2.2 变更管理的六个原则 40115.2.3 变更分类与风险定级 40215.2.4 表单、步骤、模板与日历 40515.3 事件管理 40915.3.1 分类管理与评价体系 40915.3.2 任务分发、协同与时效 41115.3.3 内部上报要求 41215.3.4 重大事件处理 41315.4 人员管理:开放与分享 41515.4.1 企业社交管理 41515.4.2 目标管理,做好绩效 41715.4.3 知识管理,人员成长 41715.4.4 时间管理,个人效率 42015.5 PaaS下的运维发展之路 421
广告创意 免费在线办公 信息流广告 企业广告投放 抖音广告 图片 知识库 京东智联云 b站广告投放 线下广告投放 广告投放平台 app广告投放 电商培训 爱奇艺广告投放 站外推广 广告投放 直播推广 网站地图 排行榜 微信广告推广 广告投放渠道 快手广告投放 微信广告怎么推广 广告热搜 媒体投放 京点书院 价格 新款 微信广告投放 关键词
◎概念模型:引入PaaS平台
◎基础资源:回归本真,理解三大基础资源——计算、存储、网络
◎平台实现:构建完整的PaaS平台——基于容器的操作系统虚拟化技术Docker|分布式协调系统ZooKeeper|资源管理系统Mesos|服务调度框架Marathon|大数据处理架构Spark|日志搜索分析系统ELK
◎运维管理:运维管理的核心是配置管理。
直逼系统运维一线的种种烦恼,集技术原理、生产实践与系统实现三位一体,内容充实、层次清晰、行文流畅,堪称云计算时代、分布式环境下不可多得的运维好书。
本书主要阐述了云计算中PaaS平台的实现与运维管理,分为四大部分,分别是概念模型、基础资源、平台实现与运维管理,共十五章。第一部分阐述了运维与开发之间的关系、这层关系存在的矛盾,以及PaaS是如何有效缓解其矛盾的;第二部分勾勒出了数据中心的计算、网络、存储三大资源的主干,避免让人陷入上层的种种产品中;第三部分通过开源产品来构建一个完整的PaaS平台,包括资源管理、任务调度、计算单元打包、分布式协调、日志集中等;第四部分对运维管理进行了实践。
本书适合运维工程师、运维管理人员,以及希望在PaaS上运行分布式、可伸缩、高可用的后端开发工程师阅读。
余何,昵称为“众神的大师兄”,湖南长沙人。国家软件设计师、PMP项目管理认证师、Juniper互联网专员(JNCIS)、NetApp解决方案架构师(NCSA)、高效运维公众号专栏作者。
拥有十余年数据中心运维管理经验,先后任职于华为、平安科技,主导了平安IT基础架构改造、ITIL流程变革等重大项目。热衷于开源技术,广结天下英豪,以运维心灵捕手著称。
第一部分 概念模型
第1章 分布式PaaS平台介绍 2
1.1 什么是PaaS 2
1.1.1 开发与运维之间的困局 2
1.1.2 DevOps的自动化 3
1.1.3 云计算的IaaS 4
1.1.4 PaaS的到来 4
1.1.5 PaaS的约束与开放 4
1.1.6 PaaS解决的具体问题 5
1.2 什么是分布式计算 6
1.2.1 分布式计算与PaaS 6
1.2.2 分布式平台的挑战 7
第2章 PaaS模型与特征 10
2.1 主流PaaS平台架构 10
2.1.1 谷歌GAE 10
2.1.2 AEB 11
2.1.3 Cloud Foundry 13
2.1.4 Heroku 14
2.2 PaaS与12-Factor 15
2.2.1 基准代码(Codebase) 15
2.2.2 依赖(Dependency) 16
2.2.3 配置(Config) 17
2.2.4 后端服务(Backing Services) 18
2.2.5 构建(Build)、发布(Release)、运行(Run) 19
2.2.6 进程(Process) 20
2.2.7 端口绑定(Port Binding) 21
2.2.8 并发(Concurrency) 21
2.2.9 快捷性(Disposable) 22
2.2.10 开发/生产环境等价(Dev/Prod Parity) 23
2.2.11 日志(Log) 24
2.2.12 管理进程(Admin Process) 25
2.3 PaaS与Reaction宣言 26
2.3.1 响应(Responsive) 26
2.3.2 韧性(Resilient) 26
2.3.3 弹性(Elastic) 27
2.3.4 消息驱动(Message Driven) 28
第二部分 基础原理
第3章 计算资源 30
3.1 图灵机与冯?诺伊曼模型 30
3.2 服务器的种类 34
3.3 一切都是二进制 37
3.3.1 整数表示法 38
3.3.2 文本表示法 39
3.3.3 音频信息表示法 41
3.4 操作系统――计算机系统的指挥官 42
3.4.1 操作系统解决的问题 42
3.4.2 企业级操作系统 43
3.4.3 服务器虚拟化 47
3.5 进程――资源聚合的抽象体 49
3.5.1 计算单元的构建 49
3.5.2 计算请求的拆解 51
第4章 网络资源 53
4.1 协议分层 53
4.1.1 OSI网络体系模型 54
4.1.2 OSI与TCP/IP协议簇 55
4.1.3 交换、选路与传输 56
4.2 网络物理设备 58
4.2.1 连线与接口 59
4.2.2 二层交换机 62
4.2.3 路由及三层交换 63
4.2.4 四~七层网络设备 64
4.2.5 现实网络构成 65
4.3 网络逻辑拓扑 65
4.4 对网络拓扑的考虑 66
4.5 对物理布线的考虑 67
4.6 网络虚拟化与SDN 70
第5章 存储资源 73
5.1 俯瞰存储系统 73
5.1.1 数据存储功能分类 73
5.1.2 文件存储的三个层级 74
5.2 磁盘与磁盘阵列 77
5.2.1 硬盘的物理构造 77
5.2.2 磁盘阵列 79
5.2.3 SCSI协议 81
5.3 存储、计算分离 82
5.3.1 磁盘柜与盘阵 82
5.3.2 FC存储网络 83
5.3.3 FC协议栈 86
5.3.4 FC寻址过程 87
5.3.5 FC交换机与适配器 88
5.3.6 FCoE与iSCSI 89
5.4 存储访问类型 90
5.4.1 NAS与SAN 90
5.4.2 分布式存储 92
第三部分 平台实现
第6章 平台功能与架构 96
6.1 平台运维需求 96
6.1.1 软件配置 96
6.1.2 服务部署 97
6.1.3 服务发现 97
6.1.4 监控恢复 97
6.2 平台功能划分 97
6.3 平台高阶架构 100
6.4 企业应用迁移 102
6.4.1 企业应用很“厚重” 102
6.4.2 应用部署架构 102
6.4.3 企业应用调整 104
第7章 计算单元Docker 108
7.1 Docker介绍 108
7.1.1 Docker是什么 108
7.1.2 Docker术语 109
7.1.3 Docker安装 111
7.2 Docker容器命令 112
7.2.1 run命令 112
7.2.2 start命令 115
7.2.3 stop命令 116
7.2.4 restart命令 116
7.2.5 attach命令 116
7.2.6 ps命令 116
7.2.7 inspect命令 117
7.3 Docker镜像命令 119
7.3.1 search、pull、push命令 120
7.3.2 commit命令 120
7.3.3 image、diff、rmi命令 121
7.3.4 save、load、export、import命令 121
7.4 Docker网络与链接 122
7.4.1 Docker网络模式 122
7.4.2 pipework管理网络 125
7.4.3 容器链接与数据卷 127
7.5 Dockerfile 129
7.5.1 基本指令集 130
7.5.2 环境指令集 131
7.5.3 数据指令集 132
7.5.4 ENTRYPOINT指令 132
第8章 分布式协调ZooKeeper 134
8.1 ZooKeeper介绍 134
8.1.1 ZooKeeper是什么 134
8.1.2 ZooKeeper架构 135
8.1.3 数据模型 136
8.1.4 监听与通知 139
8.1.5 API集合 139
8.1.6 会话 140
8.1.7 观察者 141
8.2 ZooKeeper使用 141
8.2.1 快速安装 141
8.2.2 基本操作 143
8.2.3 配置参数 145
8.2.4 动态重配置 149
8.2.5 监控 152
8.3 ZooKeeper进阶 157
8.3.1 分组与权重 158
8.3.2 Paxos算法 159
8.3.3 ZAB协议 163
8.3.4 分布式协调场景 165
第9章 资源管理Mesos 167
9.1 Mesos介绍 167
9.1.1 资源管理需求 167
9.1.2 Mesos的起源 169
9.2 Mesos架构与工作流 169
9.2.1 Mesos架构组件 169
9.2.2 Mesos资源管理的工作流程 170
9.3 Mesos安装配置 172
9.3.1 安装预先准备 172
9.3.2 构建Mesos 173
9.3.3 启动Mesos 174
9.3.4 高可用Mesos 178
9.3.5 Slave移除限速 182
9.4 Mesos运维 183
9.4.1 认证管理 183
9.4.2 监控管理 186
9.4.3 容器网络限速 192
9.4.4 Framework API限速 194
9.4.5 Restful接口 195
9.4.6 配置参数 196
9.5 Mesos资源分配 197
9.5.1 DRF算法 197
9.5.2 DRF权重 199
第10章 服务调度框架 Marathon 200
10.1 Marathon介绍 200
10.1.1 服务调度平台 200
10.1.2 Marathon实体模型 201
10.2 Marathon使用 203
10.2.1 安装启动 203
10.2.2 运行Shell程序 204
10.2.3 运行远程资源 208
10.2.4 Artifact Store 209
10.3 Docker容器运行 211
10.3.1 前提准备条件 211
10.3.2 端口资源分配 212
10.3.3 容器端口分配 215
10.3.4 其他使用方法 216
10.4 Marathon管理 217
10.4.1 应用组 217
10.4.2 策略约束 219
10.4.3 健康检查 221
10.4.4 应用部署 223
10.4.5 事件总线 227
10.4.6 命令行参数 229
10.5 服务发现 231
10.5.1 服务发现方法 231
10.5.2 Marathon方案 232
10.5.3 Mesos-DNS 235
10.5.4 Bamboo 239
10.6 Chronos作业调度 241
10.6.1 作业调度框架 241
10.6.2 安装运行 241
10.6.3 作业示例 242
10.6.4 REST API 243
第11章 大数据调度框架Spark 245
11.1 Apache Spark介绍 245
11.1.1 Apache Spark是什么 245
11.1.2 Lambda架构 246
11.1.3 Spark生态系统 247
11.2 Spark数据处理 248
11.2.1 Spark 运行模式 248
11.2.2 Spark Standalone模式 252
11.2.3 Spark on Mesos 255
11.2.4 Spark Streaming 257
第12章 日志集中管理ELK 261
12.1 日志集中 261
12.1.1 日志集中介绍 261
12.1.2 日志集中架构 262
12.1.3 日志集中框架 264
12.2 Logstash 266
12.2.1 Logstash介绍 266
12.2.2 快速安装 267
12.2.3 配置说明 269
12.2.4 部署架构 282
12.2.5 处理流程 285
12.2.6 input插件 286
12.2.7 output插件 292
12.2.8 filter插件 296
12.2.9 codec插件 299
12.3 Elasticsearch 300
12.3.1 基本概念 300
12.3.2 安装与使用 304
12.3.3 REST API 305
12.3.4 集群设置 309
12.3.5 备份恢复 314
12.3.6 监控管理 315
12.4 Kibana 317
12.4.1 Kibana介绍 317
12.4.2 discover功能 319
12.4.3 visualize功能 324
12.4.4 Dashboard功能 327
第四部分 运维管理
第13章 配置管理 330
13.1 配置管理系统分析 331
13.1.1 服务模型进行分层 331
13.1.2 各IDC团队发现CI 332
13.1.3 IDC管理团队定义CI属性 333
13.1.4 确定CI之间的关联 336
13.2 配置管理系统设计 338
13.2.1 用户界面设计 339
13.2.2 权限控制、规则定义和OPENAPI 341
13.2.3 数据模型的设计 343
13.3 配置管理数据准确性的保证 345
13.3.1 识别CI的OWNER 345
13.3.2 识别CI的生命周期、关联运维流程 346
13.3.3 数据有效性的审计 346
第14章 监控管理 348
14.1 运维监控管理的问题与价值 348
14.1.1 监控管理的无形价值 349
14.1.2 监控平台建立的基础 350
14.1.3 监控管理的WANT原则 350
14.2 对运维监控平台的需求分析 352
14.2.1 一次监控过程,调度、规则、告警 352
14.2.2 数据图形化:百分位裁剪、趋势分析、正态分布 358
14.2.3 开源的借鉴与选择:Zabbix和Nagios 361
14.2.4 商业与开源:最后的决策 372
14.3 JMX监控原理解析 373
14.3.1 JMX的体系结构 374
14.3.2 一个完整的JMX体系架构实例 376
14.3.3 通过JMX访问WebLogic Server MBean 379
14.4 SNMP监控原理解析 383
14.4.1 SNMP协议解析:MIB库与消息类型 383
14.4.2 使用SNMP4J实现服务器监控 386
14.4.3 Linux下的监控实现:NET-SNMP 390
14.4.4 MIB库浏览工具:ManageEngine 391
第15章 运维管理 392
15.1 服务级别管理,IT与业务的一致性 392
15.1.1 客户满意度与期望 393
15.1.2 服务目录――IT服务的菜谱 396
15.1.3 从宏观到可操作性的服务 397
15.2 变更管理,使服务有效传递 399
15.2.1 变更控制的角色、阶段 399
15.2.2 变更管理的六个原则 401
15.2.3 变更分类与风险定级 402
15.2.4 表单、步骤、模板与日历 405
15.3 事件管理 409
15.3.1 分类管理与评价体系 409
15.3.2 任务分发、协同与时效 411
15.3.3 内部上报要求 412
15.3.4 重大事件处理 413
15.4 人员管理:开放与分享 415
15.4.1 企业社交管理 415
15.4.2 目标管理,做好绩效 417
15.4.3 知识管理,人员成长 417
15.4.4 时间管理,个人效率 420
15.5 PaaS下的运维发展之路 421