前言

关于本书

随着云计算的到来,传统IT已经向DT变革。云计算具有低成本、高稳定性、高效率、可灵活扩展等诸多优点,已经在逐渐淘汰传统IDC的IT模式。未来,云计算将成为互联网的基础设施。

2012年,我机缘巧合接触到云计算这个领域,有幸走到了互联网发展的前沿。更多时候,我觉得并不是我选择了云计算,而是云计算选择了我。由于我对计算机颇感兴趣,从事过Java开发、系统运维、系统架构等工作,又恰逢云计算浪潮来临,我个人的专业技能正好在这个领域得以施展,所以说我是被云计算选中的。在云时代,当上架一台服务器就像在淘宝上购物一样方便,当做环境配置、软件部署就像在网上选择产品型号一样快捷,也就是说当这一切工作都由云平台替运维人员完成时,那运维人员还有什么价值呢?这也是云时代下传统中小型企业不需要运维人员的根本原因——不再需要人力去做这些基础工作。所以说DevOps是运维行业的未来之路。云计算只是一个开始,不管是运维、开发还是架构等,未来你需要更多技能才能顺应互联网发展的潮流。

在云计算领域,当前市面上关于运维架构技术实践方面的书籍非常匮乏,大多数书籍的内容偏向云计算底层(IaaS)的基础架构,及云计算的体系介绍。我在2013年看过《飞天开放平台编程指南》一书,但它的篇幅有限,内容更偏向于API,于是我萌生写一本基于云计算的、偏向实践的书籍的想法。我平时喜欢跟他人通过文章、沙龙、会议等分享自己在云端技术方面的所见、所想,且我是计算机技术出身,也一直追求开源的分享精神,这些都是我坚持写完本书的核心动力。

2009年的阿里云,2011年的盛大云,2012年的电信天翼云,2013年的腾讯云及华为云,2015年的百度云,国内的云计算市场可谓百花齐放。鉴于阿里云的领先地位,加上我本身也一直基于阿里云从事云端产品研发、云端迁移、云端运维、云端架构、云端安全、云端培训等方面的工作,所以刚开始我准备以“阿里云:千万级系统的架构”为重点凸显架构实践内容,但后来考虑到架构分软件层的系统架构和系统运维层的分布式集群架构,而我的实践经验更偏向于后者,为了让主题更加清晰,也为了发挥我的专业优势,最终将本书定位为“阿里云运维架构实践秘籍”。

读者对象

本书的内容偏向于实践经验,不太适合没技术基础的初学者,而是适合在研发、运维、架构等方面具备一定经验的技术人员。

❑ 开发人员:本书可帮助开发人员熟悉云端分布式集群架构的相关技术,使其能够从宏观架构的角度研发代码,提升技术眼界和高度。

❑ 运维人员:本书可帮助运维人员提升运维实践技能和知识广度、高度,有助于其向高级运维、架构师晋升或转变。

❑ 架构师:本书介绍了大量云端实践经验、实践案例及场景,对架构师来说不可多得。

❑ 技术管理者:本书介绍了大量云端技术架构、云端技术思维、云端技术方向等方面的实践经验,在成本把控、技术方向把控/决策、技术人员管理等方面是技术管理者的重要指导。

❑ 关注和使用云计算的用户:同样,本书也适合对云计算实践技术具有浓厚兴趣的爱好者,相信大量的案例、实践场景会让你有所受益。

内容简介

本书共18章,介绍云端运维架构最佳实践的十八招绝技,所以我也喜欢把本书称为云端实践秘籍——“降云十八掌”。本书是我历时八年的云端技术实践,总结了五千余家一线互联网企业实践干货及经验。技术面覆盖二十余款热门云产品实践、五十余种常见开源热门技术实践,并包含百余种云端架构技术的实践技巧和方法、千余项案例实践经验,以及云端混合云、云端容器、云端监控演变、云端自动化运维、云端DevOps、云端智能化运维、云端安全、云端分布式架构八大技术架构实践。

本书内容最初规划时分为五篇:云端选型篇、云端实践篇、云端安全篇、云端架构篇、云端运维篇。由于内容太多,最后决定将云端运维篇的相关内容放在我的下一本书中进行详细介绍。本书基本结构如下。

云端选型篇(第1~5章)

云端选型篇介绍了在云端选择什么样的云平台做战略规划部署及业务体系建设,选择什么样的云产品来架构及规划业务,选择什么样的开发语言来应对业务开发需求,选择什么样的系统技术来搭建运维架构及实施,以及选择什么样的配置来部署业务及做容量规划等。

第1章讲述部署业务服务时选择什么样的云平台落地,即选择哪个云厂商落地。由于不同云厂商的公司实力、业务背景、技术团队实力等不同,所以不同云厂商的业务方向、平台稳定性、平台安全性、平台服务质量、产品功能及价格等都有所不同。因此云平台的选择,决定了业务的体系建设及战略规划部署方向。

第2章讲述在对应的云平台上选择什么样的云产品进行业务的部署及规划,云产品的8/2选择原则教我们在面对云平台两三百款眼花缭乱的产品时,如何选择对应的产品,选择的重点是什么,以及要注意些什么。

第3章讲述当下云端最火热的编程语言,由于云平台的特性决定了云适合分布式应用,所以在云端使用较多的还是Java、C#等具有Web框架的语言,以及PHP、Python所代表的脚本语言。

