background.png

Infrastructure as Code

Infrastructure as Code (IaC) simply means to manage your IT infrastructure using configuration files. It is the process of managing and provisioning computing resources through machine-readable definition files. This process contrasts managing IT infrastructure as a manual process by creating the resources without automation. Additionally, IaC allows DevOps teams to test applications in production-like environments early-on in the development cycle.

What problems can IaC solve?

Cost
There is no need to hire many developers and engineers to perform the tasks at each step of the process. Reduces the need for manual intervention, improving efficiency, and reducing the risk of errors and inconsistencies.

Security
Helps organizations improve their security posture by providing visibility into the infrastructure and enabling them to detect and respond to security threats.

Scalability
IaC helps organizations scale their infrastructure more quickly, allowing companies to be more agile and respond rapidly to changes in demand.

Services 2.png
IaC 2.png

At stack.io we can:

  • Set up infrastructure with tools like Terraform

  • Help with troubleshooting issues with Terraform

  • Develop modules to ease usage of Terraform

  • Set up CI/CD for infrastructure via Terraform (so you know the infrastructure a PR will change before the change is made)

  • Set up team access to infrastructure provisioning

  • Import pre-existing infrastructure to Terraform

Untitled+design-22.jpg

DevOps Maturity

Where does your setup fit on our DevOps maturity scale?

+ Poor

  • We change our infrastructure in the web interface.

  • No one knows how things were set up and we might not be able to reproduce our production setup if something bad happened.

  • There’s no way to check our infrastructure configuration against what it’s supposed to be.

  • What was the last change I made to my infrastructure?

+ Fair

  • We have scripts that use provider specific CLI tools to provision infrastructure.

  • We use lots of manual steps and following documentation. Many steps aren’t automated.

+ Good

  • We use tools like Terraform to provision underlying infrastructure and configure them manually afterwards.

+ Great

  • We use tools like Terraform to provision infrastructure and tools like Ansible to configure it after provisioning.

  • It’s easy to check that our infrastructure matches its configuration.

  • All changes to our infrastructure go through review, and we have a full changelog of our infrastructure in version control.