DevOps Classroom Series – 06/Oct/2020

Story of Contenment Info Systems

  • Contenment info Systems develop applications for Car Manufactures for CRM (Customer Relationship Management)
  • The following are the users of the applications
    • Car Dealers
    • Car Manufacturers
    • Car Owners
    • Car Technicians
    • Car Service Advisors
    • Car Sales Advisors
  • Contenment Car Care (C3) is the Product Name.
  • Architecture of the application looks as shown below Preview
  • Customers of C3 are Preview
  • Customers have different virtual environments where c3 has to be deployed Preview
  • The application space where c3 is operating is highly competitive, so to keep up to market, lots of new features are added and Contenment info Systems has signed a deal for deploying applications on customer environments for free with zero down time.
  • How Can Contenment info Systems solve this?
  • They have following teams
    • Customer Specific Project Manager:
      • Benz: Annie
      • Tesla: Anthony
      • Ferrari: Andrew
      • BMW: Alica Preview
    • Architecture Team: Beckham Preview
    • Implementation team
      • Developers
      • Testers
      • DevOps Preview
  • There are two major problems in deploying applications quickly
    • Freqeunt releases with zero downtime commitment
    • Different Customer Environments
  • Web Server Deployment Steps
    • Ensure the Operating System is Linux
    • Install a nginx/apache server
    • Deploy the application package on webserver installed
  • Contenment Info Systems has the following possible ways of deploying applications
    • Manual Approach
    • Ad-hoc scripts (Shell/Powershell)
      • Create a script in any scripting language of choice (shell/powershell/python)
      • Scripts are procedural (What has to be done & How it has to be done)
      • Pros:
        • This is straight forward
      • Cons:
        • Changes are difficult to handle as the we might end up rewriting
        • Maintainability & Readability will be impacted
      • Examples: Shell, Powershell, Perl, Python Scripts
    • Configuration Management tools
      • They are declarative in Nature
      • Here we tell what we want
      • Examples:
        • Ansible
        • Chef
        • Salt Stack
        • Puppet
        • Powershell DSC
    • Server Templating Tools
      • We create a virtual machine image with the application installed
      • Examples: Packer
    • Provisioning Tools:
      • All of the above approaches speak about deploying applications on the server. whereas provisioning tools work on creating servers and then calling adhoc scripts or configuration management to deploy application.
      • Provisioning tools in the case of Contenment Info Systems Can create the below on almost any virtual platform
        • Network
        • Storage
        • Virtual Machines
        • DB layers
      • Each Vendor has their own provisioning tool
        • AWS => Cloudformation
        • Azure => ARM Templates
        • OpenStack => Heat
        • Google => Google Cloud Deployment Manager
      • Terraform is a provisioning tool which can work with literally any virtual platform.
  • The Choice for Contenment Info Systems for creating infra would be terraform
  • Now DevOps Team of C3 have to create infrastructure using terraform.

How to be effecient with Infra Provisioning

  • Before automating the scenario using tools like terraform try to create the infra manually on the virtual target platform

Leave a Reply

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

Please turn AdBlock off
Floating Social Media Icons by Acurax Wordpress Designers

Discover more from Direct DevOps from Quality Thought

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

Continue reading

Visit Us On FacebookVisit Us On LinkedinVisit Us On Youtube