CALMS及其与数据库DevOps的关系是什么
CALMS及其与数据库DevOps的关系是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
CALMS是框架的首字母缩写,它允许企业评估他们在DevOps之旅中的准备程度,以及他们可以改进的地方。CAMS(没有L)是由Damon Edwards和John Willis在2010年首次美国DevOps Days之后首次推出的.Jez Humble后来添加了L,代表Lean,现在这个缩写词的全部含义是:
有趣的是,数据库开发软件的进步现在意味着可以使用相同的框架来评估企业是否也为数据库DevOps做好了准备。
文化
在谈论DevOps时,文化是它可以激发的转型的核心。DevOps文化改变了企业的工作方式,使团队能够产生令用户满意的出色结果。
文化的一个重要部分是打破组织内部存在的孤岛,以便Dev和Ops能够更好地共同努力实现同一目标 - 那些快乐的用户。它不再是我的机器上工作或它不是我的问题气氛。现在,让我们共同努力,为用户提供最佳体验。这是为了让团队能够为用户做最好的事情,并确保他们可以根据需要发布。
这对于数据库来说非常重要。传统上,DBA在自己的部门中非常孤立,并且经常被视为更快地发布更改的瓶颈。他们对生产数据库的性能及其数据的安全性负全部责任。现在整个团队 - 开发人员和DBA--应该考虑如何尽可能顺利地发布,如何在生产中运行,以及在何处构建安全性。
自动化
自动化是DevOps的关键。如果您想更频繁地发布,那么发布管道是自动化的理想选择。它完全重复,自动化将有助于消除任何手动错误。
自动化的另一个好处是它提供的可追溯性。您将能够确切地看到哪些环境以及何时应用了哪些更改。你甚至可以看到谁做出了改变以及为什么; 也许它们与用户故事有关,或者可能是错误修复所需要的。如果您的管道中有任何手动批准步骤,您还可以查看谁审核了更改并签署了发布。
持续集成一系列自动化测试对于自动化版本非常重要。CI的输出是包含发布所需的所有文件的包,将用于部署到其他环境,因此您只需构建一次并且部署是一致的。自动化测试(单元,烟雾,集成,性能,GUI)对于提供发布信心并在问题到达生产并影响用户之前发现任何问题也很重要。
自动化并不意味着持续部署。在持续部署中,每次提交更改时,它都会一直流经发布管道,直至部署。为此,您需要对自动化测试有很大的信任。
相反,我所说的是持续交付,其中使用自动化来进行更改,以便在审核后根据需要将更改发布。这在应用程序开发中越来越常见,过程看起来像这样:
典型的部署管道,将数据库开发作为孤立的进程
当他们听到自动化数据库更改发布到生产时,很多DBA都会感到害怕。但同样,我说的是自动化和持续交付,而不是持续部署。将审核步骤作为自动化管道的一部分包含在内也非常容易,这样DBA就可以确切地了解在生产中发生任何变化之前会发生什么。
将数据库包含在持续交付中,而不是使过程复杂化,实际上看起来要简单得多。如果用于数据库开发的工具与已经用于应用程序开发的工具集成并插入,那么引入它也会容易得多:
具有数据库开发的部署管道,作为持续交付过程的一部分
自动化和数据库的另一个好处是能够在尽可能接近生产的临时/预生产环境中自动进行测试部署。通过在生产中运行部署脚本之前最后一次测试部署脚本,这提供了最佳成功机会。
靠
精简是在最初的谈话之后添加的,并且是DevOps的重要价值。精益专注于渐进式改进,并将工作分成小批量。小批量允许您在开发时经常发布。这一点非常重要,这样您就可以获得真实的用户反馈,并从中学习,以便根据您的学习需要进行调整和调整。
将精益应用于数据库很难。你真的应该关心整个系统。该数据库是该系统的一部分。这进一步强调了将数据库作为文化的一部分(打破孤岛)和自动化的重要性,以便您可以对这些频繁的增量版本进行改进。
测量
测量对于获得快速反馈和持续改进非常重要,因为只有在您有基准来衡量时,您才能知道自己是否有所作为并且需要改进。开始测量的第一个领域是您的内部流程,例如承诺代码在生产中运行所需的时间,发布频率,故障率以及从故障中恢复的平均时间。
您还可以包括遥测 - 用户如何使用您的系统,是否发现了新功能以及如何改进。
要测量的第二个方面是系统的运行状况,要了解这一点,需要进行监控。这样,如果出现问题,您可以迅速做出反应,甚至更好,主动修复可能成为问题的内容,这样您就可以让用户满意。
对于数据库,测量内部过程和遥测是作为系统的一部分完成的,因为您的数据库应该包含在您的发布过程中。监视数据库允许您确保它们正确执行,并且可以将其配置为在出现问题之前提供有关性能问题或磁盘空间不足的警报。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341