What you need to Know about IAAC

IAAC defined

Core Concepts

Declarative or Imperative

Imperative software tells the proper order of deployment, procedural, exacty

Declarative Software has a rough idea how to make environment, using a config language you can declare what type of thing (food), with a sub-type (taco), and within the config-block can list the components (ingredients).

The software already has a predefined routine how to get ingredients, and and a predefined order to deploy them.

The defaults can be changed by adding options to config block.

Terraform using Declarative software

Idempotent and Consistent

Push or Pull

Benefits of IAAC

  1. Automated Deployment,
    1. faster usually better
  1. Repeatable
    1. each time you need to build out or update env
  1. Creates multiple consistent environment.
    1. Useful for ensuring Dev, QA, Staging and Production envs to match
  1. Reusable components
    1. as process is defined in code, it can be reuse in any application that needs a similar back-end, makes life a lot easier
    1. Follows the DRY programming principle, Don’t Repeat Yourself
  1. Documented Architecture
    1. natural result of defining in code, gives a better understanding of architecture and how it works

Overview of Terraform