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 ReplyCancel reply

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

Discover more from Direct DevOps from Quality Thought

Subscribe now to keep reading and get access to the full archive.

Continue reading

Exit mobile version
%%footer%%