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
ssh's
into a VM and pull the latest code and restarts iteasy | 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 | ||
Reverse proxies | ||
Certificate management | ||
Load balancers |
Easy | Medium | Hard |
---|---|---|
What is autoscaling, why do you need it? | ||
Images, Target groups, ASGs, LBs, Autoscaling policies | ||
MIG Internals |
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 |
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 |
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 | ||
Kubernetes Policies, Role-Based Access Control, CRDs | ||
HPAs, VPA, Cluster autoscaler | ||
EKS, eksctl, eks best practises | ||
Extra - k9s, kubctx |
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 | ||
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. | ||
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 |