【51CTO.com快译】事实证明,监控即代码和基础设施即代码这两种快速兴起的技术正在推动云原生平台的发展。
为了管理当今云原生基础设施的复杂性,对IT监控技术(通常称为可观察性)的需求不断增加。作为这一趋势的核心构建块,监控即代码(MaC)和基础设施即代码(IaC)这两种复杂的技术正在迅速发展。
以下对这两种新兴技术如何帮助监控和管理复杂的云原生系统进行一下了解。
基础设施即代码:软件定义的IT基础
在基础设施即代码模型中,物理基础设施仍然存在,但它以软件定义计算、存储和网络资源描述模型的形式出现,这些资源已经由云计算提供商提供并交付。
在基础设施即代码中,并没有电线、插头、集线器和路由器;与其相反,源代码文件定义了“连接拓扑”,包括电缆和电线,但它们都位于云数据中心,代码定义了用户在什么时候使用哪些电缆和电线,用于什么工作负载以及阻抗水平等。
当人们进入由基础设施即代码驱动的云原生环境时,仍然需要关注核心挑战,并注意出现的意外和问题,而监控即代码因此应运而生。
监控即代码:从1.0到2.0
监控即代码在管理复杂系统方面发挥着关键作用。作为可观察性即代码(OaC)的近亲(但不完全等同),监控即代码现在正在迅速从简单数据收集功能演变为代表现代多云部署的更高层——可观察性层的一部分。
在DevOps、DevSecOps和AIOps都在帮助创建站点可靠性工程(SRE)中相对较新的角色的世界中,随着业务从静态IT基础设施转向动态模型,肯定需要一种新的、更先进的监控使用方法基础设施即代码。
在最基本的层面上,监控即代码(MaC)是通过软件代理、插件和源代码的离散元素收集数据的使用情况,这些元素作为“导出器”来跟踪系统级数据,并将其定向到存储库。而这就是是MaC 1.0。
为了达到MaC 2.0及更高版本,需要考虑构建更广泛的可观察性生命周期,并为其提供智能、诊断和扩展能力,以通过可能称之为编码反应逻辑的方式实现自动修复。简单来说,IT和云计算软件的基石正在发生变化。
技术分析机构Red Monk公司联合创始人James Governor表示,“2022年的主要技术趋势之一是将‘可观察性和管道’作为相邻的市场进行整合。软件交付管道现在是一项关键任务应用程序。我们看到可观察性参与者与提供持续集成(CI)/持续交付(CD)和软件交付工具的企业更密切地合作,让客户更轻松。”
Governor说,可观察性和软件交付这两个工作学科(或市场)如此相邻,以至于它们正在融合以实现所谓的“渐进式交付”。
“即代码”可观察性技术的用例
Governor解释说,“随着我们转向渐进式交付,我们可以开始关注使用案例,例如蓝/绿部署、金丝雀测试、功能标志和暗启动,并逐步向特定用户群体推出以限制范围。然后,生产成为软件交付生命周期的一部分。”。
他说,“即代码”革命正在推动所有这一切向前发展,随着企业寻求通过更好的测试、更高的自动化程度和可观察性来实现应用交付的现代化,可以实现更复杂的管道和扩展。
监控即代码领域的当前参与者包括Sumo Logic公司以及Sensu Project公司。Sensu被描述为在任何云平台上提供监控即代码的“可观察性管道”,承诺通过自动诊断和自我修复来整合监控工具,并填补跨数据孤岛的可观察性空白。总之,它支持现代IT从裸机到Kubernetes的传输。
Sumo Logic公司于2021年6月收购了Sensu Project公司,Sensu Project公司首席执行官Caleb Hailey和联合创始人Sean Porter加入Sumo Logic公司,并为了进一步推动他们的开发工作。两人在开发内部项目时构思了Sensu,以替换一家云计算信息存档公司过时的Nagios基础设施监控装置。
Sean Porter将这些发展称之为向新的基础设施即代码的转变,这显然需要重新定义(可能是“neo-IaC”)。此外,这也清楚地适用于如何构建具有更多操作功能(包括监控和可观察性)的持续集成(CI)/持续交付(CD)管道。
更密切地监控CI/CD管道
重要的是要创建一个操作更智能、反应性和功能性更强的持续集成(CI)/持续交付(CD)管道,而不仅仅是“做和看”,它还要“看到、理解和反应”,因此这个新的基础设施即代码基础可以帮助构建一个系统,为云原生企业需要的更高要求的云服务提供服务。
多伦多道明银行站点可靠性工程副总裁Seng Phung-Lu解释说,“监控即代码(MaC)解决了许多项目的重大问题,即如果在预生产测试或部署过程中无法发现意外问题,那么我们会浪费数小时让失败的测试继续进行,然后再花费更多时间解决这些问题,当然,我们也错过了在失败点调查根本原因的机会。”
Phung-Lu说,通过一个统一管道将监控即代码工具与应用程序一起部署,他和他的团队能够及早发现任何问题并避免必须人工测试和持续集成(CI)/持续交付(CD)过程。
最终目标:持续和完整的端到端监控
这些新兴技术的真正价值可能在于对端到端监控的定义有了新的定义。
在过去,端到端监控曾经意味着可观察性应用于从设备操作系统(OS)和应用程序用户界面(UI)到计算、存储、分析功能的所有内容,再返回给用户。新的端到端监控就是这样,再加上能够在运行上述所有内容的整个基础设施范围内提供监控。
在端到端neo-IaC环境中MaC2.0的良性循环中,一种新的共生关系开始发展;应用程序指标被自动收集和检测以响应代码更改和新部署。IT堆栈的进一步扩展受益于已经经历过的“学习错误”(代码执行失败),并且堆栈本身利用了自己的进化DNA。
原文Why Cloud Native Needs Monitoring-as-Code and Infrastructure-as-Code,作者:Adrian Bridgewater
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】