Terraform Platform

From GM-RKB
Jump to navigation Jump to search

A Terraform Platform is an infrastructure as code software platform.

  • Context:
    • It can specify a HashiCorp Configuration Language (HCL), a declarative language that enables users to describe the infrastructure as code.
    • It can allow users to define a data center infrastructure.
    • It can handle both the provisioning of physical and virtual infrastructure, as well as the orchestration of complex services.
    • It can maintain an "execution plan" that outlines the steps Terraform will take to reach the desired state described by the code.
    • It can track the state of the infrastructure through a state file, ensuring that resources are correctly managed and do not drift from the desired state.
    • It can utilize modules to define reusable components that simplify infrastructure management and allow for standardized setups.
    • It can be automated through continuous integration (CI) pipelines, allowing infrastructure updates to be versioned and automatically applied.
    • It can manage the lifecycle of infrastructure components like networks, compute resources, and storage systems in a repeatable and auditable way.
    • It can apply infrastructure as code principles to create, update, or destroy infrastructure in a safe, controlled manner.
    • It can be used to manage complex infrastructure setups in industries like financial services, healthcare, and e-commerce.
    • ...
  • Example(s):
    • In 2014, first released by HashiCorp as an open-source tool, allowing users to define and provision infrastructure using the declarative HashiCorp Configuration Language (HCL).
    • By 2016, introduced support for over 30 providers, including major cloud platforms like AWS, Azure, and Google Cloud, marking the expansion of its multi-cloud capabilities.
    • In 2017, v0.10 includes provider versioning, which allows users to manage dependencies on provider-specific APIs more reliably.
    • In 2019, Terraform Cloud was launched, offering a managed service for running Terraform operations in a collaborative environment with advanced features like team management and remote state storage.
    • By 2021, become one of the leading tools in the infrastructure as code domain, with a mature ecosystem of over 100 providers and enhancements like CDK for Terraform, enabling users to write Terraform configurations using general-purpose programming languages like TypeScript and Python.
    • In 2022, v0.15 release added comprehensive improvements to the error handling and upgrade tools, simplifying the management of large-scale, complex infrastructures.
    • ...
  • Counter-Example(s):
    • Ansible and Puppet, which focus more on configuration management rather than infrastructure provisioning.
    • CloudFormation, which is AWS-specific and lacks the multi-cloud capabilities that Terraform provides.
  • See: Amazon Web Services, HashiCorp, Computational Resource, Data Source, Infrastructure as Code.


References

2022