本书主要阐述了云计算中PaaS平台的实现与运维管理,分为四大部分,分别是概念模型、基础资源、平台实现与运维管理,共十五章。第一部分阐述了运维与开发之间的关系、这层关系存在的矛盾,以及PaaS是如何有效缓解其矛盾的;第二部分勾勒出了数据中心的计算、网络、存储三大资源的主干,避免让人陷入上层的种种产品中;第三部分通过开源产品来构建一个完整的PaaS平台,包括资源管理、任务调度、计算单元打包、分布式协调、日志集中等;第四部分对运维管理进行了实践。
本书适合运维工程师、运维管理人员,以及希望在PaaS上运行分布式、可伸缩、高可用的后端开发工程师阅读。
国内首部PaaS著作|云计算数据中心关键技术揭秘 |Docker生产运维实践 |运维管理精华萃取
古往今来随风去,书剑相伴两袖空
笔者在运维领域耕耘十余载。2007年加入平安集团旗下的科技公司,2011年主导了业内最大的应用迁徙与架构变更,2012年开展IT运维管理变革,打通横向条线,实现了技能融合。光阴荏苒,日月如梭,运维往事历历在目,我们流过汗,熬过夜,摊过事,也拿过奖,运维是一个从无到有、日积月累、不断提升的过程,也是一个需要耐得住寂寞,顶得住压力的行当,在此与正奋斗在运维一线的伙伴们共勉。
平安IT经历了企业信息管理部、国际领先IT服务公司、互联网金融三个历史阶段,每一次蜕变都紧随时代步伐,拥抱技术革新,创造业务价值。从企业ERP、PC互联、移动互联、云计算到大数据,运维人一直在奔袭,从未停歇。企业信息管理时期的运维人飞行于各大城市的上空,每一次发版、变更就是一次长途远行,分散的管理模式简单直接,但随着业务发展、规模扩大,企业对系统稳定性、运营成本控制的要求越来越高,随之而来的是IT集中管理时期,这个时期追求一流的国际IT服务管理水平,构建独立数据中心,实现开发架构、安全标准与运营规范的全面统一,该时期形成的IT管理实践堪称行业标杆。2013年全面进入互联网金融时期,移动互联、云计算、大数据的火热发展,业务渠道、流量入口、用户终端的改变,促使我们又一次站在了历史的新起点。
互联网金融在运维方面上演了一场“双城记”。一边是充满贵族气质、为荣誉而战的“英伦君主立宪”,在这个领域内严格执行IT管理规范,稳若磐石,滴水不漏,保证绝对稳定与安全;而另一边是自由、民主喧哗下的“法国大革命”,为了满足互联网下业务系统的高并发、高吞吐、版本多变的需求,应用不再拘泥于一致框架、规范与准则,多样选择,以快为先。本书的核心内容就是在这样的背景下诞生的,我们无法“一刀切”地构建承载所有应用类型的基础环境,只有准确定义应用标准,以一种兼容并存的方式在应用架构上迭代地朝轻量级、微模块方向发展,通过技术、管理双层标准来调和“君主立宪”与“民主共和”之间的矛盾,转化成优势互补、经验传承、全面共赢,最终完成新时期的历史使命。这个过程是无法一步到位、一蹴而就的,而是以一种螺旋式形态探索前进的,除了在原有管理规范上引入新技术探究,还需要开发同步配合在应用架构上进行改造,基础架构将从环境运维逐渐转变成平台研发,以提供功能粒度细、服务自助化的运维平台来满足上层应用需求。
通明大道去浮华,千辛历尽回本真
PaaS并不能解决IT运维的所有问题,它对应了“民主共和”的部分,提供了一个用户自助的开放形式平台来满足部分应用需求。PaaS也不是从一开始就从解决异地容灾、流量切换等数据中心级别功能上设计的,而是在兼容当前企业应用架构、满足资源分配、计算单元打包、版本发布控制等基础功能后,再做进一步功能延伸的。PaaS并不是一种新兴技术,而是对以往运维经验的总结,利用容器等技术对开发、运维工作流的重新编排。
IT技术更新发展快,新词汇层出不尽,特别是在云计算、大数据、移动互联下衍生了大量的产品,让运维人应接不暇,刚刚掌握Hadoop,又出Spark,才标准化ActiveMQ,又有Kafka,OpenStack的IaaS体系才得以了解,又有各种平台下的PaaS……如果要熟练掌握每一门技艺,则将是一个疲于奔命的过程,而这个过程大部分都是表面的产品架构与配置,我们会发现一旦深入其中,所有技术却看似一致。对于运维人员来说,亘古不变的始终是底层的三大基础资源计算、存储、网络,这些知识包括:程序的链接、加载与运行;操作系统下的CPU、内存、I/O资源管理;基本的TCP/IP协议栈等。随着技术层级越多、复杂性越高,运维人员只有透过眼花缭乱的“新技术”看到其内在一致的本质,在底层长期沉淀,理解好程序是如何调用三大基础资源,找到运维技术的本真,才可以做到最终的不变应万变,这也印证了运维是一个要耐得住寂寞的行当。
最后让我们回到运维管理上,今年国内互联网上发生了几起影响比较严重的运维故障,一时间在圈内引起关于“再流弊的技术,也抵不过一次事故”等的科技杂谈,可见管理在运维上的重要性。管理是一门艺术,而这门艺术在运维上并不是形而上学、趋于神秘主义的,也不是绝对的“封”“杀”“控”,以怀疑主义、不信任方式来管控的。运维管理是人、流程与工具三方面的有机结合。“民主共和”型运维管理往往依赖于人的自觉性,而“君主立宪”则重在流程管控,朝两个极端偏倚而忽视它们与工具的结合都将不能从根本上解决问题。我们会发现越是技术实力强、自信的人越容易犯运维错误,而再完善的流程制度,如果烦琐到让人感觉“无意义”,那也就无从执行了。工具是人与流程之间的桥梁,但一定要注意这个工具不是管控的“枷锁”,而是在满足运维管理需求下关注一线运维人员用户体验的“帮手”。对于管理层,它是上层意志的体现,但对于一线运维人员,它是一个效率工具,除了包含精准配置信息、标准变更步骤,还要囊括人性的知识分享、社交互动等功能,它是为一线运维人员服务、以人为本的。
内容大纲
本书分为四大部分,分别是概念模型、基础资源、平台实现与运维管理,共十五章。各部分之间没有必然联系,读者可依据关注点和个人兴趣来阅读。对于需要系统化理解运维及PaaS的读者,建议遵循本书的章节顺序阅读。
第一部分——概念模型:阐述了运维与开发之间的关系、这层关系存在的矛盾,以及PaaS是如何有效缓解其矛盾的。这部分介绍了公有PaaS平台的特征,以及其开放性与约束性,列出12-Factor规范来说明应用系统应当遵循的规则,这样才能适应于在PaaS上运行。
第二部分——基础资源:勾勒出了数据中心的计算、网络、存储三大资源的主干,避免让人陷入上层的种种产品中。对于已熟悉数据中心三大资源的运维人员来说,本部分是资源的总体概述,让你重拾内在本质。若你是一名运维新兵,则请以此为纲要寻找外部资源来继续深入学习;开发人员可通过本部分了解到日常运维工作所管理对象的基本内容。
第三部分——平台实现:通过开源产品来构建一个完整的PaaS平台,包括资源管理、任务调度、计算单元打包、分布式协调、日志集中等。通过学习本部分的内容,读者可以实现一个可扩展、自定义的开放PaaS平台,这个扩展部分包括了各自企业内部的集成部署流程、应用灰度发布、平台门户管理等方方面面的内容。
第四部分——运维管理:对运维管理进行了实践。运维管理的核心是配置管理,一个好用、易用的配置管理系统将直接影响上层监控管理、变更管理及事件管理,决定一个企业运维品质的好坏。
感谢
首先特别感谢我的太太李嘉,在过去一年里,写作几乎占用了我所有的周末及其他休息时间,你承担起了家务,并对我与余多多悉心照顾,没有你的理解、宽容与支持,本书无法完成。感谢姐夫喻立新、姐姐何碧,你们在本书插图上给予了我很大的帮助。特别感谢饶琛琳、杨永帮利用周末进行审订稿件,感谢梁山在12-Factor上对我的帮助,感谢策划编辑孙学瑛老师对我的鼓励,感谢责任编辑虾米(张国霞)的校对、排版与指导。
感谢我的公司平安科技,给予了我一个更大的平台,让我驰骋在IT运维大草原上得以一览全貌。感谢我的上级胡玮、朱永忠、李毅对我工作的支持,感谢我的同事王欣、于泳、宋楹柯、蓝景全、江锐、常明、黄文建、唐文祥、陈顺星、彭俊清、陈春润对我的帮助。感谢事件处理组的小伙伴们:王耀武、莫广华、陈秋浩、郑司营、赵宝磊、吴磊、林国峰、张浙栋、夏永燕、孟佩佩、罗颖胜、倪沛榆、丁江,感谢基础架构篮球队。感谢所有在互联网上帮助过我的朋友们。
余何
2015年11月