基于维基百科概念
基础设施即代码(IaC)是通过计算机可读定义文件来管理和提供计算机数据中心的过程,而不是物理硬件配置或交互式配置工具。
它适用于诸如Ansible、Chef、Puppet和PowerShell这样的配置工具,这些都是众所周知的自动化工具,在持续开发过程中非常有用。在很长一段时间内,这是最接近的方法,我们可以使用代码创建应用程序所需的整个基础设施。尽管如此,随着基础设施作为一种服务的应用,我们能够真正地管理网络、计算和存储基础设施。
如果我们在计数IT基础设施的另一种观点中将其定义为
支持数据的流动、存储、处理和分析的物理和虚拟资源的组成。
然后,在我看来,基础设施可能更多地指的是网络/计算/存储资源,即IaaS资源。我想到的工具是Azure资源管理器模板和AWS CloudFormation;它们从地面上创建基础设施,当然,配置工具是实现系统配置自动化的一个很好的补充。
应该使用基础设施作为代码来引用供应/自动化/部署工具,还是应该仅仅突出那些通过代码允许虚拟资源的自动化和管理的工具?
发布于 2018-09-05 02:56:13
应该使用基础设施作为代码来引用供应/自动化/部署工具,还是应该仅仅突出那些通过代码允许虚拟资源的自动化和管理的工具?
都不是。IaC不指工具。它指的是一个过程。根据你自己的话:
基础设施即代码(IaC)是管理和提供计算机数据中心的process .
区别很简单:
旧的过程耗费时间,失去了开发人员的控制,而且不太容易重复,这可能导致在O/S上设置事情的方式上的错误或微小的差异--这也可能很难回滚。系统“版本”可能存储为VM映像或备份,这往往是非常大的。
新的过程,如果设置正确,是完全可重复的,非常快,并把开发人员的驾驶座。您可以在源代码管理中保留任意多个版本,回滚就像回滚软件一样简单。
实现IaC的行为是允许后一个过程--购买、集成或开发工具--允许您使用代码签入来修改系统的行为。这就是为什么“代码”部分如此重要的原因。如果您管理代码,则管理硬件。
https://stackoverflow.com/questions/52068603
复制相似问题