
Build and automate a complete DevOps pipeline with a web app, database, Selenium tests, GitHub code, Docker images, and Kubernetes orchestration.
Set up a python virtual environment to isolate project dependencies, install flask and other libraries, and manage them with a shared requirements file for a reproducible web app setup.
Build your first Flask web app by importing Flask, creating an app instance, and routing a function to return content, then render HTML templates with render_template.
Project part 1 shows how to enhance a flask app with sql alchemy, define a checklist model, initialize the database, and pass variables from python to html using request and redirect.
Update the web page header and title, create a text input form with a submit button to pass data to the database via post request and render HTML templates.
Add and delete checklist items in a single-page app by implementing database insert and commit actions, managing sessions, and rendering the list of items with id and item content.
Implement a delete function for each checklist item by passing the task id as the primary key and filtering by id, using an anchor tag to trigger deletion.
Learn to expose your localhost to the internet with ngrok, creating secure tunnels to your dev server via a subdomain for remote access and team feedback.
Learn unit and functional testing with pytest in a Python environment, including installing pytest, writing tests for 200 OK responses, handling 404 errors, and validating page content.
Master git workflow: initialize with git init, stage with git add, and commit with git commit. Push to a remote using origin, then pull changes into your local directory.
Discover git components, including the .git folder with log and history, the readme, and the .gitignore file, and learn to initialize a repo and explore the working directory.
Discover git branch types such as master, feature, release, and hotfix, and learn how to keep the master stable while creating and merging branches for production-ready releases and CI/CD.
Explore essential git commands for source code management, including git add, commit, status, and push to a GitHub repository, using git bash and ignore rules to manage files.
Set up a GitHub actions python workflow to implement continuous integration and deployment, automate tests, install dependencies like flask, and verify a python web app.
Enhance the GitHub Actions workflow by adding multi-OS runners (Ubuntu, Windows latest, macOS latest) and a Python version matrix to spawn nine jobs across three platforms.
Learn to deploy a web application on Heroku, a container-based platform as a service, using Git, GitHub, or container registry, with Dockerfile setup and push troubleshooting.
Explore how Docker packages an application into an image and runs it as a container on any platform. See how a Dockerfile provides commands to assemble that image for production.
Discover why Docker leads the IT sector with rising demand and popularity, and how lightweight, portable containers outpace virtualization to boost career growth in DevOps.
Discover how docker containers and docker images simplify deployment by packaging a Python application with its libraries and dependencies, and push the image to a public repository using GitHub Actions.
Automate building a docker image on every code change using a GitHub action, securely manage secrets, and update the workflow for a Python web app in an AWS DevOps pipeline.
Learn Docker as the popular container technology and how Kubernetes orchestrates container workloads and services to streamline deployment, scaling, and production readiness.
Set up a single-node kubernetes cluster with Minikube on your laptop, choose drivers like Hyper-V or VirtualBox, and verify the cluster is running.
Explore how pods package containers within a cluster node, enable resource sharing and isolation, and how services expose pods via clusterIP, ingress, or load balancer for external access.
Discover the Kubernetes architecture, from the control plane components—kube-apiserver, etcd, kube-controller-manager, and cloud-controller-manager—to node agents like kubelet and kube-proxy, and the container runtime interface with runtimes like Docker.
Create your first pod in Kubernetes using a YAML file with labels, annotations, and a container spec including image, then deploy it.
Learn to deploy reliable apps using a replica set with selector labels, yaml templates, and self-healing to maintain the desired pod count.
Use a deployment to perform rolling updates that replace old replicas with new ones without downtime, enabling quick updates and easy rollbacks, and scale by adjusting replica counts.
Learn to set up Selenium with ChromeDriver for automated web testing, driving tasks like add and delete, and perform cross-browser checks to support agile DevOps pipelines.
What is Devops Pipeline?
A Devops pipeline is set of automated processes and tools that the development (Dev) and operations (Ops) teams implement to build, test, and deploy software faster and easier.
How do you make a DevOps pipeline?
Plan: It is the first and most important step in Devops Pipeline where you have to decide your product's goals and determining the resources necessary to achieve those goals.
Code: It comes after where you will do code development and code review of your product
Build: In this step you will build the source code into one desired format, compile, test and deploy in a particular place of the infrastructure.
CI/CD: CI/CD stands for continuous integration (CI) and delivery (CD) where it will check and verify the source code from Source Code Management and build it.
Test: Automatic tests ensure that no bugs will be implemented in production.
Release: The application code has passed the testing phase and now it is ready to be deployed.
Deploy: In this step, OPs team will deploy application from staging stage to production stage
Operate and Monitor: Here OPs team will operate and monitor the application and take action in any kind of failure.
What you will learn in this course?
In this course, you will learn about the tools which will complete the Devops pipeline and make robust application for you.
Git:
What is Git in Devops?
Git is an open-source and distributed version control system that lets you manage and keep track of your source code history.
Github:
What is Github in Devops?
Github is git repository hosting service used for code sharing, bug tracking, feature request and much more.
What is difference between git and Github?
Git is a version control system that lets you manage and keep track of your source code history. GitHub is a cloud-based hosting service that lets you manage Git repositories.
What are Tools and Libraries used for creating application in this course?
PyCharm is an integrated development environment (IDE) for python programing language.
Flask is a python web framework.
HTML is the standard markup language for Web pages.
CSS is a style sheet language use to style a HTML document.
SQLAlchemy is an open-source SQL toolkit and object-relational mapper which gives full power and flexibility of SQL.
Selenium is used to automate web browser interaction.
Pytest is unit testing framework that allows users to write test codes.
Ngrok allows to expose a web server running on your local machine to the internet.
Github Actions:
What is Github Action in Devops?
Github Action enables you to include Continues Integration (CI) and continuous deployment (CD) capabilities and many other features directly in your repository.
Docker:
What is Docker in Devops?
Docker is an open source containerization platform enables developers to package applications into containers.
Why use Docker?
Docker solved the 'it works on my machine' headache by making applications platform independent. With Docker you can simply build, ship and run your application
Docker Hub:
What is Docker Hub?
Docker Hub is a cloud-based repository for finding and sharing container images with your team.
What are alternatives of Docker Hub?
AWS ECR, Azure Container Registry, Quay are the alternatives of Docker Hub.
Kubernetes:
What is Kubernetes in Devops?
Kubernetes is an open-source container orchestration for automating deployment, scaling, and management of containerized applications.
What is unique about this course?
This course is one stop shop where you will learn web development, continuous integration, continuous deployment, containerization, writing neat and quality code, devops concepts and much more with python programing language.
This course is fully based on pragmatic approach without any kind of bogus content. A short, precise and practical oriented course for IT pros just like you.