EXIN DevOps Master培训有感 4年前

这几天有幸参加了高维社区组织的EXIN DevOps Master国际认证课程,有理论学习,有沙盘模拟,还有真实的考试,可谓紧张而充实,接触到的一些经验和理论,还是值得在实际工作中,借鉴以及落地。

DevOps这词儿不是最近,才开始流行起来,一些互联网巨头Google、Facebook、Amazon、LinkedIn、Netflix、Airbnb,传统软件公司Adobe、IBM、Microsoft、SAP等,亦或是苹果、星巴克等都在采用DevOps或提供相关支持产品,国内则有各种互联网公司,甚至一些传统的企业,都在进行着各种实践,特别是Google SRE这本书引入之后,DevOps就像成为了标配,但实际上,对于DevOps,可能还有不少的误解,甚至炒作。

究竟什么是DevOps?

这问题有很多大牛的解释,官方专业的回答,各位可以自行google。

对于DevOps这词的由来,可以参考http://www.jianshu.com/p/f40209023006。简单讲就是DevOps之父Patrick,2009年在比利时举办一个类似Velocity的大会,受众是开发和运维工程师,会议的名称是DevOpsDays。但是由于Twitter上140个字符的限制,因此在Twitter上讨论的时候,去掉了DevOps中的Days,保留DevOps。

以下则是wiki对于DevOps的解释,可以看出,他强调了DevOps其实是一种软件工程的文化以及实践,目标就是统一“软件开发”,以及“软件维护”,DevOps不是一门单独的技术,旨在增强自动化以及监控整个软件创建的过程,从集成、测试、发布,到开发和基础设置管理,目标就是为了,缩短开发周期、提高部署频率和独立的发布,和商业目标能紧密结合。

如果从字面含义来看,DevOps是Development开发和Operation运维的缩写,但正如赵班长所说的,DevOps既不是开发运维,也不是运维开发,就是“开发”和“运维”,两者互不为对方的形容词,之所以这么说,我认为强调的是,开发和运维相互之间的融合,InfoQ上木环有篇文章,里面有张图片,很有意思,

以往开发和运维,如图中所说的,即使属于同一个部门,可能之间还是有堵墙,原因就是各自的目标不同,开发的目标就是,按照需求,按时按量完成开发任务,运维的目标则是,保障线上应用的稳定,从各自角度看,没有对错,但从整体来看,由于目标的不同,有时候就会形成矛盾,开发写出的代码,可能不具备“可运营性”,给运维设置各种各样的坑,运维则为了保证线上,给开发设置各种要求,”阻止“其进行各种危险的上线。但往往受限于业务的压力,不具备”可运营“的代码,依旧需要上线,随之带来的则是各种,故障-堵窟窿-背锅,矛盾更深。

对于开发和运维来说,实际的需求则是,开发想让自己的代码,尽快上线,而运维则想让自己维护的系统更加具备“可维护性”,从这一角度看,其实双方有一些共同点,开发在写代码的过程中,其实可以将一些运维的考虑加入系统设计当中,让其更具“可维护”,满足运维的基本需求,运维同样可以通过自动化,实现一些开发可以自服务、自诊断的工具,将运维要考虑的地方,封装起来,让开发人员使用,同时可以利用持续集成、自动化部署上线,一系列方法提高部署频率,满足业务和开发的需求。

某种意义上可以这么说,DevOps强调开发运维一体化,之前阿里曾为了全面践行DevOps,分拆整个应用运维团队,合并至每一个BU开发团队,从组织结构上,打通了开发和运维的关系。

当然不能说开发和运维,属于同一个部门,就一定是DevOps,就一定能是DevOps最佳实践,重要的是开发和运维,能否为了同一个目标,利用各种技术、工具,保证开发质量的前提下,高效、可靠、频繁地进行线上部署和运维,即实现软件产品交付过程中各环节和团队的打通,使得各个团队减少时间损耗,更加高效地协同工作。

DevOps涉及了不少知识体系,例如CI持续集成、持续开发、持续部署、配置管理,还有一些日本制造业,创造的工程思想,例如JKK质量检查、PDCA、KaiZen持续改善、Lean精益,同时包含一些文化理念,例如blameless免责,当然还要务实,技术上会包括微服务、云计算等,下面这张图形象描述了,DevOps做到极致,需要经历怎样的阶段,

只是务虚没意义,实现DevOps各环节技术栈一览,

(http://blog.csdn.net/FIRim/article/details/52681704)

我们正利用业余时间,研发一套系统,我们为其起名”Sherlock”,旨在让开发人员可以自服务,涉及的领域业界有成熟产品,但要么是太贵,要么是具体实现有偏差,至少我们公司,目前在这一领域,没有先河,因此算作尝试,待机会成熟时,再向各位介绍。

回到这次培训,EXIN DevOps Master。其中EXIN,全称Exam Institute for Information Science,国际信息科学考试学会,由荷兰经济事务部创办,现今已经从荷兰政府部门独立成立了EXIN基金会。EXIN是一家面向全球ICT从业人员的中立认证考试机构。听着可能陌生,但提到著名的“全球IT服务管理最佳实践知识体系-ITIL”,可能就有不少人,比较了解,EXIN就是其最初的创始机构之一。

以下是EXIN官方对于DevOps Master介绍,

简单来讲,就是围绕DevOps的知识体系,结合一些案例和最佳实践,进行整体宣讲,涉及的领域很广,从项目管理、开发、测试到运维,从Scrum、Lean、KanBan到JKK,理论结合实践,灌输DevOps的思想理念,以及文化,但这其中,不会涉及一些技术细节。

这是EXIN DevOps Master认证考试的介绍,

(https://www.exin.com/en/certifications/exin-devops-master-exam)

这次授课,是来自高维社区的三位牛人,做为讲师,第一天是业界著名的赵班长,从DevOps基础开始说起,介绍了整个DevOps理论体系,结合一些案例,让我们从感性到理性,对于DevOps有了认识。第二天则是景韵,做为敏捷教练,带着我们,进行了“凤凰项目”的沙盘模拟,可以说将DevOps理论,通过沙盘模拟,进行了一次落地的实践,加深我们对于DevOps中,一些理论的认识和应用。第三天是张乐,主要关注持续集成和流水线,经验也很丰富,理论和案例结合,让我们对于持续集成、DevOps理解有了新的体会和高度。另外,教务非常nice,无论是课程安排、午餐以及茶歇,非常到位,可以说和讲师们一起,践行了培训的"DevOps",非常感谢所有人的付出。

对于DevOps,总结一下,强调了开发和运维人员,做为一个整体,消除以往的隔阂,为了同一个目标,协同工作,但能否真正落地,一方面要看公司的文化,以及战略,只有一腔热忱,制度上有限制,白搭,另一方面需要技术的实现,空有各种理念,技术上无法支持,自然只能空谈,用Linus Torvalds一句话解释,“Talk is cheap, show me the code.”。

如果您觉得此篇文章对您有帮助,欢迎关注微信公众号:bisal的个人杂货铺,您的支持是对我最大的鼓励!共同学习,共同进步:)

本文分享自微信公众号 - bisal的个人杂货铺(gh_e8769c7350b1)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

image
境若潇镜
在我胡思乱想的所有事情中,唯独喜欢你这件事,不是白日做梦。
4
发布数
1
关注者
9662
累计阅读

热门教程文档

HTML
32小节
Docker
62小节
Spring Cloud
8小节
Python
76小节
Golang
23小节
广告