Autoplay
Autocomplete
Previous Lecture
Complete and Continue
30 Days Devops Challenge
Course Manual
Getting Started (3:42)
Know your Instructor - Who is Gourav Shah ? (3:51)
Student Survey
Hackathon FAQs
Register for the next Hackathon - Starts on Monday
The Devops Story
The Beginning - Assembly Line and Toyota Production System (5:37)
Lean to Agile (5:31)
From Agile to Devops (5:13)
Defining Devops (5:12)
Reverse Elephant Theory - Interpreting Devops (5:59)
Key principles of Devops (6:54)
Environment Automation (4:51)
Infrastructure as a Code (6:58)
Continuous Integration (7:43)
Continous Delivery and Deployment (5:32)
Continuous Monitoring - Completing the Feedback Loop (5:08)
Learn about the Story of Devops
Solution Design for the Use Case - Mogambo.org
Introducing the Use Case (0:58)
The rapid rise of Mogambo - the ecommerce giant of Sundarland (3:45)
Quick Analysis of Organizational Goals and the Current Setup (3:45)
Organizational and Devops Problems (6:49)
Mogambo's Microservices Architecture (5:41)
The devops approach (5:14)
Summary (0:53)
Introduction to Docker Based Delivery
Section Introduction (1:54)
Why the world is moving to Docker Based Software Delivery (6:45)
Three Ways - Containers, VMs and Bare Metals (12:34)
Whats under the hood - Namespaces, Cgroups and OverlayFS (10:12)
Portability, Density, Consistency - The Key Features of Docker (12:44)
The Docker Evolution Story (8:17)
Docker Workflow and Components (8:32)
Setup: Creating Learning Environment
Setting up the Environment (1:45)
Mac - Setting up Docker Desktop (5:03)
Windows - Setup Docker Desktop and Git (9:56)
Summary (0:19)
Docker Essentials for a Devops Engineer
Learn Essentials of Running and Operating Containers with Docker
Milestone #1
Treasure Hunt
GIT Essentials for a Devops Engineer
Learn Essentials of GIT for a Devops Engineer
Jenkins Essentials for a Devops Engineer
Learn Essentials for Jenkins for a Devops Engineer
Project - Building CI Pipelines for Mogambo
Section Introduction (1:08)
Building CI Pipeline for Frontend App (7:43)
Project Spec - Build CI Pipelines for NodeJS and Maven Apps (8:21)
Setting up Jenkins with Docker Compose (6:06)
Creating Build Job for Frontend (6:59)
Troubleshooting Broken NodeJS Build on Jenkins (18:10)
Creating Test and Package Jobs for Frontend (6:28)
Conneting jobs to build a CI Pipeline (6:59)
Specs for CI Pipeline for Carts App (1:50)
Building end-to-end Pipeline for a Maven App (8:33)
Project - Writing Pipeline as a Code with Jenkinsfiles
Project Spec - Jenkinsfile for Carts App
Jenkinsfile Primer (4:56)
Jenkinsfile for Carts (8:54)
Nano project - Create pipeline for frontend by writing a Jenkinsfile (1:53)
Building Pipeline for Frontend with Jenkinsfile and Blueocean (7:53)
Summary (1:37)
Concepts - Introduction to Infrastructure as a Code
Getting started with Iaac and Ansible (3:19)
Section Intro (0:53)
Four Approaches to Manage Infrastructures (5:58)
Scripts vs IaaC - Procedural vs Declarative Approaches (6:28)
My Story - How I got started with Puppet (4:27)
Pull Model Centralized Configuration Management (4:29)
Convergence and Idempotence (3:30)
Code vs Data - Creating Dynamic Configurations (2:52)
Iterative Approach, Who is Puppet for, What it is not (6:23)
Is IaaC only about Puppet/Chef ? Going beyond the configuration management (1:48)
Learn Ansible Essentials for a Devops Engineer
Learn the Essentials of Ansible for a Devops Engineer
Project - Deploying Catalogue and Carts apps with Ansible
Section Introduction (1:47)
Project Spec
Creating playbooks for catalogue app (6:46)
Deploying catalogue with ansible (3:46)
Writing and deploying a playbooks for carts (10:00)
Tear down ansible cluster with docker compose (2:00)
Summary (1:41)
Enforcing Trunk Based Development Model and Code Reviews
Defining Development workflows with Branching Models (7:43)
Introduction to Trunk Based Development Model (4:30)
Applying Branch Protection Rules with GitHub (6:11)
Creating Branches and Merging with Pull Requests (5:22)
Enforcing Code Review Policies (4:10)
Nano Project - Streamline the Dev Workflow for Mogambo
Solution - Enforcing Branch Policies and Code Reviews for Frontend and Carts (16:26)
Using Docker Agent with Jenkins
Why to use Docker Agents to run Jenkins Jobs? (7:04)
Jenkins with DIND (Docker inside Docker) Setup Explained (5:58)
Using Docker Agent with Sysfoo Application (8:30)
Solution I - Docker agent for Carts Maven App (8:15)
Solution II - Refactoring Jenkinsfile to use Docker Agent for NodeJS Frontend App (4:27)
Project: Continuous Integration with Docker
Section Introduction (2:52)
Nano Project - Build Docker Image for Frontend App
Creating Feature Branches before getting Started (3:42)
Building docker image for frontend manually (5:33)
Writing a Dockerfile for frontend and publishing the image to dokcerhub (6:04)
Writing Docker Compose spec for Frontend (4:29)
Nano Project - Build image for carts app
Solution - Build image for carts app (5:37)
Programmatically publishing docker image for carts (3:55)
Commit Dockerfiles before Proceeding (2:19)
Nano Project - Automate Docker Build and Publish with Jenkins (4:22)
Solution I - Docker Build and Publish Job for Carts Maven App (9:55)
Solution II - Refactoring Jenkinsfile for Frontend App to Build and Publish Docker Images (6:41)
Summary (0:59)
Project: Deploying dockerized apps with Kubernetes
Section Introduction (1:37)
Why kubernetes (8:21)
Launching a kubernetes cluster on Google Cloud Platform (5:52)
Deploying and publishing frontend app on GKE (6:19)
High Availability and Release Strategies with Deployments (9:01)
Publishing Applications with Services (5:36)
Pods - unit of deployment (8:19)
When to run more than one container in a pod ? (7:52)
Kubernetes Internal Service Discovery (10:40)
Assignment - Deploy application for shopping cart (2:57)
Solution - Carts Application Deplyoment (3:06)
Scaling applications manually and with auto scaler (9:59)
Zero Downtime Deployment (7:23)
Quick dive into kubectl, a CLI client for kubernetes (6:02)
Summary (1:00)
Day 18 Agenda - TODO
Project: Cluster health monitoring with Prometheus and Grafana
Setup prometheus with grafana using one click GKE app deployment (7:48)
Prometheus monitoring architecture quick dive (7:09)
Accessing grafana and a quick tour (4:50)
Using default dashboards to monitor kubernetes cluster (4:48)
Importing custom grafana dashboards (7:28)
Setting up cool monitoring console with a playlist (6:03)
UDBC Summary (1:07)
Day 21 Agenda - TODO
Service Mesh with Istio
Deploying Istio Cluster with Google Kubernetes Engine (7:43)
Setting up Google Cloud SDK (5:35)
Examine (5:35)
Validating Istio Telemetry Plugin (4:16)
Overview of Bookinfo app (4:54)
Deploying canary releases with intelligent routing (7:33)
Testing application resiliency by injecting a fault (9:37)
Zero downtime deployments with weight based routing (5:53)
Traffic Routing and Deployment - Kubernetes vs Istio (15:29)
Cleaning Up (2:18)
Day 23 Agenda - TODO
Creating playbooks for catalogue app
Download the project spec in PDF format
Watch the video to understand concept
Learn by implementing it yourself.
Download
Deploy Catalogue and Carts Applications with Ansible.pdf