Skip to content

joseph-flinn/devops-training

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Training Overview

Summary

I’d like to provide a pseudo-classroom experience in the format of the coming weeks. I think it will help fit into your schedule and it will provide a roadmap for where we want to get. That being said, this is my first time doing something like this so I will be treating this roadmap as strictly guidelines, expecting it to be somewhat dynamic. My current plan is to split things up into two week chunks or what we may just call Sprints. There’s no pressure to finish everything in those two weeks. If something doesn’t get done, it can slip into the next sprint.

My vision for this is to provide an experience that is similar to what you might find in industry, but provide support in areas that will speed up the learning process. Most of the time in industry you are just thrown into the deep end with some morale support, but not a whole lot more (depending on the company and what type of business they are running. There are always exceptions).

Goals

My goals for the coming weeks is the get as much hands on experience with some of the core technologies in DevOps but also pair it with the understanding of the parts they play. A secondary goal is to expose you to the larger parts of software engineering teams that don’t have to do with the product itself.

The current technologies that I am thinking are listed below. If there are others that you become aware of that you would like to add, let’s chat about it and add it. This seems like a large list; however, they are very interconnected. Bash is a linux based shell language--that I believe it Turning complete--and what is used for a lot of automation. The terminal commands ls and cd are apart of the bash language. Docker containers are normally Linux and you mainly use shell commands to interact with those containers.

Technologies

  • git
  • Linux
  • Docker (Config Mgmt/build/release)
  • Bash (Automation scripting)
  • GitHub Actions (CI/CD)
  • Terraform (IaC)
  • GCP (cloud infra)
  • Python (Script/tooling development)

Main tech goals (sprints)

  • Weeks 1 & 2: Linux, git & Terminology
  • Weeks 3 & 4: Linux & Docker
  • Weeks 5 & 6: Cloud & GCP
  • Weeks 7 & 8: Terraform
  • Weeks 9 & 10: CI/CD pipelines & GitHub Actions
  • Weeks 11 & 12: Final Project - Part 1
  • Weeks 13 & 14: Final Project - Part 2

Format

We are going to use a kanban board to track progress on different tasks. It can be found under Projects -> Training in this GitHub Reposotiory or via this link The Backlog column is in order of priority. It would be a good idea to keep the In progress column in order of what you are working on as well (the higher up, the more recent you have worked on it).