This device is not compatible.

PROJECT


Deploying a Scalable Web App on gcloud via YAML Configurations

In this project, we’ll deploy a scalable Django application on the gcloud cluster using YAML configurations. The application will be accessible through a global IP address and will provide zero downtime and auto-repair.

Deploying a Scalable Web App on gcloud via YAML Configurations

You will learn to:

Write YAML configurations for different types of application deployment.

Write YAML files for exposing NodePort and Ingress services against deployment.

Create zero-downtime deployment using YAML configuration and rolling updates using YAML files.

Enable horizontal pod autoscaling and auto-repair for application.

Skills

DevOps

Cloud Deployment

Auto Scaling Applications

Prerequisites

GCP paid account

Basic understanding of YAML files

Basic understanding of Kubernetes

Technologies

YAML logo

YAML

kubectl logo

kubectl

Kubernetes

GCLoud CLI logo

gCloud CLI

Project Description

Due to its simplicity and readability, YAML is the preferred standard for writing configurations for Kubernetes by DevOps developers and system administrators. It’s a de facto standard for writing configurations for Kubernetes. It consists of key-value pairs organized as a list where the hierarchy is established using indentation.

This project will deploy a simple Django application on the Google Cloud Platform through gcloud, Kubernetes CLI, and YAML configurations. The project incorporates a range of tasks to facilitate the deployment and maintenance of applications, ensuring seamless and high-performing experiences for end users, and also shows how to add powerful capabilities like zero-downtime deployments, rolling updates, and rollback procedures through YAML configuration files. It establishes a robust version tracking system to monitor changes, updates, and modifications to applications. It also integrates horizontal pod autoscaling (HPA) via YAML, automatically adjusting resources based on application demand. Additionally, services are exposed using NodePort and load balancer in the YAML configuration to ensure that applications remain accessible to users, even as they scale and evolve. The project also incorporates YAML-based ReplicaSets and automatic repair mechanisms to maintain application reliability.

Project Tasks

1

Introduction

Task 0: Getting Started

Task 1: Containerize the Application

Task 2: Authenticate with gcloud CLI

Task 3: Deploy and Connect with a GKE Cluster

2

Application and Service Deployment

Task 4: Deploy an Application Using YAML Configuration

Task 5: Create a NodePort Service

Task 6: Connect with the Application

Task 7: Create a ReplicaSet

Task 8: Perform Resource Self-Healing

3

Zero-Downtime Deployments

Task 9: Configure Zero-Downtime Deployment

Task 10: Perform Rolling Updates

Task 11: Roll Back Updates

Task 12: Roll Back a Failed Deployment

4

Horizontal Pod Autoscaling

Task 13: Horizontal Pod Autoscaling Using YAML Manifest

Task 14: Define the HPA controller

Task 15: Perform Load Testing

Task 16: Clean Up Resources

Congratulations!