木讷大叔爱运维

DevOps级 和 CMDB级流水线其实是不一样的!

Image

Image

背景

近期听了几场关于DevOps的交流,作为运维当然是对流水线这块比较关注了。虽然大家都比较关注的是项目协同和研发流程、开箱即用及可扩展的流水线等的结合,但我思考的是这是否已经足够满足我们目前的需求了呢?为什么这么说呢?因为我们有CMDB,而且CMDB级 和 DevOps级的流水线管理其实是不一样的。

深入思考

首先,运维大背景下会很多中小型企业会存在诸多不同的管理平台,如:CMDB平台、监控平台、CI/CD平台(流水线)、日志收集平台、项目管理平台、DevOps平台等等,这就导致了很多数据是割裂的。当然如果你所在的公司比较有Level,可能会将其整合成一套比较完整的、功能可持续性的运维平台。 

其次,CMDB 的建设本身就可能是一个长期的过程,会经历初创期、整合期、价值发挥期,因此这就意味着它并不会在很多DevOps产品的roadmap中,那么其直接后果就是CMDB 的消费场景并不会完全融入DevOps的流水线,需要我们进行扩展集成。 

最后,CDMB级流水线主要面向的是资产全生命周期管理,例如:服务器上下架、业务拓扑、资产转移、资产属性更改等;而DevOps级流水线由于和项目、研发流程协同,例如:发布、测试、配置、制品、应用等管理流程。由于CMDB 和 DevOps 面向场景的不同,因此二者的流水线管理是不一样的,至于二者是否会有交集,也需要使用者来进行适度的结合。

杞人忧天?

也许会有人说我杞人忧天了,这其实是我在未作双数据中心切换演练测试前也没有想过的。但试想下,当我们在真正面对数据中心应用级切换时,真正能帮助我们实现快速切换的其实就是流水线。和时间赛跑时,我们面对的不再是应用集群中的多个IP,而是代表这套集群的一个应用名,剩下的就是经过多次演练调整的一个按钮。 

这时流水线在哪? 肯定是面向应用级的流水线啊,如果咱们有DevOps平台时,那我就认为是在DevOps提供的统一流水线上。此时CMDB就可以提供可靠的基于应用集群的资产,供应用切换流水线调用,功能类似DNS的功能。 

那么,CMDB级流水线 和 DevOps级流水线能不能统一呢? 

这也是我自己经常思考的问题,因为我们目前就是两条流水线:

  • 蓝鲸CMDB主要面向基础设施的流水线;
  • CI/CD 主要面向的是应用级别的流水线;

虽然在一定程度上CI/CD 流水线能够消费CMDB中的数据,实现了应用相关场景的数据支撑,例如:应用扩容、应用自动上线、应用启停、应用版本发布;但是要强行整合基础设施管理,反而弄巧成拙了,因为CMDB 和 CI/CD 是两个平台,且缺少统一的ESB,因此统一起来需要进行定向的API集成,即需要运维开发的能力。

总结

“我们容易在短期上高估CMDB的作用,却更容易在长期上低估CMDB的作用。” 这话越想越觉得有道理!

DevOps 除了在项目协同和研发流程等方面发挥其主要作用外,若要想在后续更通用的的运维级场景或数据中心级场景中继续发光发热,我认为还是要和CMDB 去紧密结合的,但这是不是需求方该去关注的,这就得看项目经理的大局观了。

Image

添加好友,邀你入群,运维人的圈子,每日精彩分享,更有大咖解惑!

对的那条路,往往不是最好走的!

精彩文章合集

文章推荐

☞【合集】运维思索系列
☞【合集】运维管理系列
☞【合集】运维监控之路
☞【合集】基础设施自动化之路
☞【合集】CI/CD之路
☞【合集】Ansible之路
☞【合集】K8S之路
☞【合集】数据库系列

札记:“选择好的工具只是基础,如何让工具落地且随时可靠更有价值,需要投入巨大的精力和时间。”

-- 优秀的运维小伙伴