Getting started with DevOps!

Getting started with DevOps!

Table of contents

No heading

No headings in the article.

Hello Peers,

Today, I read somewhere that “Making a personal change is scary. But doing it with a community makes it fun and keeps you accountable!”. So decided, let’s make a fun change today!!

With that in mind, I am now writing a little mix of roadmap series for DevOps which can help us all to learn the topic better. Join in my journey of learning, up-skilling and growth!!

Here, will be sharing some resources needed to master the trade some major case studies like Chaos Monkey (Netflix), Project Hulk (Hotstar), Pilot to Scale(Standard Chartered Bank), etc .

Starting with the very basic question....why DevOps and what pulled me towards it?

During the rise of Covid-2020 when the conventional resources for day-to-day computing needs were failing, the need for a scalable, automated, quicker and customer monitoring services was a necessary ask.

Here comes DevOps into play!

Although the tech was developed long back, but 2020 making internet the necessity for masses, DevOps techies were far more in demand.

Post college completion, I started working as a SysOps Engineer where-in we were working on the linux servers of all environments (production, dev, staging) and some other stuff like patching, Upgrades, DNS, scripting and automation; staying there, it clicked me where can I now grow technically, searching further I came across DevOps and there got to know that I have been already working on some parts of it without actually knowing all this while and also, the buzz it was getting all over the internet via different posts of LinkedIn, Google, Medium etc.

Lets start with the area of learning needed here:

Linux For DevOps

  • Setting up Linux via AWS EC2

  • File System Hierarchy

  • Basic Linux Commands

  • Advanced Linux Commands

  • Shell Scripting with a Project

Source Code Management

  • Difference between CVCS and DVCS

  • Importance of Git

  • Installation of Git

  • Git three-stage Architecture

  • Detail explanation of Repository, Commit, Tags, Snapshots, Push-Pull Mechanism, and Branching Strategy

  • Working with Git stash and Git pop

  • Resolve Merge conflicts in Git

  • Git Revert and Reset (Reset vs Revert)

  • Git rebase

  • Working with git Squash

  • Git cherrypick

  • What is Git fork?

Package Management

  • What is Virtualization before deep dive into the Containerization

  • O.S level virtualization

  • Docker vs Virtual Machine

  • What is Docker and its History

  • Docker Architecture

  • Advantages and limitations of Docker

  • Components of Docker (Docker Daemon, Docker Client, Docker Host)

  • Docker Image

  • Docker lifecycle and PS

  • Start and delete a container

  • Exploring exec command

  • Custom Docker image

  • Docker file creation using Dockerfile

  • Working with Docker volume

  • Mapping volumes (Container to Container, Host to container)

  • Creating volume from Dockerfile

  • Docker port Mapping

  • Docker port exposes

  • Difference between Docker attach and Docker exec

  • Docker Hub and push our image to the Docker Hub

  • Docker Compose and Docker Swarm

CI/CD

  • What is CI/CD pipeline

  • Jenkins History

  • Getting started with Jenkins

  • Jenkins installation on Cloud

  • Workflow of Jenkins

  • Jenkins UI

  • User Management in Jenkins

  • Jenkins-Linked Projects

  • Source-code polling

Container Orchestration

  • What are Monolithic and Microservices Architecture

  • What is Kubernetes

  • Introduction to Kubernetes

  • Features of Kubernetes

  • Kubernetes History

  • Kubernetes architecture in depth

  • Node & Pod

  • Fundamentals of Pods and their Lifecycle

  • Installing Kubernetes on AWS

  • Command with example (kubectl)

  • Role of Master Node

  • Components of Control Plane and explanation

  • Installing kubectl and minikube

  • Creation and deletion of a pod

  • Kubernetes YAML Configuration

  • Higher-level Kubernetes Objects

  • K8s Object management

  • Labels and Selectors in K8s

  • Replication, Auto healing and working with deployment in K8s

  • ConfigMap and Secret in k8s

  • Deploying Microservices app to K8s cluster

  • Kubernetes Networking, Services and Nodeport

  • Volumes in Kubernetes

  • Persistent Volume & LivenessProbe in K8s

  • Namespaces in K8s

Cloud Engineering

  • AWS Global Infrastructure

  • Detail overview of Elastic Compute Cloud (EC2)

  • Your first EC2 instance

  • In-depth guide for EC2 instance

  • In-depth guide for EC2 options

  • Connecting to a cloud instance

  • Handling and management of Security Groups

  • S3

  • Auto Scaling/ Load balancing

  • Cloud Formation and Cloud Watch

  • SNS and SQS

  • RDS and IAM

  • ECS and ECR by Project

  • Cloudwatch and Billing Alarms

Infrastructure As Code

  • Understanding the concept of (IaC)

  • Getting started with Terraform

  • Terraform Basics

  • Variables, Resources, Attributes and Dependencies

  • Terraform State

  • Terraform for-each and module

  • Terraform Project

Monitoring

  • Grafana and Graphite

  • connecting to docker and EC2 for Logs and monitoring

  • Prometheus setup

  • Prometheus and Kubernetes Alerting

Stay tuned folks!!