DevOps Classroom Series – 24/Apr/2020

Prerequisite Softwares For DevOps

Generalize Pipeline

Preview

  • Our journey into CI/CD Pipelines as a DevOps Engineer starts when developer finishes coding of some feature and shares it with you
  • Sharing Code to Others and Possible Approaches
    • Share the code via Email:
      • Generally we have more that one developer working, then which version of whose mail should be consider
    • Shared Folder:
      • Looks like good option.
      • All of your devteam once finished the code have to copy that in a shared location, so which developers work to take is resolved by dev team
      • Some developers work has caused lot of trouble in testing, so your lead wants to remove the work done by your dev team for that day
    • General Opinion of sharing code:
      • Multiple developers should be able to work in parallel
      • Your code should have some kind of history/version Preview
    • Our dev team software is customized for different customers how to manage that? Preview
  • We need some software to manage all of the above challenges
    • Multiple users working parallelly on some code base
    • Version/History Support
    • Capability to maintain different copies of code base
    • Have features like Backup/Restore and Archive
  • Version Control System is all about doing the above
  • Examples:
    • CVS
    • VSS (Visual Source Safe)
    • Clear Case
    • Subversion
    • Perforce
    • Mercurial
    • TFVC (Team Found Version Control)
    • Git

Evolution in Version Control Systems

  • Generations of VCS

    • Client Server:
      • Need a centralized Servers
      • All the developers systems will be clients
      • For Disaster Recovery take a Secondary Setup
      • Take Periodic Backups of VCS
      • For all of this we need a VCS Administrator
      • Two models:
        • Online Clients: For working server needs to connected all the time
        • Offline Clients: Clients can work and when they want to interact can establish a connection to server

    Preview

    • Distributed
      • No Need of Centralized Servers
      • Any system can act as server
      • Backup is just one more system having the code

DevOps Engineers Misconceptions

  • Only Developer only will use git(VCS) a lot?
    • Absolutely not, we as DevOps Engineers develop automation to pipeline and we use git to preserve our work
    • Ansible/Chef/Terraform/K8s/Dockerfile which you have developed will be stored in Version Control System
    • So DevOPs Engineers need to have two perspectives of VCS
      • Developer
      • Administrator

Leave a Reply

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

About learningthoughtsadmin