正版保障 假一赔十 可开发票
¥ 55.58 5.6折 ¥ 99 全新
库存5件
作者王宇;张乐;侯皓星
出版社机械工业出版社
ISBN9787111642695
出版时间2019-12
装帧平装
开本16开
定价99元
货号28507088
上书时间2024-10-26
近几年,我们时时刻刻都能够感受到互联网发展给我们带来的冲击,我们衣食住行的方方面面都受到互联网的影响。例如,如果想买衣服,我们不需要去大型购物商场,只需要坐在电脑前,在各大购物网站浏览选购、下单,然后坐等快递送货上门即可;晚上回到家肚子饿了,又不想出门吃饭,那么可以拿出手机,在大众点评或美团上下单,很快就有送餐员上门服务;要买房子或者租房子,我们可以在网上查看选择符合条件的房源,然后再实地考察,这样可以节省大量的时间;出门吃饭或者购物,自己开车有时候不方便停车,打开手机,在滴滴出行输入目的地址,很快就有司机来接你;出门逛街的时候,完全不需要带上钱包,因为商店甚至街头小贩都支持微信或者支付宝结算,非常方便。
在享受生活工作的方便之余,作为技术工作者,有时我们也会思考在背后支撑这些场景的技术——云计算。
通常,云计算具有如下特征。
1)计算资源可以根据需要进行自动扩展。大家都知道,在双11购物节,网上购物的交易量是平时的数十倍甚至数百倍,要应付如此庞大的交易量,相应的计算资源也需要根据需要进行扩充。根据过去的经验,扩充计算资源可能需要数月的时间,包括资源规划、硬件采购、软件部署等步骤,但是利用云计算技术,计算资源可以在数分钟、甚至数秒内得以扩展。
2)计算资源是按需付费的,通常是按分钟计费的,有消息称某些云服务商未来将提供按秒计费的能力。
3)计算资源可以在不同的用户之间共享,这就意味着电商的冗余计算资源在销售淡季可以用于出租。
那么,在云端进行软件开发有什么特点呢?
在传统的软件发布模式下,用户需要下载软件安装包,将其安装部署到自己的主机上,然后才能使用。但是在云端模式下,一旦软件部署到云端,所有用户都可以使用它,而不需要用户进行任何部署操作。也就是说,软件的部署升级控制权是属于云端软件开发者的,而不是软件的使用者。这可以带来一个好处,那就是软件的开发者可以根据需要主动升级云端的软件。例如,在软件中发现一个安全漏洞,原来的做法是软件开发者在下载页面提供补丁下载,然后通知用户,要求用户下载并安装,但是如果用户因为某种原因忽略了这个通知,那么用户因为没有主动升级补丁,仍然会受到安全漏洞的威胁;而在云端,软件开发者也同时充当软件维护者的角色,他们可以主动升级补丁以保证用户不受高危漏洞的威胁。另外,假设存在一个很严重的漏洞,如果按照原来的模式,只是通知用户下载补丁并修复漏洞,很多情况下用户会选择性地忽略这些问题,从而造成某些关键特性不可用,降低用户的满意度;而在云端,软件开发者可以主动升级软件,也就不存在这样的问题。
但是软件开发者在云端主动升级软件会带来另外一个问题,那就是如果新的补丁中引入了新的问题,怎么办?
有三种解决办法:
1)采取严格的质量保证流程,在发布每次新版本时都进行充分的测试,但是这只能阻止大部分问题,而无法完全避免新问题的出现。
2)采取比较保守的升级策略,或者按照需要进行升级。也就是说,如果用户的应用需要特定的功能,而老的版本不支持,那么就必须升级,但这样做只能延缓新问题被发现的时间。
3)采取比较激进的升级策略,只要有新版本发布,一律升级到的版本,同时加快新版本的迭代速度。例如,一个星期或者两个星期一个迭代,当迭代周期足够短的时候,大量用户还没有意识到问题的存在,问题就已经被修复了。
解决方案2是不值得推荐的,因为它只是规避问题,而没有解决问题。解决方案1和3都可以一定程度地解决问题,但是它们都需要快速的迭代周期来提高用户的满意度。如何提高迭代的速度?答案是采用敏捷的方法配合高度的自动化。敏捷方法的特点就是微迭代,每个迭代周期很短,发布的内容很少,但都是经过充分测试的发布版本。假设发布周期为一周,在这一周时间里,整个软件生命周期的各个步骤一样都不能少,包括软件设计、编码、单元测试、编译、部署、端到端测试等。怎么才能做到这一点呢?答案是充分自动化。这就引入了持续集成和持续发布的概念。所谓持续集成,就是利用一套自动化工具,在每天的特定时间将当天入库的代码进行集成、编译、测试,保证当前的版本是可以发布的版本。所谓持续发布,就是在持续集成结果没问题的情况,根据软件发布的要求,自动发布的软件到生产环境,保证生产环境是的版本,从理论上应该可以实现每天或者更短时间一个发布。
工欲善其事,必先利其器。掌握好的工具和方法可以使我们在工作和竞争中掌握先机。本书的目的是向读者讲解和展示原生云上基于产品生命周期的持续集成和持续部署交付的原理和流程步骤,并提供一系列工具、代码和相关镜像来构建企业原生云的持续集成和持续部署交付产品。其中重点讲述和展示了产品需求分析和竞争对手产品分析、产品项目Redmine的构建和管理、驱动代码GitLab的构建及与GitHub的集成、满足持续质量保证的Jenkins集群定制、基于Kubernetes集群的端到端产品自动测试和基于Kafka和Streaming技术的实时预警、基于历史日志存储的ELK日志分析,在本书后还向读者介绍了Devops和AIops的行业案例和技术进展。
本书有助于读者了解和掌握基于云原生应用和产品的项目流程设计和运维的全过程。同时本书还提供了一系列实用设计文档模板、简洁完备的源代码和即插即用的可执行容器镜像,读者可在理解本书图文的基础上直接上手参与实际项目。
本书文字部分重点讲述原生云Devops的原理和流程,图示部分涉及各章核心流程。各章代码提供重点代码讲解,完整代码在GitHub上提供下载。各章运行环境提供开箱即可用的docker镜像,并在Docker Hub上提供下载。
本书主要适合读者对象包括:云平台产品设计开发运营人员;企业传统应用的云迁移项目实施人员;企业信息部门决策人员;大学及研究机构的相关研究人员和在校学生等。
本书的代码已经共享到GitHub,地址是https://github.com/cloudAgileOps/cloudagileops,读者可以随时下载并使用。
在本书的编写过程中,我要特别感谢我的两位同事兼朋友—张乐和侯皓星,他们承担了本书编写的大量工作,正是他们的加倍努力,才使本书的问世成为可能。下面是整个编书团队的简单介绍:
王宇,西安交通大学博士毕业,拥有17年行业经验,目前是思爱普中国研发中心西安分公司高级开发经理,主要从事数据库云服务的开发运维管理工作。
张乐,西安交通大学硕士研究生毕业,拥有10年以上行业经验,目前是思爱普中国研发中心西安分公司的高级开发工程师,主要从事数据库云服务的开发运维工作。
侯皓星,西安交通大学硕士研究生毕业,拥有8年以上行业经验,目前是思爱普中国研发中心西安分公司的高级开发工程师,主要从事数据库云服务的开发运维工作。
如果读者能从本书获得某些帮助和启迪,我们将不胜荣幸和欣慰。
《云原生敏捷运维从入门到精通》共8章。第1章介绍云化产品的需求分析以及云资源的规划和选型;第2章通过对开源工具Redmine的讲解,提出云化产品的项目管理解决方案;第3章对版本控制系统Git的使用原理、基本操作和场景进行了详细的阐述,并简单介绍了两大Git代码托管服务GitHub和GitLab;第4章详细讲解了流行的持续集成系统Jenkins;第5章主要讨论如何在云原生的环境下规划测试计划,从而对产品的功能、性能、安全等方面进行可重复、可迭代的质量评估;第6章以实例的方式讲解Ansible和Kubernetes在产品部署到云环境中所发挥出的高效和灵活的作用;第7章介绍云化应用的性能检测的相关概念以及定义性能监测指标数据的各种方法;第8章对智能运维(AIOps)的概念和潜在的应用场景进行简单介绍,并展望了未来AIOps的发展方向。
《云原生敏捷运维从入门到精通》并未深究运维中的单个环节,而是对IT服务云化过程中开发运维工作的方方面面都有所涉及,以期读者能够对云运维的整个生产周期具备全局的认知。
《云原生敏捷运维从入门到精通》非常适合正在考虑IT服务云化的企业运维人员阅读,也对企图进一步改进现有云开发运维流程的相关人士有一定启发作用。
《云原生敏捷运维从入门到精通》共8章。第1章介绍云化产品的需求分析以及云资源的规划和选型;第2章通过对开源工具Redmine的讲解,提出云化产品的项目管理解决方案;第3章对版本控制系统Git的使用原理、基本操作和场景进行了详细的阐述,并简单介绍了两大Git代码托管服务GitHub和GitLab;第4章详细讲解了流行的持续集成系统Jenkins;第5章主要讨论如何在云原生的环境下规划测试计划,从而对产品的功能、性能、安全等方面进行可重复、可迭代的质量评估;第6章以实例的方式讲解Ansible和Kubernetes在产品部署到云环境中所发挥出的高效和灵活的作用;第7章介绍云化应用的性能检测的相关概念以及定义性能监测指标数据的各种方法;第8章对智能运维(AIOps)的概念和潜在的应用场景进行简单介绍,并展望了未来AIOps的发展方向。
《云原生敏捷运维从入门到精通》并未深究运维中的单个环节,而是对IT服务云化过程中开发运维工作的方方面面都有所涉及,以期读者能够对云运维的整个生产周期具备全局的认知。
《云原生敏捷运维从入门到精通》非常适合正在考虑IT服务云化的企业运维人员阅读,也对企图进一步改进现有云开发运维流程的相关人士有一定启发作用。
1. 王宇。SAP高级产品及品控经理,原生云系统高级架构师,有20年的IT从业及产品开发经验。先后领导多个团队参与设计了多项数据库产品,是多项相关国际专利的主要作者。具有丰富的团队领导和管理经验,曾多次担任多项集团公司和大学科研机构的产品创新大赛评委。目前的主要研究方向为云原生系统的架构设计验证和治理评价以及高性能云数据库的品控管理。
2. 张乐。SAP高级技术专家,有13年的IT从业及产品开发经验。具有丰富的数据产品业务分析、研发设计、质量测试评估、部署发布的产品全流程经验。曾从事多款数据库和数据仓库产品的设计研发和质量测评,是多项相关国际专利的合著者。目前主要研究方向为原生云数据库和企业智能数据产品质量指标体系设计和质量评估优化。
3. 侯皓星。SAP高级技术专家,有超过8年的IT从业及产品开发经验。有丰富的数据库、 智能云服务等产品的设计、研发和品控的项目经历,对企业信息化、智能运维等领域有较为深刻的认识。曾担任集团公司多个国际化项目合作团队的联络人,多次担任敏捷团队技术评估顾问。
前言
第1章 云时代客户需求的及时响应
1.1 客户需求与竞争对手产品分析驱动的行动框架
1.1.1 云应用客户需求的收集分析决策
1.1.2 云应用竞争对手产品分析与敏捷应对
1.2 实施应用决策—预算规划下的云资源投入
1.2.1 预算规划下的云资源投入计算和优化
1.2.2 快速迭代与优化客户反馈和市场反应
1.3 小结
第2章 产品项目生命周期的开始—Redmine
2.1 从创建开始—Redmine入门
2.1.1 首次体验Redmine
2.1.2 使用Redmine定义产品项目
2.1.3 众人的合力—Redmine角色定义与产品预期沟通
2.2 产品管理—进度与反馈
2.2.1 TodoList应用项目总览
2.2.2 Redmine问题跟踪
2.2.3 Redmine活动管理
2.3 深入阶段—Redmine日历与进度表
2.3.1 Redmine日历记录与管理
2.3.2 使用甘特图实施进度把控
2.3.3 综合使用日历与进度把控的讨论区管理
2.4 基于需求的扩展—使用Redmine高级管理功能
2.4.1 组功能和任务指派
2.4.2 项目权限和角色管理
2.5 小结
第3章 管理代码—从分布式版本控制系统Git出发
3.1 版本控制系统构建与管理—Git
3.1.1 Git如何工作
3.1.2 Git操作场景
3.1.3 Git协作开发的经典模式
3.2 管理分享代码宝库—GitHub
3.2.1 GitHub基本简介
3.2.2 GitHub其他功能
3.2.3 快速找到你感兴趣的项目
3.3 企业的内部代码仓库管理—GitLab
3.3.1 GitLab基本简介
3.3.2 搭建GitLab服务
3.4 小结
第4章 让需求和质量持续得到满足—快速交付中的Jenkins
4.1 精良的工作流设计—Jenkins定制
4.1.1 简单的开始—安装和使用容器化的Jenkins
4.1.2 选择合适的工具—Jenkins插件的搜索和使用
4.1.3 Jenkins崭新的用户体验—BlueOcean
4.2 跟踪问题—Gerrit
4.2.1 Gerrit简介和使用
4.2.2 Gerrit与Jenkins集成
4.3 更健全的Jenkins系统及维护实践
4.3.1 Jenkins分布式节点的构建
4.3.2 Jenkins用户管理
4.3.3 Jenkins安全配置
4.3.4 管理及监控Jenkins
4.4 小结
第5章 迭代—持续集成的自动化测试
5.1 自动化测试与Jenkins
5.1.1 代码片段能工作吗—单元测试
5.1.2 发现局部的问题—集成测试
5.1.3 持续交付—端到端测试
5.2 全面的考虑—规划Jenkins测试
5.2.1 规划回归测试
5.2.2 规划端到端测试
5.2.3 用户可以使用吗—定义功能测试
5.2.4 可以做到足够好—定义性能测试
5.2.5 预防可能出现的安全问题—定义安全性测试
5.3 用户可以使用吗—定义功能测试
5.3.1 面向图形用户界面的测试
5.3.2 面向系统互联接口(RESTAPI)的功能测试
5.4 可以做到足够好—定义性能测试
5.4.1 预先准备—Web性能KPI定义
5.4.2 LOCUST的安装和配置
5.4.3 LOCUST测试代码
5.4.4 运行LOCUST进行性能测试
5.4.5 LOCUST测试在云端
5.5 预防可能出现的安全问题—定义安全性测试
5.5.1 如何安装Metasploit
5.5.2 如何使用Metasploit
5.5.3 基于Metasploit的自动化测试
5.5.4 Metasploit在云端
5.6 小结
第6章 尽快让客户看到改进和得到反馈—端到端的交付部署Kubernetes和Ansible
6.1 规划云原生端到端的域部署—流程域的划分
6.2 实现部署—使用Ansible配置管理
6.2.1 Ansible的安装和使用
6.2.2 测试区域/预生产区域/生产区域的Ansible配置
6.2.3 跨域部署—Ansible如何应对跳转机
6.3 构建容器式交付部署环境—使用Kubernetes集群
6.3.1 即插即用—容器运行环境
6.3.2 部署和管理容器集群—Kubernetes集群构建
6.3.3 注入应用—在交付部署环境中使用容器工具
6.4 让一切动起来—持续集成交付部署
6.4.1 整体流程的自动化
6.4.2 Redmine流程信息自动化查询与更新
6.4.3 Jenkins Redmine集成
6.4.4 Jenkins Ansible集成
6.5 小结
第7章 对一切了如指掌—应用性能监测
7.1 应用性能管理概述
7.1.1 应用性能管理过程
7.1.2 产品生命周期中的应用性能管理
7.2 深入应用性能监测
7.2.1 根据性能数据类型探索性能监测
7.2.2 覆盖端到端的性能监测维度
7.2.3 服务器性能数据监测分类
7.3 使用InfluxDB管理应用性能数据
7.3.1 时间序列数据库的结构和原理介绍
7.3.2 InfluxDB数据库管理
7.3.3 应用性能数据表操作
7.4 小结
第8章 新的开始—拥抱机器学习与人工智能的明天
8.1 人工智能的新课题—AIOps
8.1.1 AIOps的诞生
8.1.2 AIOps的现状
8.2 AIOps的应用场景和典型案例
8.3 AIOps的未来展望
附录A 公有云提供商的相关服务列
《云原生敏捷运维从入门到精通》共8章。第1章介绍云化产品的需求分析以及云资源的规划和选型;第2章通过对开源工具Redmine的讲解,提出云化产品的项目管理解决方案;第3章对版本控制系统Git的使用原理、基本操作和场景进行了详细的阐述,并简单介绍了两大Git代码托管服务GitHub和GitLab;第4章详细讲解了流行的持续集成系统Jenkins;第5章主要讨论如何在云原生的环境下规划测试计划,从而对产品的功能、性能、安全等方面进行可重复、可迭代的质量评估;第6章以实例的方式讲解Ansible和Kubernetes在产品部署到云环境中所发挥出的高效和灵活的作用;第7章介绍云化应用的性能检测的相关概念以及定义性能监测指标数据的各种方法;第8章对智能运维(AIOps)的概念和潜在的应用场景进行简单介绍,并展望了未来AIOps的发展方向。
《云原生敏捷运维从入门到精通》并未深究运维中的单个环节,而是对IT服务云化过程中开发运维工作的方方面面都有所涉及,以期读者能够对云运维的整个生产周期具备全局的认知。
《云原生敏捷运维从入门到精通》非常适合正在考虑IT服务云化的企业运维人员阅读,也对企图进一步改进现有云开发运维流程的相关人士有一定启发作用。
1. 王宇。SAP高级产品及品控经理,原生云系统高级架构师,有20年的IT从业及产品开发经验。先后领导多个团队参与设计了多项数据库产品,是多项相关国际专利的主要作者。具有丰富的团队领导和管理经验,曾多次担任多项集团公司和大学科研机构的产品创新大赛评委。目前的主要研究方向为云原生系统的架构设计验证和治理评价以及高性能云数据库的品控管理。
2. 张乐。SAP高级技术专家,有13年的IT从业及产品开发经验。具有丰富的数据产品业务分析、研发设计、质量测试评估、部署发布的产品全流程经验。曾从事多款数据库和数据仓库产品的设计研发和质量测评,是多项相关国际专利的合著者。目前主要研究方向为原生云数据库和企业智能数据产品质量指标体系设计和质量评估优化。
3. 侯皓星。SAP高级技术专家,有超过8年的IT从业及产品开发经验。有丰富的数据库、 智能云服务等产品的设计、研发和品控的项目经历,对企业信息化、智能运维等领域有较为深刻的认识。曾担任集团公司多个国际化项目合作团队的联络人,多次担任敏捷团队技术评估顾问。
— 没有更多了 —
以下为对购买帮助不大的评价