DevOps Classroom Series – 03/Aug/2021

An Organizational Scenario

  • This is scenario of an organization called as LearningThoughts.

  • LearningThoughts has an application for HRMS => lt-hrms

  • LearningThoughts has many customers and Each of customers have their own server infrastructure. Some organizations have

    • On-Premise Infrastructure: Preview
    • Cloud Infrastructure: Preview
  • So, how does lt-hrms handle the variations in server infrastructure

  • Automating deployment for multiple server infrastructures is also a challenge

    • VMWare has its own way of automation
    • HyperV has its own ways of automation
    • OpenStack Has its own way of automation
    • Azure => Azure CLI/Powershell or ARM Templates
    • AWS => AWS CLI or CloudFormation
    • GCloud => GCloud cli or Gcloud templates
  • So we need an effective solution which can deploy lt-hrms app in multiple server infrastructure (Creating servers) and then to deploy application into individual server using shell/powershell/ansible/chef etc

  • What are possible solutions?

    • Writing a script for all the possible infrastructures might be complex and making changes will become difficult
    • Create your own tool with the help of dev team. Maintenance becomes a challenge
  • To solve these kind of issues, we need InfraProvisioning tools. We have the infraprovisioning tools such as AWS Cloudformation, Azure ARM Tempalte, Openstack Heat but they work only their environments

  • Terraform is an infra provisioning tool which can work with various server infrastructures and the way we approach to write the template in terraform is declarative

    • Terraform supports Declarative Language
  • Terraform is an Opensource tool developed by HashiCorp using Go Language. Terraform is all about copying one binary(executable) in the system

  • 5000 feet overview of how terraform works Preview

  • To create Terraform template terraform has its own language (Domain specific language) => Terraform Configuration Language Refer Here

Softwares to be installed on the system

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

About learningthoughtsadmin