Scenario
- Company: iSymbiotic
- Product: Stock Market Predictions
- Customers: Banks
- Deploying Products: iSymbiotic
- Possible Deployment Scenarios:
- On-premises/VmWare/OpenStack
- Azure:
- ARM Templates
- Azure CLI/Powershell
- Azure SDK
- AWS:
- Cloudformation
- AWS CLI
- AWS SDK
- GCP:
- GCLOUD SDK
- GCLOUD CLI
- App Architecture:

- Infrastructure as Code (IaC):
- This means expressing our infra needs in the form of some template.
- While creating/realizing the infra, pass the dynamic values.
- Terraform:
- IaC which runs on any virtual platform
- What do we have to do
- Define your infrastructure as a template in Terraform
- Execute the template to create infrastructure.
- In which Language do we need to write these templates?
- Hashicorp Configuration Language (HCL)
- Here we express what we want in the template which is referred as Desired State
- Now when execute terraform will try to create infra to match your Desired State.
- Idempotence: This is property which states that executing once or multiple times will have the same result
- For infra-provisioning we need a template which helps in meeting desired state and is idempotent.
- There are two popular tools
- Terraform
- Pulumi
