版本控制允许开发人员保持系统的工作部分可用。具体而言,版本控制支持关键功能,例如可再现性和可追溯性。
可复制性就是无论系统本身多么复杂,它都有助于创建相同的系统。
可追溯性有助于开发人员收集任何环境并跟踪其依赖性。可追溯性还有助于收集任何两个版本的环境,并找出差异。
可复制性和可追溯性所提供的优势已经被开发者所熟知:
·高质量:只保留测试和工作代码,以跟踪更改开始的所有细节的原点。
·恢复:每当服务出现问题时,在确定性的时间内重现环境。
·故障诊断:确定服务中任何关键问题的根本原因。
我们可以将版本控制应用于云端吗?
随着云变得越来越复杂(跨越多个账户、多个区域和多个团队),并且随着不同团队之间需要的协作增加,我们将不得不转向版本控制。
云不像源代码那样是一个同质实体。云可能有自己的版本控制方案。
版本控制需要应用于源代码,源代码为云提供。预置通常通过IaC完成,如CloudFormation、Terraform或Pulani。
全新超实用性的Python零基础入门到就业体验课+视频+源码淘宝¥2购买已下架仅仅对IaC源代码应用版本控制是不够的。IaC负责云资源配置,这些云资源有自己的生命周期。
因此,云版本控制的开始要求我们保护至少三个主要实体——预置代码、它响应预置的云资源以及在此期间可能发生变化的资源属性。
我们如何版本控制云?
版本控制预置代码是最简单的。毕竟,这是一项成熟的技术。需要将这些文件保存在git或类似工具下。由于IaC是源代码,它还有别的优势,如IDE、代码审查、持续集成和持续部署。IaC允许开发人员表达云环境的预期状态。
云资源很少孤立存在。复杂的关系将这些资源绑定在一起。因此,任何万无一失的解决方案都需要对云资源进行全面覆盖。任何缺失的资源都会破坏云。目前,AWS云大约有(+)个云服务。事实上,从IaC的角度来看,Terraform的覆盖率比AWS自己的CloudFormation要好得多。
好了,本文到此结束。如果对编程、计算机、程序员方面感兴趣的话,欢迎私信联系我,随时交流!点个
转载请注明:http://www.0431gb208.com/sjszlff/8285.html