内容简介
第一部分 概念模型
第1章 分布式PaaS平台介绍
1.1 什么是PaaS
1.1.1 开发与运维之间的困局
1.1.2 DevOps的自动化
1.1.3 云计算的IaaS
1.1.4 PaaS的到来
1.1.5 PaaS的约束与开放
1.1.6 PaaS解决的具体问题
1.2 什么是分布式计算
1.2.1 分布式计算与PaaS
1.2.2 分布式平台的挑战
第2章 PaaS模型与特征
2.1 主流PaaS平台架构
2.1.1 谷歌GAE
2.1.2 AEB
2.1.3 Cloud Foundry
2.1.4 Heroku
2.2 PaaS与12-Factor
2.2.1 基准代码(Codebase)
2.2.2 依赖(Dependency)
2.2.3 配置(Config)
2.2.4 后端服务(Backing Services)
2.2.5 构建(Build)、发布(Release)、运行(Run)
2.2.6 进程(Process)
2.2.7 端口绑定(Port Binding)
2.2.8 并发(Concurrency)
2.2.9 快捷性(Disposable)
2.2.10 开发/生产环境等价(Dev/ProdParity)
2.2.11 日志(Log)
2.2.12 管理进程(Admin Process)
2.3 PaaS与Reaction宣言
2.3.1 响应(Responsive)
2.3.2 韧性(Resilient)
2.3.3 弹性(Elastic)
2.3.4 消息驱动(Message Driven)
第二部分 基础原理
第3章 计算资源
3.1 图灵机与冯·诺伊曼模型
3.2 服务器的种类
3.3 一切都是二进制
3.3.1 整数表示法
3.3.2 文本表示法
3.3.3 音频信息表示法
3.4 操作系统——计算机系统的指挥官
3.4.1 操作系统解决的问题
3.4.2 企业级操作系统
3.4.3 服务器虚拟化
3.5 进程——资源聚合的抽象体
3.5.1 计算单元的构建
3.5.2 计算请求的拆解
第4章 网络资源
4.1 协议分层
4.1.1 OSI网络体系模型
4.1.2 OSI与TCP/IP协议簇
4.1.3 交换、选路与传输
4.2 网络物理设备
4.2.1 连线与接口
4.2.2 二层交换机
4.2.3 路由及三层交换
4.2.4 四~七层网络设备
4.2.5 现实网络构成
4.3 网络逻辑拓扑
4.4 对网络拓扑的考虑
4.5 对物理布线的考虑
4.6 网络虚拟化与SDN
第5章 存储资源
5.1 俯瞰存储系统
5.1.1 数据存储功能分类
5.1.2 文件存储的三个层级
5.2 磁盘与磁盘阵列
5.2.1 硬盘的物理构造
5.2.2 磁盘阵列
5.2.3 SCSI协议
5.3 存储、计算分离
5.3.1 磁盘柜与盘阵
5.3.2 FC存储网络
5.3.3 FC协议栈
5.3.4 FC寻址过程
5.3.5 FC交换机与适配器
5.3.6 FCoE与iSCSI
5.4 存储访问类型
5.4.1 NAS与SAN
5.4.2 分布式存储
第三部分 平台实现
第6章 平台功能与架构
6.1 平台运维需求
6.1.1 软件配置
6.1.2 服务部署
6.1.3 服务发现
6.1.4 监控恢复
6.2 平台功能划分
6.3 平台高阶架构
6.4 企业应用迁移
6.4.1 企业应用很“厚重”
6.4.2 应用部署架构
6.4.3 企业应用调整
第7章 计算单元Docker
7.1 Docker介绍
7.1.1 Docker是什么
7.1.2 Docker术语
7.1.3 Docker安装
7.2 Docker容器命令
7.2.1 run命令
7.2.2 start命令
7.2.3 stop命令
7.2.4 restart命令
7.2.5 attach命令
7.2.6 ps命令
7.2.7 inspect命令
7.3 Docker镜像命令
7.3.1 search、pull、push命令
7.3.2 commit命令
7.3.3 image、diff、rmi命令
7.3.4 save、load、export、import命令
7.4 Docker网络与链接
7.4.1 Docker网络模式
7.4.2 pipework管理网络
7.4.3 容器链接与数据卷
7.5 Dockerfile
7.5.1 基本指令集
7.5.2 环境指令集
7.5.3 数据指令集
7.5.4 ENTRYPOINT指令
第8章 分布式协调ZooKeeper
8.1 ZooKeeper介绍
8.1.1 ZooKeeper是什么
8.1.2 ZooKeeper架构
8.1.3 数据模型
8.1.4 监听与通知
8.1.5 API集合
8.1.6 会话
8.1.7 观察者
8.2 ZooKeeper使用
8.2.1 快速安装
8.2.2 基本操作
8.2.3 配置参数
8.2.4 动态重配置
8.2.5 监控
8.3 ZooKeeper进阶
8.3.1 分组与权重
8.3.2 Paxos算法
8.3.3 ZAB协议
8.3.4 分布式协调场景
第9章 资源管理Mesos
9.1 Mesos介绍
9.1.1 资源管理需求
9.1.2 Mesos的起源
9.2 Mesos架构与工作流
9.2.1 Mesos架构组件
9.2.2 Mesos资源管理的工作流程
9.3 Mesos安装配置
9.3.1 安装预先准备
9.3.2 构建Mesos
9.3.3 启动Mesos
9.3.4 高可用Mesos
9.3.5 Slave移除限速
9.4 Mesos运维
9.4.1 认证管理
9.4.2 监控管理
9.4.3 容器网络限速
9.4.4 Framework API限速
9.4.5 Restful接口
9.4.6 配置参数
9.5 Mesos资源分配
9.5.1 DRF算法
9.5.2 DRF权重
第10章 服务调度框架Marathon
10.1 Marathon介绍
10.1.1 服务调度平台
10.1.2 Marathon实体模型
10.2 Marathon使用
10.2.1 安装启动
10.2.2 运行Shell程序
10.2.3 运行远程资源
10.2.4 Artifact Store
10.3 Docker容器运行
10.3.1 前提准备条件
10.3.2 端口资源分配
10.3.3 容器端口分配
10.3.4 其他使用方法
10.4 Marathon管理
10.4.1 应用组
10.4.2 策略约束
10.4.3 健康检查
10.4.4 应用部署
10.4.5 事件总线
10.4.6 命令行参数
10.5 服务发现
10.5.1 服务发现方法
10.5.2 Marathon方案
10.5.3 Mesos-DNS
10.5.4 Bamboo
10.6 Chronos作业调度
10.6.1 作业调度框架
10.6.2 安装运行
10.6.3 作业示例
10.6.4 RESTAPI
第11章 大数据调度框架Spark
11.1 Apache Spark介绍
11.1.1 Apache Spark是什么
11.1.2 Lambda架构
11.1.3 Spark生态系统
11.2 Spark数据处理
11.2.1 Spark运行模式
11.2.2 Spark Standalone模式
11.2.3 Spark on Mesos
11.2.4 Spark Streaming
第12章 日志集中管理ELK
12.1 日志集中
12.1.1 日志集中介绍
12.1.2 日志集中架构
12.1.3 日志集中框架
12.2 Logstash
12.2.1 Logstash介绍
12.2.2 快速安装
12.2.3 配置说明
12.2.4 部署架构
12.2.5 处理流程
12.2.6 input插件
12.2.7 output插件
12.2.8 filter插件
12.2.9 codec插件
12.3 Elasticsearch
12.3.1 基本概念
12.3.2 安装与使用
12.3.3 RESTAPI
12.3.4 集群设置
12.3.5 备份恢复
12.3.6 监控管理
12.4 Kibana
12.4.1 Kibana介绍
12.4.2 discover功能
12.4.3 visualize功能
12.4.4 Dashboard功能
第四部分 运维管理
第13章 配置管理
13.1 配置管理系统分析
13.1.1 服务模型进行分层
13.1.2 各IDC团队发现CI
13.1.3 IDC管理团队定义CI属性
13.1.4 确定CI之间的关联
13.2 配置管理系统设计
13.2.1 用户界面设计
13.2.2 权限控制、规则定义和OPENAPI
13.2.3 数据模型的设计
13.3 配置管理数据准确性的保证
13.3.1 识别CI的OWNER
13.3.2 识别CI的生命周期、关联运维流程
13.3.3 数据有效性的审计
第14章 监控管理
14.1 运维监控管理的问题与价值
14.1.1 监控管理的无形价值
14.1.2 监控平台建立的基础
14.1.3 监控管理的WANT原则
14.2 对运维监控平台的需求分析
14.2.1 一次监控过程,调度、规则、告警
14.2.2 数据图形化:百分位裁剪、趋势分析、正态分布
14.2.3 开源的借鉴与选择:Zabbix和Nagios
14.2.4 商业与开源:最后的决策
14.3 JMX监控原理解析
14.3.1 JMX的体系结构
14.3.2 一个完整的JMX体系架构实例
14.3.3 通过JMX访问WebLogic Server MBean
14.4 SNMP监控原理解析
14.4.1 SNMP协议解析:MIB库与消息类型
14.4.2 使用SNMP4J实现服务器监控
14.4.3 Linux下的监控实现:NET-SNMP
14.4.4 MIB库浏览工具:ManageEngine
第15章 运维管理
15.1 服务级别管理,IT与业务的一致性
15.1.1 客户满意度与期望
15.1.2 服务目录——IT服务的菜谱
15.1.3 从宏观到可操作性的服务
15.2 变更管理,使服务有效传递
15.2.1 变更控制的角色、阶段
15.2.2 变更管理的六个原则
15.2.3 变更分类与风险定级
15.2.4 表单、步骤、模板与日历
15.3 事件管理
15.3.1 分类管理与评价体系
15.3.2 任务分发、协同与时效
15.3.3 内部上报要求
15.3.4 重大事件处理
15.4 人员管理:开放与分享
15.4.1 企业社交管理
15.4.2 目标管理,做好绩效
15.4.3 知识管理,人员成长
15.4.4 时间管理,个人效率
15.5 PaaS下的运维发展之路