一句话:指出现有静态 IaC 无法表达基础设施的动态变化,主张让动态行为进入 IaC 程序并支持联合分析测试。
现代 DevOps 组织需要在频繁变更下保持软件稳定,并希望根据负载灵活、及时地重配置基础设施,例如高效使用按量付费资源。基础设施即代码(IaC)用于自动化基础设施,但现有静态 IaC 只支持部署后不再变化的基础设施。若要动态变化,静态 IaC 程序必须被更新并重新运行(如 CI/CD 流水线),或配置外部编排器(如自动扩缩容器或 Kubernetes operator)。这两种做法都没有把动态行为捕获在 IaC 程序中,因而无法将基础设施配置与其动态行为联合分析、测试。摘要主要阐明问题与动机,未给出方法与评估结果。
Modern DevOps organizations require a high degree of automation to achieve software stability at frequent changes. Further, there is a need for flexible, timely reconfiguration of the infrastructure, e.g., to use pay-per-use infrastructure efficiently based on application load. Infrastructure as Code (IaC) is the DevOps tool to automate infrastructure. However, modern static IaC solutions only support infrastructures that are deployed and do not change afterward. To implement infrastructures that change dynamically over time, static IaC programs have to be (updated and) re-run, e.g., in a CI/CD pipeline, or configure an external orchestrator that implements the dynamic behavior, e.g., an autoscaler or Kubernetes operator. Both do not capture the dynamic behavior in the IaC program and prevent analyzing and testing the infrastructure configuration jointly with its dynamic behavior.