根据维基百科的描述,建构师是规划、设计、检查建筑物构造的人。世异时移,现在出现了DevOps架构师这个职位,但绝不是取代了之前的建构师,事实上目前这两种职位在现代社会都存在。
本文谈的架构师是网络技术领域的。通过本文,希望大家能了解DevOps架构师这个职位及其工作内容。
DevOps架构师的一天
这话题有点大。在行业里,实践DevOps的人们有很多工作头衔。“DevOps工程师”、“DevOps架构师”、“产品发布工程师”、“自动化架构师”、“配置管理工程师”、“开发运维工程师”等等。但真正的挑战是,如何将DevOps作为一种方法论,而不是单纯的技术来深入理解。
DevOps让开发和运维团队互相协作,降低了团队响应变更的时间。借助一些工具、技术和流程就可以实现DevOps环境。它为软件的高效开发指明了道路。
根据Linux基金会的2017开源工作报告,DevOps工作技能(57%)位列最受欢迎技能前三,仅次于云/虚拟化技术(60%)以及应用平台开发(59%)。42%的公司热衷将DevOps技能列入招聘要求。
客户提问和讨论的焦点,已经从“什么是DevOps?”变成“我们如何大规模实现DevOps?”——Forrester首席分析师罗伯特-斯特劳德如是说。
DevOps不仅仅是一种文化转变,或者一种思维、一组技术。DevOps更是一种向前看的方式。
从角色和职责定义看,除了与DevOps工程师类似的地方,DevOps架构师还需要一些额外的领导素质。
“每个组织都有不同的结构,这取决于人员、项目和过程”
DevOps架构师负责:
-分析、执行和简化DevOps实践;
-用正确的工具实现过程自动化;
-促进开发过程和部署运维;
-在组织中建立合适的DevOps流程;
-建立持续的发布构造环境加速软件开发和部署过程;
-设计构建全面的、综合的、有效率的实践规范;
-在出现问题时指导开发人员和运维团队;
-监控、审查和管理技术操作人员;
-具备领导思维的团队管理能力。
DevOps架构师必备技能:
-有多年使用不断更新的工具,构建大型软件的经验
-技术专长和创造能力
-具备领导思维
-善于沟通
-具备有关工具和技术的最新进展知识
-通晓各种概念
-团队激励手段
-丰富的实操经验
-非凡的跨职能领导技能
-高效的问题解决能力
-配置管理能力
想要在组织中成功地实施DevOps,关键是建立相应的文化。看看一些案例:
“我们需要理解在DevOps上所做的努力和投入,是如何改进了我们的业务水平,很显然数据证明了一切。”——XebiaLabs产品副总裁Tim Buntel如是说。
聘用DevOps架构师/工程师的意义:
DevOps架构师/工程师的角色在当今的就业市场至关重要。随着敏捷软件开发文化的大行其道,具备高效沟通和协作能力的专业技术人员更受欢迎。
这里列出几个关键理由:
-他们能够熟练地合作;
-他们善于沟通;
-他们有创造DevOps文化的经验;
-他们可以把控基础架构的规划、测试、开发;
-他们能确保整个组织的安全、高效;
-他们鼓励团队更少错误、更快交付软件产品;
-他们对DevOps工具、结构、流程、思维有清晰的理解;
-他们预见需求、累积资源,并据此作出规划;
-他们检查自动化、版本控制和总体安全性方面的问题,并提出快速解决这些问题的必要步骤。
DevOps架构师如何克服传统软件模型的缺陷
应对变更:
这是传统软件开发模式的主要问题之一。代码修改了,而生产环境的变更需要时间,这通常会延迟产品发布。
DevOps架构师/工程师通过实现CI/CD流水线来加速开发、测试、发布,从而克服这个问题。
不间断的反馈和监控链:
当谈到传统软件开发模型,如瀑布模型,从检查、修改到实现,反馈周期很长。
现在有了自动化交付流程,在整个组织中进行持续的反馈和监控将变得很容易。
频繁、可靠地发布:
版本控制,更新和发布是传统软件开发模式如迭代、螺旋、瀑布等模式的痛点。它降低了企业的应用推向市场的时间,即便仅仅因为修改一个小bug。
DevOps架构师/工程师能够以很高的效率和速度解决这个问题,因为他们倾向于使用工具和策略来为“开发”和“运维”之间搭建一座桥梁。
组织聘用DevOps架构师的理由是什么?你的组织需要吗?
就像我们前面讨论的,DevOps已经越来越受欢迎了,每个组织都已建立起这种文化或者宣称要这么做。但仅有工具不足以建立一个DevOps环境,组织还需要针对每个成员做DevOps相关的培训。
当DevOps已成为很多大型组织的热门话题时,小型组织或非技术类公司可能对此并不关心。
DevOps流行的一个强大驱动力是通过持续集成、部署和测试来简化开发、部署运维过程的潜力。然而很多观念和观点对DevOps本来的目标形成了误导。
在招聘任何DevOps工程师/架构师之前,您需要考虑几个因素:团队规模、性能、需求和总体业务模型。
组织雇佣他们,是因为:他们推动软件开发团队之间形成充分、实时、快速、自动化和高效的开发文化;他们能够成为一个出色的leader,详细具体地掌握每个工具和概念的相关知识。
这就是DevOps架构师要做的!
他们审视全局,通过应用适合的工具和人员,消除瓶颈。