
Explore how devops enables automated end-to-end workflows through continuous development, testing, integration, deployment, and monitoring, emphasizing collaboration, culture change, and tools like git, jenkins, docker, kubernetes.
You can create lab either on GCP or AWS. Here is the video for GCP lab setup and AWS lab setup document.
Explain how a version control system lets many developers work simultaneously, maintains a detailed log of file changes with time and author, resolves conflicts, and preserves version history and backups.
Initialize a local Git repository, create and track files, stage changes, and commit them to the local repository, clarifying the relationship between the working directory, staging area, and history.
Explore how git reset removes staged changes from the staging area, reset a file, and restage it with git add, while contrasting with git checkout and cached removals.
Explore how git reset --mixed discards commits and unstages changes, affecting the working directory and staging area, with recovery via git checkout.
Learn to create and merge git branches by copying master, working on features in a separate branch, and merging back to master while tracking changes and conflicts.
Learn to stash unfinished work in git, temporarily shelving staged or unstaged changes to switch contexts and later reapply them with stash apply.
Learn how to use git stash apply to reapply changes to the working directory, view stashes, and apply them to other branches.
Learn how to perform a partial Git stash by selecting a single unstaged file and stashing only that file, then verify with Git status and stash list.
Create branches on GitHub, open pull requests, and collaborate through reviews before merging into the master branch.
Clone a remote repository with git to create a local copy, then git pull remote changes to update your local files and keep the project in sync.
Explore git fetch, git pull, and git clone to manage remote changes. Fetch shows updates without merging; pull downloads and merges, while clone copies the repository for the first time.
Explore the pom.xml in Maven, detailing groupId, artifactId, packaging, plugins, and dependencies, and learn how Maven fetches plugins and dependencies from the central repository to a local cache.
Clone the public GitHub project Game of Life, install Maven, and compile the Java source into executable code by resolving dependencies and plugins, then package a deployable artifact.
Learn how continuous integration automates code builds, tests, and deployments with tools like Jenkins, enabling early bug detection, rapid feedback, and reduced manual errors.
Set up the Java prerequisites, install Jenkins, start the service, unlock with the initial password, install essential plugins, and create the admin user for your first Jenkins dashboard.
Configure Jenkins email notifications by setting up SMTP, using Gmail, and customizing subject and content; select recipients or groups and trigger alerts on every job status, including console output links.
Create a Jenkins Maven compile job that clones the GitHub project, installs Maven and Java automatically, and runs Maven goals to compile and package the code.
Learn how to create a Maven unit test job in Jenkins, run JUnit tests, generate and publish JUnit reports, and view test results and trends in the Jenkins workspace.
Set up a Windows slave for a Jenkins master, configure a remote workspace, launch the agent via java web start, and run a remote build with git and Marvin.
Create pipelines as code with a groovy-based pipeline DSL in Jenkins. Declarative pipelines define stages like checkout, compile, and package, running on labeled agents.
Docker is a containerization technology launched in 2013 as an open source Docker engine that separates application dependencies from infrastructure, enabling running containers on Linux and later Windows.
Explore the docker container lifecycle, including listing images and containers, starting and stopping containers, attaching and detaching from a container, and removing containers and images.
Learn to stop a running Docker container using the stop command, and verify status by listing containers to distinguish running from exited ones.
Explore how to stop and start a running container using available commands, and verify active containers remain up until you stop them again.
Learn how to remove docker images only after deleting containers that reference them, since an image cannot be removed while a container uses it.
Delete a Docker volume by using the remove command, remove unused volumes, and understand that a volume in use by a container cannot be deleted until the container is removed.
learn to create your own docker images by writing a dockerfile, use a base image like ubuntu, install packages with run, and build with docker build.
Publish container ports in Docker to expose web services, map container port 80 to a host port with the -p flag, and verify access from the host.
Bind and forward Docker container ports to the host using port forwarding, publishing container port 80 to a host port, and verify access via the host IP.
Drive understanding of Docker Swarm as a container orchestration and clustering tool that manages multiple containers across a cluster of Docker hosts, enabling high availability, load balancing, and scaling.
Use Docker machine to provision Docker hosts and configure a swarm cluster, automating Docker installation and setup to replace manual, error-prone steps.
Create docker hosts on Google Cloud using docker-machine from a Linux system by authenticating with gcloud and provisioning VM instances, then install and configure Docker on each host.
Explore how Kubernetes orchestrates containers across a cluster of nodes, providing scheduling, high availability, scaling, rolling updates, and automatic rollbacks with load balancing and health checks.
Learn how Amazon EKS provides a managed Kubernetes control plane with high availability across multiple availability zones, automated upgrades, health checks, and network policy integration with AWS services.
Learn to set up a Kubernetes cluster on Amazon EKS with a managed control plane, install five essential tools, and create a scalable us-west node group.
Create a load balancer service by switching to a target port, expose the app via a single public ip and dns, and learn the cost of multiple load balancers.
Perform a rolling update to upgrade a Kubernetes deployment with a new Docker image, creating a new replica set while rolling down the old ones to achieve zero downtime.
Delete the cluster and all associated resources, including the control plane, load balancers, and services, verify removal in the console, and ensure no remaining resources incur charges.
This course helps to understand the devops methodology in detail and help them learn the devops tools and gain handson experience on the tools thereby :
Apply DevOps strategies to your projects
Understand Continuous Delivery
Automate the deployment process
Create CI/CD pipeline by integrating the tools
Learn Managing application for high availability,Load balancing, scaling and deployment strategies for no downtime.
continuous integration Jenkins
version control system GIT
containerization using DOCKER
Build a highly available and fully scalable application with Docker Swarm
container orchestrator KUBERNETES
Introduction to Kubernetes
Kubernetes Architecture
Spinning up a Kubernetes Cluster on AWS
Exploring your Cluster
Understanding YAML configuration in kubernetes
Creating a pod object in kubernetes
Creating a Deployment in Kubernetes using YAML Preview
Creating a Service Object in Kubernetes
Creating Headless service, Node Port, Load balancer Services
Creating secrets and configmaps
Working with daemon sets
Deploying database application using statefulsets
Working with Persistent Volumes, Persistent volume claims
Using Rolling Updates in Kubernetes
Blue Green Deployments in Kubernetes
Canary Deployment in Kubernetes
Helm Package manager for Kubernetes
Deploying Kubernetes Dashboard with Helm
Installing Prometheus and grafana on kubernetes cluster with Helm
Monitoring Kubernetes cluster with Prometheus
Deploying micro service application using statefulsets and Persistent volumes
KUBERNETES ON AWS - EKS
Create Kubernetes cluster on AWS with EKS
Eksctl command line tool
Configuring Auto Scaling EKS cluster on AWS
Deploy application on EKS cluster from Jenkins
Complete CI/CD pipeline on EKS cluster on AWS from Docker hub
Complete CI/CD pipeline on EKS cluster on AWS from ECR
build automation tool MAVEN