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:
    • Cloud Infrastructure:
  • 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

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

Softwares to be installed on the system

  • Terminal:

    • Mac => Terminal
    • Windows => Powershell (Terminal)
    • Linux => Terminal
  • Git

  • Visual Studio Code

  • Refer Here for the software installations on windows

  • Refer Here

  • Mac:

    • Homebrew: Refer Here for the homebrew installation. Launch terminal and execute the command /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    • Git: brew install git
    • Visual Studio Code: Refer Here
    • terraform Refer Here
  • Windows:

    • Chocolatey: Refer Here
    • Git: choco install git -y
    • VisualStudioCode: choco install vscode -y
    • terraform: choco install terraform

Leave a comment

Turn on JavaScript to leave a comment.

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

Please turn AdBlock off
Social Network Integration by Acurax Social Media Branding Company
Exit mobile version
%%footer%%