第4章是本篇的重点,其核心内容包含云端网络、云端Web服务器、云端负载均衡、云端存储、云端缓存、云端数据库五个大类,基本覆盖云端千万级运维架构常见的运维技术。通过学习该章内容,你将了解及熟悉在云端运维架构中应该选择什么样的运维技术。

第5章介绍在云端选择什么样的服务器配置来部署业务及做容量规划,该章通过实践案例做经验性的梳理及总结,有效解决了企业应用中普遍存在的服务器配置偏高、资源使用率偏低等常见问题。

云端实践篇(第6~13章)

云端实践篇是基于云端选型篇,对云端运维架构涉及的相关技术的重要实践,也是本书的重点篇幅,包含云主机、云端负载均衡、云端存储、云端缓存、云端数据库等云端最火热的技术的实践,并且结合上云迁移、混合云及容器、云端运维实践这三类云端最常见的热门需求,结合真实客户案例,向大家分享当前最热门、最流行的混合云技术架构、云端容器技术架构、云端监控演变及技术实践、云端自动化运维技术实践、云端DevOps技术实践等。

第6章基于云端最核心产品ECS的特性,讲述云网络下的业务新架构、云的分布式架构、云的资源自动化管理等云的技术优势、特点及其实践。

第7章是本篇的经典内容,介绍在传统开源负载均衡的经验基础上,结合云平台下负载均衡的最佳实践经验、负载均衡作为分布式架构及高可用架构的核心技术,以及企业级的应用场景及案例。

第8章讲述块存储(云盘)、共享文件存储、OSS对象存储这三大云端非结构化数据存储的实践技巧及方法。

第9章讲述以Nginx、Varnish、Squid等为主的静态缓存技术、如何提升Web应用的静态资源(如HTML、JS、CSS、图片、音视频等静态文件)的访问速度,以及以Memcache、Redis等为主的动态缓存技术在数据库缓存、集中Session管理、动态页面缓存这三大场景中的应用。

第10章从数据库的垂直拆库及水平拆表两个维度,讲述所涉及的垂直拆库、水平拆表的应用场景实践,以及所涉及的主从、集群、分布式Sharding三大数据库架构技术实践。

第11章通过三个真实客户案例,讲述上云迁移、混合云架构、云端运维架构优化这三类云端最常见的热门运维需求的技术实践。

第12章讲述物理机体系、云计算体系、容器体系这三大IT架构体系所对应的系统架构的演变过程,通过Nagios、Zabbix、云监控、Prometheus、TICK技术栈等十一大监控方案,介绍互联网监控技术的发展及演变过程,方案所涉及的技术也几乎覆盖了当今互联网最热门的监控技术。

第13章通过真实客户案例讲述云端容器十二大技术实践,更是通过DevOps发展的四个阶段,即人工阶段、脚本及工具阶段、平台化阶段、智能化阶段,分析了云端容器、云端自动化运维、云端DevOps这三者之间的区别与联系。

云端安全篇(第14~16章)

随着云计算的发展,云端面临着挑战也面临着机遇。如何通过技术手段保障云端业务的安全性是本篇的核心内容。通过常见攻击案例,结合云端最佳安全防御方案,本篇将带你一起走进黑客攻防的世界。

第14章通过分析云端安全问题现状,讲述安全行业面临的行业状态不容乐观、云端安全环境复杂化、安全对云优势有剧烈冲击这三大挑战,及其带来的云计算和大数据将成为安全体系基础核心保障、政策驱动叠加使得行业将迎来爆发这两大机遇。

第15章通过介绍什么是黑客、黑客入侵的途径、黑客入侵流程等,带大家了解黑客的真实定义及黑客日常攻击流程,提醒用户注意保护个人网络安全。

第16章从云端安全产品、云端安全架构、云端安全运维这三个方面,结合大量云端用户遇到的安全问题及场景,跟大家分享云端安全最佳防御实践经验。

云端架构篇(第17~18章)

在云端如何构建千万级架构,本篇主要结合前面的云端选型篇、云端实践篇、云端安全篇中相应的阿里云最佳实践经验,向大家分享一个小型网站如何逐步演变到千万级架构的过程。另外,结合云端热门的、不同的互联网业务的特点,介绍设计架构时要如何考量,以及有哪些秘密和诀窍。

第17章讲述一个应用如何从架构原始阶段(即万能的单机)、架构基础阶段(即物理分离Web和数据库)、架构动静分离阶段(即静态缓存+对象存储)、架构分布式阶段(即负载均衡)、架构数据缓存阶段(即数据库缓存)、架构扩展阶段(即垂直扩展)演变发展到架构分布式+大数据阶段(即水平扩展)。

第18章通过电商、游戏、移动社交、金融四大热门应用的业务特点,讲述在云端架构设计中需要注意的技术重点。

勘误和支持

由于作者水平有限,且时间仓促,书中难免存在疏漏,恳请读者朋友批评指正。如果你有更多宝贵意见,欢迎发送邮件至qiaobangzhu-cn@qq.com,期待您的支持与反馈。

致谢

本书写作历时两年,感谢公司对我的大力支持,这也是我坚持写完本书的最大动力。

感谢机械工业出版社华章公司的杨绣国编辑,我们相识5年,她的支持、鼓励和帮助,是我顺利完成写作的不竭动力。

感谢蒋宁在本书的内容上提出的大量宝贵专业建议,感谢陈婵在本书的运营宣传上提供的大量宝贵建议,感谢徐伟琴对本书所用的两百余张图片所进行的专业设计。

谨以此书献给我最亲爱的家人,以及宋帅、毋佳龙等支持我的朋友们。

乔锐杰

上海驻云科技,2020年1月