对DevOps学习方法的一点建议
Posted StuQ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对DevOps学习方法的一点建议相关的知识,希望对你有一定的参考价值。
很多刚开始接触DevOps的朋友都有一种困惑,感觉DevOps的一个特点就是各种理论、工具、实践繁多。学习理论知识吧,感觉不知道怎么落地,学习具体工具吧,又会有“知其然不知其所以然”之感,难道Jenkins+GIT+Docker+Nagios+Puppet就是DevOps?
我的理解是DevOps知识体系可以分为四层。
最上面的两层“理论”和“原则”,我认为可以统称为“原理”,是DevOps的思想和理论基础,好比内功。真正掌握了,才能对为什么做DevOPs了然于胸,做到各种实践、工具有取有舍,进退自如。
下面两层“模式”和“工具”,我认为可以统称为“实践”。这就是大多数行动派或者工程师最为关注的。模式是对解决某一类问题/浪费的范式,而工具是在该范式下的技术层实现。
个人学习DevOps,可以根据自己工作中的角色不同,有所侧重。简单归纳一下,如果:
身为高层经理,比如CIO或者研发中心负责人,可以重点花时间在最上两层。因为你们的工作是设定战略目标、支持业务发展计划、有效组织团队、并支持团队相关的转型实践。DevOps的原理可以帮你掌握大的方向,也可以明白DevOps到底适不适合你的企业。
中层经理和一线经理,比如部门经理、产品经理、项目经理等,可以从中间两层入手。因为既需要对DevOps思想有比较清晰的理解,同时对实现这些思想的实践模式有广泛的认识。这样才能识别哪里是急需解决的问题,应该对应采用什么样的模式。但对于具体工具是如何实现某个模式,可以不在一开始作为学习的重点。
你是技术负责人或者工程师,建议集中精力在下面两层。对模式的足够认识肯定是必要的,同时也要能选择相应的工具去实现模式里归纳的解决问题的思路。
具体参见下图:
另外一个维度,尤其是具体工程技术人员,要根据自己的专业入手。比如测试工程师,要理解测试策略、测试数据管理、提高自动化测试覆盖率等专业方向。同时也要横向扩展到邻近的领域,比如帮助开发实现可测试的软件架构(TestableArchitecture)、帮助运维做部署测试、帮助需求分析人员写基于自然语言的测试用例等。也要进一步理解容器、微服务、持续交付等实践。这里可以用一个T型模型来理解。
另外,不管你在哪个职级,都建议从《凤凰项目》这本书开始,因为是小说的形式,易于理解。接下来建议《持续交付》(或类似)这本实践模式类型的书。
光是看书还不够?StuQ特别邀请 ThoughtWorks的DevOps 技术咨询师开设系列课程,深入DevOps实战,快速掌握这个能够提升工作效率和帮助团队提升协作质量的新型技能。
送你价值200 元本课程优惠码【RT9STS9EDE 】,限使用20 次。
赶紧戳「 阅读原文 」,使用优惠码报名吧,先到先得。
以上是关于对DevOps学习方法的一点建议的主要内容,如果未能解决你的问题,请参考以下文章