Scenario: LearningThoughts
- Learning Thoughts is working on a project called as lt-ehrms
- This is Human Resource Management System. This application has to be deployed on customer’s environment.
- The application is sold to different organizations, So learning thoughts has to deploy the application to various organizations
- LT-ehrms works on virtualized environments. The virtualized environments supported by Learning Thoughts are
- VM Ware
- Hyper-V
- AWS
- Azure
- GCP
- OpenStack
- The architecture of lt-ehrms is as shown below
- LT-ehrms application will release new set of features to the customer every month
- The basic pipeline looks as shown below
- Manually creating environments is not an option as it will impact time to market, So we need some kind of software which helps in creating environments. This software is referred as Infra Provisioning Tool.
- There are many Infra Provisioning Tools created by vendors
- AWS => Cloudformation
- Azure => ARM Template
- GCP => Deployment Manager
- VmWare => Vmware SDK
- So, choosing a different tool for every environment might not be the choice, so here comes a tool from Hashicorp which is called as Terraform which can create environments on different vendors and Cloud Service Providers(Providers)
- So we can use Terraform for the above scenario to create various environments
Setting up Terraform and Other Softwares on your System
-
Softwares which we need
- Git
- Visual Studio Code
- Terraform
-
Windows:
- install necessary softwares Refer Here
- Install Windows Terminal Refer Here
- Install Chocolatey: Refer Here
- Install terrafrom using chocolatey Refer Here
choco install terraform -y refreshenv.cmd terraform --version
-
Mac:
- Install xcode
- Install homebrew: Refer Here
- Install git Refer Here
- Install visual studio code Refer Here
- Refer Here to install terraform
Setup Developer Environment for terraform
- Install visual studio code extension for terraform
To Work with Terraform
- We Need Cloud environments
- AWS
- Create a free tier Refer Here
- AZure:
- Create a free tier Refer Here
- AWS