DevOps Classroom Series – 28/Jul/2020

Curious Case of DirectDevOps (A fictious Organization)

  • DirectDevOps Organization has an ecommerce product. The application looks as shown below Preview
  • Now we have Rachel who heads development & QA Operations for ddcommerce & John who leads the IT Operations & is responsible for deploying ddcommerce Preview

John’s (Ops Teams) Activities

  1. ddcommerce as an organization gives every day release to testing team and they make production updates twice an month
  2. QA Process
    • Unit Testing
    • System Testing (Automated & Manual)
    • Performance Testing
    • UAT Testing
  3. John’s team need to create the following environments
    • Every day
      • Unit Testing Environment
      • System Testing Environment
      • Performance Testing Environment
    • Every Week:
      • UAT Environment
    • Every 15 days
      • Production Environment

OPtions for John

  • Manual Creation:
    • Every day John assigning work to members of his team to install the applications manually before 8 AM, so that testing can be done to create 3 environments every day
    • Is this scalable? => Big no
  • Minimizing work
    • In John’s team we have Ravi who is good as shell scripting
    • So Ravi started automating the activities by writing shell scripts to simply execute a script on every server and the deployment will be done
    • Challenge: Ravi is on leave & he is expert in shell & other members are finding it difficult to fix problems & till Ravi is back from leave, they do manual deployments
    • Shell scripts are procedural
    • Is this scalable? => No
  • Solution:
    • If john’s team can automate the deployment using simple way which any member of his team can fix and once the code is ready if this automation will be called automatically.
    • This automation should be declarative Preview
    • This is exactly where configuration management(CM) fits in. There are many tools do to CM
      • Ansible
      • Chef
      • Puppet
      • Salt
      • Powershell DSC
      • CF Engine
    • To the CM tools you will always express the desired state
    Ensure apache server is installed
    Ensure apache service is running
    

Configuration Management

  • In Configuration Management, we have two kinds of systems
    • CM Server:
      • Where CM is installed
    • Node
      • Where you want deployments to happen
  • There are two models in configuration management
    • PULL-Based CM Preview
    • PUSH-Based CM Preview

Leave a Reply

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

About learningthoughtsadmin