Note: Work in progress!
This blog is about exploring so-called DevOps/Infra: containers (docker/podman), containers on steroids (k8s), and the world of CI and CD.
Abstraction Layers in Computer
Host Computer (bare-metal) > Virtual Machine (VMware / VirtualBox / Vagrant) > Containers (LXC/LXD)
What is Containers and some of their features?
- Light weight / Encapsulated
- Abstraction from host application
- Isolated Network / File System
- By Default Secure/Restrictive
What is Docker / Podman?
- Ways to run and manage container application
What is Kubernetes?
- Containers on steroids.
- Scaling up / down made easy.
What is K3s, K9s, Lens?
- K3s is lightweight K8s environment
- K9s is like HTOP but for Kubernetes (CLI based management)
- Lens is GUI based IDE for Kubernetes (GUI based management)
What is microk8s, minikube, and kind?
Alternative ways to run kubernetes (similar to k3s).
What is CI/CD and DevOps?
Continues integration (Developer)
- SDEs tend to build CI in small to medium scale companies.
- (QA: security, UAT, performance tests, ..)
Continues delivery (Operations)
- (feature releases, pushing to production, release management)
- DevOps teams and/or Infra teams takes care of CD portion.
What are the tools commonly used for CI/CD infra?
Old School: Jenkins
New ways: GitHub Actions, GitLab CI (Both supports container based YAML specs to write rules)
TBH, each phase of CI/CD (DevOps) has tons of tools that one can leverage.
Here is the “shorter” version!
Plan phase covers: SCRUM/Kanban/Agile methodologies as well as PI planning, Standups, Stories, Issues/Bugs, SPIKEs, Sprints and what not. But fear not, Atlassian’s Jira helps organize all these!
Build phase contains: version control (git/svn), branches, PR/MR, code review, code diff, and strange but effective world of managing source code!
Shall add more as time permits.