Devops
Linux / Bash scripting
Easy                                                            Medium                              Hard
Basic bash commands
aliases, .bashrc/.zshrc ,
interactive vs non interactive shells                           Process Management
                                                                Cron jobs
                                                                File transfer - ftp, scp
                                                                File permissions
Creating your own bash script - variables, loops,
conditionals, functions
                                                                args in bash scripts
                                                                stderr, stdout, File descriptors,
                                                                piping
                                                                grep
                                                                Creating a CLI in Node.js
Projects
    1. Create a script that ssh's into a VM and pull the latest code and restarts it
    2. Do the same using ssh2
VMs/EC2/GCP VMs
easy                                                    medium                                      hard
What are VMs?
Creating a VM in various cloud providers. Specs,
pricing …
GUI vs clis for creating VMs                            Keypairs and ssh’ing into VMs
                                                        Deploying a non containerized app to a
                                                        VM
Process management
easy                                               medium                                    hard
Reverse proxies
                                                   Certificate management
                                                   Load balancers
ASGs/MIG
Easy                                   Medium                                                Hard
What is autoscaling, why do you need
it?
                                       Images, Target groups, ASGs, LBs, Autoscaling
                                       policies
                                       MIG Internals
Containerization
What is a container
                            What is docker
                                                                        Docker vs other
                                                                        container runtimes
                            How to dockerize your app, WORKDIR,
                            CMD, RUN, ENV, COPY, ARG
                                                                        Volumes and networks
Publishing to dockerhub,
other registries
                            Running a docker container in a VM,
                            exposing it over the internet
                                                                        Multi stage builds
                            docker-compose
ECS (Warming up for k8s)
easy                           medium                                                          hard
What is ECS, common use
cases
                               ECR vs Dockerhub
                               Setting up Task definitions
                               Serverless vs EC2 instances for deploying , pros and cons of
                               either
                               Autoscaling policies
Kubernetes
Easy                                    Medium                              Hard
Introduction to Kubernetes, clusters,
nodes, pods, worker node vs control
plane
                                                                            Kubernetes architecture
                                        Local deployment using
                                        kind/minikube
                                        Replicasets, Deployments
                                        Networking Concepts - Services,
                                        Types of services
                                                                            Ingress, Ingress
                                                                            controllers
                                        Certificate management
                                        Storage, PVs, PVCs,
                                        StorageClasses, Static vs dynamic
                                        provisioning
                                                                            StatefulSets,
                                                                            DaemonSets, Jobs and
                                                                            CronJobs
                                        Conifgmaps and secrets
Easy                                      Medium                               Hard
                                          Kubernetes Policies, Role-Based
                                          Access Control, CRDs
                                                                               HPAs, VPA, Cluster
                                                                               autoscaler
                                          EKS, eksctl, eks best practises
                                          Extra - k9s, kubctx
Iac, Terraform
Easy         Medium                                                     Hard
What is
Iac
             Iac using bash scripts, aws cli/eksctl
             Various iac tools, ansiable vs terraform.
             Installing tf, What is a resource, HCL syntax, Providers
             Running Terraform Commands (init, plan, apply,
             destroy)
                                                                        Managing state, variables,
                                                                        counts
                                                                        Terraform with AWS
                                                                        Remote state on S3
Monitoring
Easy                                       Medium                                                    Hard
Introduction to monitoring, why do
you need to monitor your systems
                                           Datadog vs newrelic vs sentry.
Logging vs process observability vs
Infrastructure observability. p95, p99.
Easy                                      Medium                                                 Hard
                                          Self hosted monitoring using prometheus. metrics,
                                          counters, gauges, histrograms, promQL, Graphs in
                                          Prom
                                          Pulling vs pushing metrics, Push gateway
                                          Grafanna for charting, observability.
                                          Prometheus and grafanna service discovery in a
                                          kubernetes cluster
Package managers (helm)
easy medium                                    hard
       Why package managers, what is helm?
       Installing helm cli, values and
       templates
       Helm charts, Dependency
       management
       Helm hubs, repos, custom values,
                                               Release management in Helm 2.0 and 3.0
                                               Templates, Go templating logic,
                                               functions, pipelines, with blocks, creating and
                                               uploading charts
       Exploring other package mangers
       (glasskube)
CI/CD in github
Easy                                       medium                                            Hard
What is CI/CD?
Github CI CD yaml format, Github actions
Using CI/CD to deploy to a VM
Easy                                          medium                                              Hard
                                              Using CI/CD to provision infrastructure using Iac
                                              Using CI/CD to deploy to a kubernetes cluster
Gitops
Easy              Medium                               Hard
What is
GitOps?
Why gitops
                  Creating aws resources using
                  gitops
                  Creating/Updating k8s clusters
                  GitOps using ArgoCD
                                                       Gitops in a multi cluster environment using
                                                       ArgoCD
CDNs and Object stores
Easy                                     Medium                                                      Hard
What are object stores, Why object
stores?
Intro to CDNs
                                         S3, R2 for assets
                                         Cloudfront as a CDN
                                         Attaching a custom domain to your CDN, certificate
                                         management
Project
   1. Building a serverless provider (aws lambda) / repl.it
             1. http layer, cli layer, auth
   2. Building a distributed video transcoder / image resizer
   3. Building a alerts manager (better stack) and status page provider