DevOps 的 5 个关键原则
要充分发挥 DevOps 的潜力,团队应遵循关键 DevOps 原则
DevOps 不仅仅是开发和运营团队协同工作,它不只限于工具和实践。DevOps 是一种思维方式,一种文化转变,有利于团队采用新的工作方式。
DevOps 文化意味着开发人员可以更好地了解用户的要求和需求,从而拉近与用户的距离。运营团队参与开发过程,并添加维护要求和客户需求。因此,需遵循以下关键原则,帮助 DevOps 团队以比使用传统软件开发模式的组织更快的速度和更高的质量来交付应用和服务。
协作
DevOps 背后的关键前提是协作。开发和运营团队合并为一个职能团队,在整个开发和部署周期中进行沟通、共享反馈和开展协作。通常,这意味着开发和运营团队合并成一个团队,并在整个应用生命周期中开展工作。
DevOps 团队的成员负责确保在产品的各个方面交付高质量的成果。这会产生更多的“全栈”开发,即团队承担一项功能或产品的全部后端至前端的责任。从构思到交付的整个生命周期,团队对一项功能或项目全面负责。这加强了团队的投入力度和依附度,进而可提高输出的质量。
自动化
DevOps 的其中一项基本实践是:尽可能实现软件开发生命周期的自动化,让开发人员有更多时间来编写代码和开发新功能。自动化是 CI/CD 管道的一个关键要素,它有助于减少人为错误并提高团队工作效率。借助自动化流程,团队可以在较短的迭代时间内实现持续改进,从而快速响应客户的反馈。
行动以客户为本
DevOps 团队利用与客户和最终用户的短程反馈回路,围绕用户需求开发产品和服务。DevOps 实践通过使用实时现场监控和快速部署,实现对用户反馈的快速收集和响应。团队可以即刻了解用户与软件系统的实时交互情况,并利用该洞察信息制定进一步的改进措施。
胸有成竹地进行创造
此原则在于了解客户需求,创造能解决实际问题的产品或服务。团队不应“在泡沫中构建”,也不应基于对消费者使用软件方式的臆测来开发软件。相反,DevOps 团队应从创建到实施全方位了解产品的各个方面。
Devops 不是任何一个个人的工作,而是每个人的工作。
Christophe Capel
Jira Service Management 首席产品经理
谁在进行 DevOps?
Chef 是一家专为 DevOps 工作流创建 Chef Automate 平台的公司。数以万计的开发人员使用 Chef 来测试、自动运行以及管理基础架构。这家总部设在西雅图的公司位于 DevOps 演变的最前沿,已经发布了诸如 Chef、InSpec、Habitat 和 Chef Automate 等产品,以推进开发和交付软件和应用的新方式。为了试用内部 DevOps 及完善自己的相关体验,Chef 采用了 Atlassian 平台。
DevOps 的历史
DevOps 运动始于 2007 年左右,当时 IT 运营和软件开发社区对传统软件开发模式表达了担忧。尽管开发团队广泛采用敏捷开发方法来改善协作并取得其他效益,但编写代码的开发人员与在生产环境中为代码提供支持的运营团队通常是分开工作的。这样会导致流程效率低下,使得两个孤立的团队之间普遍缺乏协作。
DevOps 是一剂良药,它可弥合这些团队之间的空隙,使他们能够团结一致地工作。DevOps 将开发和运营团队的技能、流程和工具汇聚到一处。
DevOps 的优势
DevOps 的优势主要分为三类:技术优势、文化优势和业务优势。技术优势包括降低复杂性、持续交付和更快解决问题。与传统的孤立团队相比,DevOps 从业人员通常能够更快速地部署更高品质的代码。
文化优势是指团队的工作效率更高,客户更加满意。而业务方面的优势则包括团队成员之间加强协作和信任,实现更快的交付速度和稳定的运营环境。
DevOps 文化
DevOps 是一种文化转变。团队采用软件工程文化、工作流和工具集,将运营要求提升至与架构、设计和开发同等重要性的水平。开发人员不仅构建软件,也会运行它们,因而对用户的要求和需求有更深入的了解。DevOps 文化的价值包括改善团队之间的透明度、沟通和协作。
DevOps 工程师
当组织想要实施 DevOps 时,可以求助于 DevOps 工程师。DevOps 工程师不仅要掌握跨越开发和运营的各种技能,还必须具备人际交往能力,以消除孤立团队之间的分歧。
DevOps 工程师属于 IT 通才,他们应对日常软件开发、云基础架构管理、系统管理和自动化有广泛的认识。
始终在线的服务
客户期望并要求提供始终在线、始终可用的服务。DevOps 非常适合支持“始终在线”软件或“软件即服务”。它强调了团队为确保始终在线服务持续运行所需的持续部署、反馈、维护或事件响应的循环。
下一主题
推荐阅读
将这些资源加入书签,以了解 DevOps 团队的类型,或获取 Atlassian 关于 DevOps 的持续更新。