作者 | Amit Gupta
译者 | 张锋
策划 | Noe
多年来,公司管理员负责运维、集成和开发——而开发人员只需要编写代码。在那之前——由于运维开发两个孤岛之间几乎没有交流,所有专家都在项目上单独工作。
最近, DevOps已成为最知名和广泛讨论的软件开发过程之一。 DevOps以改善产品交付而闻名,并被 Amazon、Facebook、Netflix 以及众多其他公司广泛使用。
假设你有任何采用DevOps的想法,以使你的业务表现更好、更成功。在这种情况下,你必须从DevOps咨询公司雇佣DevOps工程师开始。
你对DevOps了解多少?
DevOps代表运维和开发,是一种旨在合并质量保证、开发、运维基础集成和部署的实践。这些目标领域被组合成一组流程,是一致交付方法的自然延伸。
采用DevOps的优势
为你的业务采用DevOps有几个优势。以下是采用DevOps的三个主要好处和优势,涵盖了开发的文化、业务和技术方面。
- 满足客户需求
在DevOps IT解决方案中,需要持续更新和新功能来以高效和结构化的方式满足客户需求。因此,价值交付和上市时间进度加快。
- 质量改进和产品快速发布
在使用DevOps时,会遇到产品持续交付和快速发布的问题。通过允许开发人员修复bug并鼓励尽早反馈,从而来改进我们的服务。当你选择DevOps时,你将体验到更高的效率和更好的产品质量。
- 改善工作环境
在DevOps中,实践和原则有助于团队成员之间更好地沟通。这会提高敏捷性和生产力。与其他公司相比,采用DevOps沟通方法的公司更熟练,也更有效率。
DevOps团队成员包括运维人员和开发人员,他们共同努力帮助业务更平稳地运行。你需要明白DevOps不仅仅是行动。你不需要对业务进行任何实质性的技术改变,因为DevOps主要聚焦于改变人们的工作方式。当你坚持鼓励团队沟通的DevOps原则时,你将会获得完全的成功。
你希望通过DevOps实现的原则
假设你担心DevOps无法满足你的期望,并思考为什么没有达到你期望的效率、满意度和质量水平。也许你也在尝试遵循别人的策略来实现你的目标。
你将希望通过尝试以下这些DevOps原则来构建一个计划。
为你的业务制定DevOps原则
在了解原则之前,你需要知道使用DevOps的原因和目标。当然,所有企业都希望更快的软件开发。如果你使用SAFe 、Kanban、Scrum 等其他方法,你可能无法获得更高的效率。 DevOps将帮助你以更快、更有效的方式实现目标。
通过不断调整、测试和自省,可以提高运维效率,这是开发过程的一部分。一个完美的DevOps组织可以自我修复并适应持续的情况变化。通过遵循一些原则,你可以在没有总部机构的任何帮助的情况下来改善整个组织。
可供采用的8条基本DevOps原则和实践
1、创建自组织系统
有一些简单的规则,当遵循这些规则时,就会创建一个自组织的系统。这些规则使整个团队受益。在DevOps中,开发团队必须与服务提供商进行交互,而无需与内部团队同步。简而言之,他们可以拥有一个有组织的系统,而无需过多的内部沟通。
2、可能对你的组织有益的规则
- 提供对当前正在进行的工作的适当访问。例如,使用任务、会议记录、项目、讨论、链接等在线公告栏来代替电子邮件。
- 为避免混淆上下文,请一次完成一项任务。
- 检查团队的可用性并做出相应的计划。例如,我们可以说人们正在计划内。
你需要定期检查并允许你的团队创建自己的方式来处理和实施这些规则。重要的是:
- 在加速之前接受你的减速。这将帮助你更有效地成长。
- 如果第一次迭代不是最好的,请不要停止。
- 帮助你的同事处理内部问题。
3、与其组建团队,不如组建专职任务组
我们将DevOps视为交付开发过程的敏捷扩展,它打破了运维团队和开发团队之间的隔阂。你也可以在其他组中使用DevOps 。专职任务组的工作方式是模糊开发和运维的界限,并将它们整合为一个整体。
将正常开发团队转变为一个专职组的过程并不像听起来那么简单。你不能仅通过将名称从开发团队更改为专职任务组来实现这一点——其是针对需要全面知识的特定运维而设计的。
你可以把你的开发团队转换成一个专职任务组,通过在不同的方面工作来升级你的DevOps原则和实践。
4、作为多能力中心的任务
一项任务必须被视为一个多能力中心,其动机是进入一个项目,然后帮助运维和开发团队加快他们的交付过程。
技术债务如何耗尽你的速度?
- 如果您不使用最新的安全性更新DevOps咨询公司,将会出现问题。大多数时候,除非遇到问题,否则公司不会做出任何改变。这会导致数据损坏和金钱损失。
- 假设你不进行新的性能更新;你会放慢产品开发速度。
- 等待迁移计划达到EOL会减慢产品团队的速度并给企业带来更多成本,从而产生影响。
专职任务组可以帮助项目的方式是:
- 识别缓慢的流程——例如,现场团队工作、入职面试等。
- 将缓慢的过程自动化,例如应用程序测试、基础设施测试、容器构建过程、 ChatOps 、登台的按需环境等。
- 通过新聘帮手、聚会、培训实验室、棕色包发布等来帮助团队成员提高绩效。
- 确保你的团队继续使用DevOps IT解决方案开展工作。
5、与敏捷教练合作
我们知道敏捷是DevOps的延伸。因此,最好有一个敏捷的产品开发教练。如果您觉得有需要,请雇佣一位,因为你需要一位倡导者。你的数字化转型是与他人共同创造愿景的基础。你可能会达成共识,因为你并不总是有正确的答案。
现在,大多数人都有了采用DevOps的想法。这将通过保持系统关闭来告诉您是否错误。你需要理解开发的目的。一旦你实现了你的目标,让敏捷教练去完成他们的任务。这是迈向进步的重要一步。
6、授权你的团队
给你的团队空间。建立信任并确保他们也信任你。明确你想要什么以及如何实现任何目标的愿景。让你的团队做出某些决定并根据他们的想法工作。确保你已授权你的团队成员。
7、团队技能培训
提供高度集中、简短、实用的技能培训。培训他们使用日常工作的工具。你的团队必须对他们的方法感到满意。这样,他们才能更容易采纳。
软技能包括:
SSH
高级水平的Bash使用
GitLab (询问他们可以为改进添加哪些功能。并告诉他们区分入门/青铜或终极/黄金)
Git提交的使用,我们为什么要签署它们?
Open SSL
AWK/SED
8、与不确定性成为朋友
这是一个简单的规则:
- 首先,你应该知道如何接受和管理失败。
- 让一小群开发人员或工程师了解KPI或实际情况。
- 重视他们的想法,让他们为之努力。
- 重复这些步骤。
进行KPI审查,为初创公司工作,知道如何控制失败,举一反三并记住从失败中学习,使其成为一种经验,并实现里程碑。培训你的团队成员教你如何防止他们重蹈覆辙。
请记住,这与技术实施无关
我们知道DevOps的目的是通过精益开发原则帮助敏捷扩展和改进生产。我们也可以说这完全是关于改进的交付流程等等。在DevOps出现并实施其基本原则之前,Google提出的SRE 或站点可靠性工程就已经存在。我们可以将这种敏捷和DevOps视为SRE的一种进化机制。 DevOps是一个失败的过程,解决问题并适应情况,然后不断重复。
CD/CI pipelines和微服务容器编排等最佳实践可帮助我们通过设计从故障中恢复过来,并且它们倾向于解决我们处理故障的速度。从定义上看,这是精益和敏捷的。
紧跟时代潮流是关键
充分利用所有可用资源并进行相应更新。在这个技术时代,人们必须了解他们的周围环境并保持这种意识同时使用它来改善自己。DevOps的原则和实践正在帮助许多公司提高和增强其适应性。许多像DevOps咨询公司这样的公司是一种生存方式,因为他们在各个方面都在帮助我们。
原文标题:8 Basic DevOps Principles and Practices
原文链接:https://readwrite.com/basic-devops-principles-and-practices/
译者介绍
张锋,51CTO社区编辑,长期从事技术顾问工作,专注于运维/云原生领域,精通网络疑难故障分析,有很丰富的大型银行运维工具建设实践经验。