DevOps:灵活的配置管理? 没那么快!

探讨了在DevOps环境中,部署自动化与配置管理的灵活性之间的权衡。文章强调了过度灵活性可能导致配置漂移,影响系统稳定性和一致性。提出了通过限制灵活性来控制漂移,以提高部署质量和效率的观点。
部署运行你感兴趣的模型镜像

您负责建立部门范围的部署自动化功能。 您的开发人员对此感到兴奋,他们的经理也对此感到兴奋。 关于它如何工作的想法不乏:

  • “让我们创建自己的工作流程!”
  • “我们应该能够配置自己的服务器。”
  • “它应该能够从Nexus,Artifactory,S3或我们选择的任何产品进行部署。”
  • “我们终于可以使用团队喜欢的应用程序版本控制方案了。”
  • “如果我们愿意,我的团队应该进行并行安装”
  • “我们应该拥有开放的API,以便任何人都可以执行自己的部署解决方案。”
  • “每个团队都应该能够根据他们的应用程序需求配置中间件。”
开发人员讨厌被告知如何做,因此,人们普遍达成共识,如果您可以使此部署工具尽可能灵活,那么您将能够构建世界上前所未有的最佳部署自动化系统。
听起来不错,但那是完全错误的。
灵活性影响质量
漂移是邪恶的。 漂移会导致停机和回滚。 灵活性会产生漂移。
我参与了数据中心迁移项目,在该项目中,生产场中几乎每个服务器的配置都不同。 该应用程序甚至可以正常工作! 在许多其他情况下,我们回滚了代码,因为QA和Prod配置是如此不同,以至于我们的测试未能发现关键的错误。 尽管这些环境听起来很荒谬,但我相信它描述了整个企业环境中的常见情况。 我还要指出,我们有才华的系统管理员来管理环境,不幸的是每个人都可以根据自己的喜好灵活地管理系统。
我们对部署自动化(以及后来的发展)的最初投资很大程度上是由于需要消除漂移并提高可用性。 我们知道自动化部署应该由数据驱动,而服务器实例数据将来自CMDB。 但是,我们很快意识到我们的CMDB模式允许配置漂移。 这导致了我们最早的开发原则之一: 不要管理可以消除的问题
灵活的模式数据 消除漂移 。 运营团队的工具通常以服务器或设备为中心,我们希望部署自动化以应用程序和服务器场为中心。 换句话说,我们想将应用程序部署到服务器场实体的服务器场实体中。 但是,我们发现用于配置数据的传统模式非常灵活。 下图显示了具有多个实例的典型服务器场,每个实例都有一个操作系统版本。 由于可以为每个实例独立选择OS版本,因此该架构可以表示整个场中的漂移。 在设计应用程序部署CMDB(有趣地命名为deathBURRITO)时,我们特别不想管理服务器场配置的一致性。 我们只是想保证我们的服务器场部署不会发生偏移。
允许场漂移的典型CMDB模式。
为了实现这一目标,我们对执行此操作的模式进行了简单的更改–阻止数据表示场漂移(下图)。 尽管您可以错误地表示服务器场属性,但是数据驱动的部署是100%正确或100%错误。
更好的CMDB模式可以防止服务器场漂移。  
免费的灵活性和有用的灵活性
消除模式灵活性以控制漂移并不是有争议的,因为大多数人都可以得到并支持它。 当您开始限制个人喜好时,男人会注意,人们会对愚蠢的事情充满热情。 因此,我们开始传达我们的另一条发展原则: 灵活性并不总是一件好事。
您的部署自动化应该从灵活性开始,并根据需要提供灵活性。 别误会,我们绝对支持创新,并能够为部门赋予能力以实现创造力的工具。 我常常通过说“通过限制灵活性来为您提供更大的灵活性”之类的怪异东西使人烦恼。 我的意思是真的-因为我们专注于真正有价值的灵活性。 目的是区分增值灵活性和免费灵活性,并消除免费垃圾。
  • Tomcat,JBoss和Glassfish之间的中间件选项可以代表增值灵活性 。 每个解决方案都为开发团队提供了不同的功能,他们应该能够(在合理的范围内)选择最佳匹配以开发应用程序需求。 足够容易,这些选项具有价值。
  • 通过为每个Tomcat应用程序允许多个安装目录变体,可以表现出极大的灵活性 。 SysAdmins通常具有首选项,有时会使其成为非常热情的首选项。 尽管配置很重要,但它应支持自动化和安全性,而不是个人喜好。 通过让您的环境具有不同的安装目录(例如/ opt/ app/ u01) ,不会获得任何内在的价值。 实际上,允许选项会增加安装脚本,日志记录,权限,服务帐户,监视等的复杂性。选择其中一项并限制其余部分。
自动化的一大优点是能够使部署平台交付您想要的东西,并使您不需要的东西失败。 它是一个平台,可为开发团队提供IT部门在后方可用的执行力。 像大多数组织一样,您可能已经起草了许多很棒的设计标准,但实际上只是光荣的货架文件。 自动化使您能够消除漂移,控制灵活性并实现货架软件。
回到我关于限制灵活性以提供更多灵活性的声明吗? 我将指出,通过消除所有不必要的变化,可以简化环境的复杂性并消除相关的繁琐工作和浪费。 我还相信,消除不必要的变化将使您的开发团队能够专注于交付可预测的自助服务部署的价值…… 真正的灵活性是能够在任何时间,周末和前后为开发人员和测试团队提供自助服务部署。时钟。

参考: DevOps:灵活的配置管理? 没那么快! 从我们的JCG合作伙伴 Willing Wheeler在Skydingo博客上获得。


翻译自: https://www.javacodegeeks.com/2012/08/devops-flexible-configuration.html

您可能感兴趣的与本文相关的镜像

Llama Factory

Llama Factory

模型微调
LLama-Factory

LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值