从Devops自动化开始

Jared Murrell的图像

这是我们在Devops基本面的课程中的第二个帖子。有关Devops的指南和普通Devops神话的答案检查一部分

自动化在Devops中扮演什么角色?

第一件事首先自动化是与Devops加速的关键原则之一。如所知)在我最后的博客文章中,它使组织内的一致性,可靠性和效率实现,使团队更容易发现和解决问题。

但是,正如我们与组织合作的那样,我们发现并非每个人都知道在哪里开始,或者哪个进程可以和应该自动化。在这篇文章中,我们将讨论一些最佳实践和见解,让团队朝着正确的方向移动。

一些有用的指导方针

Devops自动化的路径不断发展。在我们潜入最佳实践之前,有一些常见的准则可以记住,因为您正在决定您的自动化和如何自动化。

  • 选择开放标准。您的贡献者和团队可能会发生变化,但这并不意味着您的工具必​​须。通过维护符合常见,开放标准的工具,您可以简化船上和节省专业培训的时间。社区驱动的包装标准,运行时,配置,甚至网络和存储 - 在kubernetes中发现的包装 - 也变得更加重要,因为Devops和部署移动到云。
  • 使用动态变量。优先考虑可重用代码将减少您现在和将来的返工和复制数量。无论是在脚本还是专用工具中,安全地使用外部定义的变量都是一种简单的方法,可以将自动化应用于不同的环境,而无需更改代码本身。
  • 使用灵活的工具,您可以随身携带。并不总是找到一个适合各种情况的工具,但使用允许您更改技术的DevOps工具也有助于在公司更改方向时降低返工。通过选择具有与任何云配合使用的合作伙伴集成的宽泛生态系统的解决方案,您将能够定义您独特的最佳实践集并达到您的目标 - 而不会受到工具链的限制。

Devops自动化最佳实践

既然我们的指导方针就到位,我们可以评估我们需要自动化的哪些流程。我们已经将Devops Automation的一些最佳实践分为四类,以帮助您开始。

1.持续整合,连续交付和连续部署

我们经常将术语“devops”作为与“CI / CD”的同义词。在Github,我们认识到Devops包括更多,从启用贡献者构建和运行代码(或部署配置)以提高开发人员的生产力。万博足球竞猜app反过来,这缩短了构建和提供应用程序所需的时间,帮助团队增加价值并更快地学习。虽然CI / CD和Devops不完全相同,但CI / CD仍然是Devops Automation的核心组件。

  • 连续集成(CI)是一个实现在每个变化上测试测试的过程,使用户能够查看它们的更改是否在环境中打破任何内容。
  • 连续交货(CD)是建立软件的做法,使您可以随时部署任何成功的候选人以进行生产。万博足球竞猜app
  • 连续部署(CD)进一步持续交付一步。通过连续部署,每次成功更改都会自动部署到生产。万博足球竞猜app由于某些行业和技术无法立即发布对客户的新变更(认为硬件和制造),采用连续部署取决于您的组织和产品。万博足球竞猜app

一起,持续整合和连续交付(通常称为CI / CD)为人们通过共同所有权创造了一个合作过程。与此同时,团队可以通过自动化维护质量控制,并将新功能带入用户持续部署的用户。

2.改变管理

更改管理通常是业务流程的关键部分。与自动化指南一样,有一些共同的原则和工具,开发和运营团队可以使用来创建一致性。

  • 版本控制:使用版本控制的实践具有悠久的历史,植根于帮助人们恢复改变并从过去的决定中学习。从RCS到SVN,CVS到Perforce,ClearCase到Git,版本控件是一个订书钉,用于通过为个人提供常见的工作流程和代码基团来使团队能够协作。
  • 换控制模式:除了维护代码的版本历史记录之外,将系统坐标和促进更改有助于维护产品方向,降低了对代码有害变化的可能性,并鼓励协作过程。万博足球竞猜app
  • 配置管理:配置管理使每个人更轻松地通过模板管理复杂的部署,并使用适当的控件和批准使用规模进行更改。

3.'X'作为代码

到目前为止,您也可能听说过“基础设施作为代码”,“配置为代码”,“策略为代码”或“作为代码”模型中的一些“策略”。这些模型通过高级抽象提供了一种用于管理操作环境的不同方面的声明性框架。换句话说,您将变量提供给工具,输出始终如一,允许您始终如一地重新创建资源。Devops将“作为代码”原则用若干目标实现,包括:通过版本控制,协作更改过程,通过版本控制,一致,可测试和可靠的部署方式,以及作为新的学习曲线的方法团队成员。

  • 代码(IAC)的基础设施提供了一种声明模型,用于使用与开发人员用于源代码的相同版本控制和工作流来创建不可变基础架构。随着更改引入您的基础架构要求,通过自动化声明管道使用新配置定义了新的基础架构,并通过新配置进行了定义,测试和部署。
  • 平台代码(PAC)提供类似于基础架构的服务的声明性模型,因为代码为重新创建相同的基础架构提供了一个框架,允许您将服务迅速部署到具有高级抽象的现有基础架构。
  • 配置为代码(CAC)通过将应用程序的配置定义为版本化资源来带来一个下一级的声明性流水线。
  • 策略作为代码将版本控制和Devops工作流带到安全性和策略管理。

4.连续监测

操作见解是任何生产环境的宝贵组件。万博足球竞猜app为了了解生产中软件的行为,您需要了解其如何运行的信息。万博足球竞猜app连续监控 - 在整个软件生命周期中监控应用程序和基础架构的性能和稳定性的流程和技术 - 提供具有数据的操作团队,以帮助排除故障,并且开发团队调试和修补程序所需的信息。这也导致安全的一个重要方面,在哪里devsecops带有安全焦点的这些原则。选择正确的监控工具可能是略微服务中断和重大中断之间的区别。在获得运营见解方面,有一些重要的考虑因素:

  • 记录为您提供有关您的业务“关键组件的持续数据流。应用日志,基础架构日志和审计日志都提供了重要数据,帮助团队学习和改进产品。万博足球竞猜app
  • 监测为日志和指标中提供的原始数据提供智能和解释级别。通过先进的工具,监控可以提供超出原始数据提供的相关洞察的团队。
  • 警报为各个团队提供积极主动通知,以帮助他们保持主要问题。有效实施时,这些警报不仅可以让您了解出错了什么问题,但也可以提供具有关键调试信息的团队来帮助解决问题。
  • 追踪请进一步拍摄步骤,提供更深层次的应用程序性能和行为见解,这可以极大地影响生产环境中应用的稳定性和可扩展性。万博足球竞猜app

将Devops自动化置于行动

在这一点上,我们已经在Devops空间中的自动化讨论了,所以DevOps所有关于自动化?简而言之,没有。自动化是在团队之间有效地实现这项工作的重要手段。无论您是新的DevOps还是从另一组自动化解决方案迁移,都使用小项目或流程测试新的工具是一个很好的开始。它将为整个组织进行缩放和标准化自动化的基础,包括如何衡量对目标的有效性和进展。

无论哪个工具集如何自动化Devops工作流程,评估您的团队当前工作流程以及您需要执行工作所需的信息将帮助您指导您的工具和平台选择,并为成功设置阶段。以下是一些资源,以帮助您:

想看看Devops Automation在练习中看起来像什么?了解Wiley的工程师如何使用GitHub操作更快地构建更快,更安全