设为首页 收藏本站
查看: 1086|回复: 0

[经验分享] CALMS及其与数据库DevOps的关系

[复制链接]
YunVN网友  发表于 2019-4-17 14:58:57 |阅读模式
CALMS是框架的首字母缩写,它允许企业评估他们在DevOps之旅中的准备程度,以及他们可以改进的地方。CAMS(没有L)是由Damon Edwards和John Willis在2010年首次美国DevOps Days之后首次推出的.Jez Humble后来添加了L,代表Lean,现在这个缩写词的全部含义是:
DSC0000.png

有趣的是,数据库开发软件的进步现在意味着可以使用相同的框架来评估企业是否也为数据库DevOps做好了准备。
文化
在谈论DevOps时,文化是它可以激发的转型的核心。DevOps文化改变了企业的工作方式,使团队能够产生令用户满意的出色结果。
文化的一个重要部分是打破组织内部存在的孤岛,以便Dev和Ops能够更好地共同努力实现同一目标 - 那些快乐的用户。它不再是我的机器上工作或它不是我的问题气氛。现在,让我们共同努力,为用户提供最佳体验。这是为了让团队能够为用户做最好的事情,并确保他们可以根据需要发布。
这对于数据库来说非常重要。传统上,DBA在自己的部门中非常孤立,并且经常被视为更快地发布更改的瓶颈。他们对生产数据库的性能及其数据的安全性负全部责任。现在整个团队 - 开发人员和DBA--应该考虑如何尽可能顺利地发布,如何在生产中运行,以及在何处构建安全性。
自动化
自动化是DevOps的关键。如果您想更频繁地发布,那么发布管道是自动化的理想选择。它完全重复,自动化将有助于消除任何手动错误。
自动化的另一个好处是它提供的可追溯性。您将能够确切地看到哪些环境以及何时应用了哪些更改。你甚至可以看到谁做出了改变以及为什么; 也许它们与用户故事有关,或者可能是错误修复所需要的。如果您的管道中有任何手动批准步骤,您还可以查看谁审核了更改并签署了发布。
持续集成一系列自动化测试对于自动化版本非常重要。CI的输出是包含发布所需的所有文件的包,将用于部署到其他环境,因此您只需构建一次并且部署是一致的。自动化测试(单元,烟雾,集成,性能,GUI)对于提供发布信心并在问题到达生产并影响用户之前发现任何问题也很重要。
DSC0001.png

自动化并不意味着持续部署。在持续部署中,每次提交更改时,它都会一直流经发布管道,直至部署。为此,您需要对自动化测试有很大的信任。
DSC0002.png

相反,我所说的是持续交付,其中使用自动化来进行更改,以便在审核后根据需要将更改发布。这在应用程序开发中越来越常见,过程看起来像这样:
DSC0003.png 典型的部署管道,将数据库开发作为孤立的进程

当他们听到自动化数据库更改发布到生产时,很多DBA都会感到害怕。但同样,我说的是自动化和持续交付,而不是持续部署。将审核步骤作为自动化管道的一部分包含在内也非常容易,这样DBA就可以确切地了解在生产中发生任何变化之前会发生什么。
将数据库包含在持续交付中,而不是使过程复杂化,实际上看起来要简单得多。如果用于数据库开发的工具与已经用于应用程序开发的工具集成并插入,那么引入它也会容易得多:
DSC0004.png 具有数据库开发的部署管道,作为持续交付过程的一部分

自动化和数据库的另一个好处是能够在尽可能接近生产的临时/预生产环境中自动进行测试部署。通过在生产中运行部署脚本之前最后一次测试部署脚本,这提供了最佳成功机会。

精简是在最初的谈话之后添加的,并且是DevOps的重要价值。精益专注于渐进式改进,并将工作分成小批量。小批量允许您在开发时经常发布。这一点非常重要,这样您就可以获得真实的用户反馈,并从中学习,以便根据您的学习需要进行调整和调整。
将精益应用于数据库很难。你真的应该关心整个系统。该数据库是该系统的一部分。这进一步强调了将数据库作为文化的一部分(打破孤岛)和自动化的重要性,以便您可以对这些频繁的增量版本进行改进。
测量
测量对于获得快速反馈和持续改进非常重要,因为只有在您有基准来衡量时,您才能知道自己是否有所作为并且需要改进。开始测量的第一个领域是您的内部流程,例如承诺代码在生产中运行所需的时间,发布频率,故障率以及从故障中恢复的平均时间。
您还可以包括遥测 - 用户如何使用您的系统,是否发现了新功能以及如何改进。
要测量的第二个方面是系统的运行状况,要了解这一点,需要进行监控。这样,如果出现问题,您可以迅速做出反应,甚至更好,主动修复可能成为问题的内容,这样您就可以让用户满意。
对于数据库,测量内部过程和遥测是作为系统的一部分完成的,因为您的数据库应该包含在您的发布过程中。监视数据库允许您确保它们正确执行,并且可以将其配置为在出现问题之前提供有关性能问题或磁盘空间不足的警报。
分享
分享让我们回到第一个价值观,即文化。如果您想对文化产生巨大影响,那么与您公司的其他成员分享您所学到的经验和最佳实践非常重要。这有助于打破这些孤岛,以便人们共同努力,不断改进并为用户做最好的事情。
对于DBA来说,与整个组织中的其他DBA和团队共享调查结果也很重要,这样他们也可以利用将数据库包含在DevOps流程中的所有好处。这样,障碍就会降低,DBA将看到在开发过程早期与开发团队一起处理复杂变更的价值,而不是在变更达到生产时发现问题。
结论
CALMS是重要的DevOps值,它使您能够打破孤岛,更好地协同工作,并为可持续改进的用户提供频繁的价值。这些值也与数据库有关,因此打破这个孤岛也很重要,这样你才能真正飞行。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-828239-1-1.html 上篇帖子: DevOps Troubleshooting(2) 下篇帖子: DevOps"八荣八耻"
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表