DEV Community

Cover image for What is Infrastructure as Code? 🤔 and the difference of IaC Tools
TechWorld with Nana
TechWorld with Nana

Posted on • Updated on

What is Infrastructure as Code? 🤔 and the difference of IaC Tools

With the below Infrastructure as Code video 🎬 you'll get a good overview of what Infrastructure as Code is and how the IaC tools differ from each other.

What is Infrastructure as Code? 🤔

To understand the Infrastructure as Code concept better, I explain how DevOps tasks were done

  • before automation and
  • after automation.

► DevOps tasks BEFORE automation

Before automation you were doing everything by hand 🙌🏼:

  • setup servers
  • configure networking
  • install and configure software
  • etc.

In addition to that all the tasks needed to be done for multiple environments like DEV, TEST and PROD environment. 🤦🏼‍♂️

DevOps tasks before automation

► DevOps tasks AFTER automation

Now, Infrastructure as Code is a way to automate all these DevOps tasks end to end instead of doing it manually. 🚀
All the knowledge and expertise of system administrators or DevOps engineers are packed into programs and applications that carry out those tasks.

So, Infrastructure as Code or IaC is a concept and there are Infrastructure as Code tools, like Ansible, Puppet, Terraform or Cloudformation etc that you can use for different tasks.

Infrastructure as Code concept

Difference of Infrastructure as Code tools 🛠

Why do we have so many different tools, can't we just use one IaC tool? 🙄

Well, no. Because no tool can do everything and each one is great in a specific area. IaC tools automate tasks in different categories for different phases:

3 main task categories:

  • infrastructure provisioning
  • configuration of provisioned infrastructure
  • deployment of application

Distinction of phases:

  • initial setup phase
  • maintaining phase

DevOps tools in different categories and phases

So, in most cases you would use a combination of 2 or more IaC tools.

Distinction in how they work

Moreover, the IaC tools differ in the way HOW they work:

  • declarative vs procedural
  • mutable vs immutable
  • agent vs agentless

Watch the full video here 🤓

► Get 30% off - with this code: UDEMY_NANA_OCT2020: Udemy course here
Kubernetes 101: Compact and easy-to-read ebook bundle 🚀
It's a handy way to quickly look something up or refresh your knowledge at work and use it as your cheatsheet 😎

Like, share and follow me 😍 for more content:

Top comments (1)

lukaswalzer profile image

Hi, do you think SaaS Boilerplate falls into the IaaC category?