DevOps Classroom Series – 15/Dec/2020

Story of Learning Thoughts – Application Deployments

  • Learning Thoughts (a ficticious organization) is working on different projects in the following domains
    • Health Care
      • iCare:
        • developed in Java and is to be deployed on Linux based Systems
        • Database: Postgres
      • radCare:
        • developed in .net and is to be deployed on Windows Servers
        • SQL Server Database
    • Fintech
      • personal-fin:
        • Java backend
        • Andrioid Frontends
        • ios Frontends
        • Mongodb
      • Stock-watch:
        • Python backend
        • Andriod
        • IOS
        • Angualar
        • Database: Oracle
    • eCommerce
      • lt-commerce:
        • Developed in python Django
        • Database is mysql
    • CRM (Customer Relationship Management)
      • lt-crm
        • Developed in python flask
        • Andriod
        • ios
        • Database is mysql and Mongodb
    • HRMS (Human Resource Management Systems)
      • Lt-HRMS
        • Developed in PHP
        • Deployed in Linux on Apache Servers
        • Database is mysql
  • Learning Thoughts Deployment Process
    • Each application will have following environments (6)
      • Developer Environment
      • Testing
        • System Testing
        • Functionality Testing
        • Performance Testing
        • UAT (User Acceptance Testing/Pre-Production)
      • Production
    • Release-Frequency
      • Every day the changes made by developers in the code needs to be deployed to Developer Environment, Functionality Testing and System Testing
      • Performance Testing Environment & UAT Env will be updated once in a week
      • Production env will be updated once in two weeks
  • Lets get the team introduced
    • Mike: Expert in linux and shell scripting
    • Mitch: Expert in Windows, Powershell and SQL Server
    • Mark: Expert in Databases
    • Stacy: The manager Preview
  • Are these 3 people enough for creating/maintaining six environments per project?
    • No, We have a junior team who help in creating/maintaining six environemts Preview
  • Can we manually deploy applications with this team?
    • No, we need some kind of automation.
  • We have experts (Mike, Mitch, Mark) who can create complex scripts to deploy applications. Can we use that?
    • No, bcoz junior team has work on executing and fixing scripts, Complex scripts can be difficult to manage.
  • Would it be better if the scripts have
    • how the application has to be deployed?
    • what has to deployed?
  • It would be easier if the script written describes what has to be done?
  • Lets call what has to be done as desired state
  • So we need a way to describe a desired state and when we run the script it should ensure desired state is maintained
  • To maintain a desired state we need tools which are intelligent, scripts (shell/powershell) will not be enough
  • Exactly this is where Configuration Management (CM) comes into play. In CM we would have a tool intelligent to maintain desired state.
  • Lets see how the CM tools work Preview

Exercise

  • To Get Some idea about devops watch 1-7 videos Refer Here

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