90DaysOfDevOps
This repository is used to document my journey on getting a better foundational knowledge of DevOps. I will be starting this journey on the 1st January 2022 but the idea is that we take 90 days which just so happens to be January 1st to March 31st.
The reason for documenting these days is so that others can take something from it and also hopefully enhance the resources.
The goal is to take 90 days, 1 hour a day, to tackle over 13 areas of DevOps to a foundational knowledge.
This will not cover all things DevOps but it will cover the areas that I feel will benefit my learning and understanding overall.
Progress
- [
✔️ ]♾️ 1 > Introduction
What is and why do we use DevOps
- [
✔️ ]♾️ 2 > Responsibilities of a DevOps Engineer - [
✔️ ]♾️ 3 > DevOps Lifecycle - Application Focused - [
✔️ ]♾️ 4 > DevOps & Agile - [
✔️ ]♾️ 5 > Plan > Code > Build > Testing > Release > Deploy > Operate > Monitor > - [
✔️ ]♾️ 6 > DevOps - The real stories
Learning a Programming Language
- [
✔️ ]⌨️ 7 > The Big Picture: DevOps & Learning a Programming Language - [
✔️ ]⌨️ 8 > Setting up your DevOps environment for Go & Hello World - [
✔️ ]⌨️ 9 > Let's explain the Hello World code - [
✔️ ]⌨️ 10 > The Go Workspace & Compiling & running code - [
✔️ ]⌨️ 11 > Variables, Constants & Data Types - [
✔️ ]⌨️ 12 > Getting user input with Pointers and a finished program - [
✔️ ]⌨️ 13 > Tweet your progress with our new App
Knowing Linux Basics
- [
✔️ ]🐧 14 > The Big Picture: DevOps and Linux - [
✔️ ]🐧 15 > Linux Commands for DevOps (Actually everyone) - [
✔️ ]🐧 16 > Managing your Linux System, Filesystem & Storage - [
✔️ ]🐧 17 > Text Editors - nano vs vim - [
✔️ ]🐧 18 > SSH & Web Server(LAMP) - [
✔️ ]🐧 19 > Automate tasks with bash scripts - [
✔️ ]🐧 20 > Dev workstation setup - All the pretty things
Understand Networking
- [
✔️ ]🌐 21 > The Big Picture: DevOps and Networking - [
✔️ ]🌐 22 > The OSI Model - The 7 Layers - [
✔️ ]🌐 23 > Network Protocols - [
✔️ ]🌐 24 > Network Automation - [
✔️ ]🌐 25 > Python for Network Automation - [
✔️ ]🌐 26 > Building our Lab - [
✔️ ]🌐 27 > Getting Hands-On with Python & Network
Stick to one Cloud Provider
- [
✔️ ]☁️ 28 > The Big Picture: DevOps & The Cloud - [
✔️ ]☁️ 29 > Microsoft Azure Fundamentals - [
✔️ ]☁️ 30 > Microsoft Azure Security Models - [
✔️ ]☁️ 31 > Microsoft Azure Compute Models - [
✔️ ]☁️ 32 > Microsoft Azure Storage & Database Models - [
✔️ ]☁️ 33 > Microsoft Azure Networking Models + Azure Management - [
✔️ ]☁️ 34 > Microsoft Azure Hands-On Scenarios
Use Git Effectively
- [
✔️ ]📚 35 > The Big Picture: Git - Version Control - [
✔️ ]📚 36 > Installing & Configuring Git - [
✔️ ]📚 37 > Gitting to know Git - [
✔️ ]📚 38 > Staging & Changing - [
✔️ ]📚 39 > Viewing, unstaging, discarding & restoring - [
✔️ ]📚 40 > Social Network for code - [
✔️ ]📚 41 > The Open Source Workflow
Containers
- [
✔️ ]🏗️ 42 > The Big Picture: Containers - [
✔️ ]🏗️ 43 > What is Docker & Getting installed - [
✔️ ]🏗️ 44 > Docker Images & Hands-On with Docker Desktop - [
✔️ ]🏗️ 45 > The anatomy of a Docker Image - [
✔️ ]🏗️ 46 > Docker Compose - [
✔️ ]🏗️ 47 > Docker Networking & Security - [
✔️ ]🏗️ 48 > Alternatives to Docker
Kubernetes
- [
✔️ ]☸ 49 > The Big Picture: Kubernetes - [
✔️ ]☸ 50 > Choosing your Kubernetes platform - [
✔️ ]☸ 51 > Deploying your first Kubernetes Cluster - [
✔️ ]☸ 52 > Setting up a multinode Kubernetes Cluster - [
✔️ ]☸ 53 > Rancher Overview - Hands On - [
✔️ ]☸ 54 > Kubernetes Application Deployment - [
✔️ ]☸ 55 > State and Ingress in Kubernetes
Learn Infrastructure as Code
- [
✔️ ]🤖 56 > The Big Picture: IaC - [
✔️ ]🤖 57 > An intro to Terraform - [
✔️ ]🤖 58 > HashiCorp Configuration Language (HCL) - [
✔️ ]🤖 59 > Create a VM with Terraform & Variables - [
✔️ ]🤖 60 > Docker Containers, Provisioners & Modules - [
✔️ ]🤖 61 > Kubernetes & Multiple Environments - [
✔️ ]🤖 62 > Testing, Tools & Alternatives
Automate Configuration Management
- [
✔️ ]📜 63 > The Big Picture: Configuration Management - [
✔️ ]📜 64 > Ansible: Getting Started - [
✔️ ]📜 65 > Ansible Playbooks - [
✔️ ]📜 66 > Ansible Playbooks Continued... - [
✔️ ]📜 67 > Using Roles & Deploying a Loadbalancer - [
✔️ ]📜 68 > Tags, Variables, Inventory & Database Server config - [
✔️ ]📜 69 > All other things Ansible - Automation Controller, AWX, Vault
Create CI/CD Pipelines
- [
✔️ ]🔄 70 > The Big Picture: CI/CD Pipelines - [
✔️ ]🔄 71 > What is Jenkins? - [
✔️ ]🔄 72 > Getting hands on with Jenkins - [
✔️ ]🔄 73 > Building a Jenkins pipeline - [
✔️ ]🔄 74 > Hello World - Jenkinsfile App Pipeline - [
✔️ ]🔄 75 > GitHub Actions Overview - [
✔️ ]🔄 76 > ArgoCD Overview
Monitoring, Log Management, and Data Visualisation
- [
✔️ ]📈 77 > The Big Picture: Monitoring - [
✔️ ]📈 78 > Hands-On Monitoring Tools - [
✔️ ]📈 79 > The Big Picture: Log Management - [
✔️ ]📈 80 > ELK Stack - [
✔️ ]📈 81 > Fluentd & FluentBit - [
✔️ ]📈 82 > EFK Stack - [
✔️ ]📈 83 > Data Visualisation - Grafana
Store & Protect Your Data
- [
✔️ ]🗃️ 84 > The Big Picture: Data Management - [
✔️ ]🗃️ 85 > Data Services - [
✔️ ]🗃️ 86 > Backup all the platforms - [
✔️ ]🗃️ 87 > Hands-On Backup & Recovery - [
✔️ ]🗃️ 88 > Application Focused Backups - [
✔️ ]🗃️ 89 > Disaster Recovery - [
✔️ ]🗃️ 90 > Data & Application Mobility