问题描述
有用户想知道是否有可能使DevOps变得通用,不受特定环境的限制,以便可以在任何项目中使用相同的案例。尽管语言和环境可能会改变,但对于大多数基于测试用例的逻辑保持不变。
用户假设在这里使用一个标准的方法论和一个标准的开发文化。他想要实现一个通用的DevOps环境,可以在任何项目中用于常见情况。只有特殊情况需要单独处理。用户想知道是否有人已经实现了这一点。
解决方案
请注意以下操作可能存在观点差异和实施复杂性。
DevOps的策略与战术
DevOps既涉及战略又涉及战术。战略涵盖了围绕软件开发、技术运营以及其他与交付物(无论是软件还是服务)相关的群体或组织建立协作文化。例如,DevOps战略可能包括打破信息孤岛、持续交付、持续集成等。
战术是策略的实际实施。在这个层面上,可以找到使用软件工具、技术和管理方法的实际方法,以及实际的“如何”。例如,为了推动“打破信息孤岛”这个战术,您可以建立由5-7名“利益相关者”组成的小型“敏捷”团队,比如程序员、系统管理员、质量保证工程师和项目经理。为了在团队成员之间进行沟通,您可以使用Slack。程序员和系统管理员在适当的情况下进行“跨培训”,系统管理员可能会帮助开发人员开发测试工具,使用Selenium和Python进行测试。程序员学习如何使用Ansible,并在开发和生产环境中协助系统管理员获取所需内容。
您现在似乎关注于DevOps使用的所有这些很酷的战术和工具,比如Docker、Ansible、Chef,但您错过了对策略的理解——建立文化,为什么要使用这些战术和工具。这没关系,我们在这里来学习。
没有关于DevOps是什么或如何实施它的“正确”答案,但在所有关于DevOps的讨论和示例中,核心是建立协作组织的战略,并专注于目标,然后将其作为战术付诸实施。
这篇文章已经包含了关于在不同环境中实现通用DevOps的策略和战略的介绍。需要根据具体情况进行进一步的实施和调整,以确保您的项目能够最大程度地受益于DevOps文化和方法。
要了解有关不同DevOps模型和实施方法的更多信息,您可以查阅一些权威的DevOps资源和文献,比如Gene Kim的三种方法、谷歌的网站可靠性工程以及Werner Vogels的“你构建它,你运行它”。请记住,这些模型强调的是文化和流程,而不是技术。
请注意,DevOps并不是一种可以通过自动化实现的文化,它涉及人与人之间的思维和关系,以及如何处理工作。