Developing a software service requires a strict software development life cycle and process. This process demands controlling all application code through source control management as well as a rigorous versioning and branching strategy. However, the platform and infrastructure also benefit from this rigor. Software services must be deployed to a target run time environment and provisioning that environment through manual user actions is tedious and error-prone. Provisioning manually also becomes prohibitive as the number of resources grow and spread globally over multiple regions. The answer is to apply the same rigor to provisioning the infrastructure as applied to developing the application software. Terraform provides a platform allowing infrastructure resources to be defined in code. This code not only allows the automation of the infrastructure provisioning but also allows for a strict development and review life cycle, same as the application software.
翻译:开发软件服务需要严格的软件开发生命周期和程序。 这一过程要求通过源控制管理以及严格的版本和分支战略来控制所有应用代码。 但是,平台和基础设施也受益于这一严格性。 软件服务必须部署在一个目标运行的时间环境中,通过人工用户行动提供环境是乏味和容易出错的。 人工提供也变得令人望而却步,因为资源数量在多个区域增长并蔓延到全球。 答案是,对提供用于开发应用软件的基础设施应用同样的固定性。 Terraform 提供了一个平台,允许在代码中定义基础设施资源。 该代码不仅允许基础设施提供自动化,而且允许严格开发和审查生命周期,与应用软件一样。