Skip to content

Blue-Green Deployment on Amazon EKS. Advantage to deploy the specified Version on to the desired environment using Jenkins.

Notifications You must be signed in to change notification settings

ASISHGOUDA/Blue-Green-EKS-Deployment

Repository files navigation

3-Tier Application Blue-Green Deployment on AWS EKS: A Step-by-Step Guide to Zero-Downtime Releases

🚀 Project Description

This project showcases how to achieve Blue-Green Deployment on AWS using Kubernetes (EKS) to enable zero-downtime deployments. Leveraging automation with Jenkins, the CI/CD pipeline handles seamless application updates, directing traffic between environments for smooth transitions.bg_arch


Overview

🛠️ Tools Used:

  • AWS EKS: Managed Kubernetes cluster on AWS, providing a scalable and highly available infrastructure.
  • Terraform: Infrastructure as Code (IaC) tool for provisioning and managing AWS resources.
  • Jenkins: CI/CD automation server to manage the deployment pipeline.
  • AWS Load Balancer Controller: Manages traffic routing and load balancing between Blue and Green environments.

🔑 Key Concepts:

  • Blue-Green Deployment: A deployment strategy that involves two identical environments (Blue and Green) to transition from the current version to the new one with minimal downtime.
  • CI/CD Pipeline: Automates the build, test, and deployment stages, reducing manual work and ensuring reliability.
  • Zero-Downtime Deployment: Enables uninterrupted service availability during application updates.

📝 Pipeline Stages

  1. Build:

    • Compiles the application and creates a Docker image.
    • Stores the image in a container registry (e.g., Amazon ECR).
  2. Test:

    • Runs automated tests to ensure application reliability and correctness.
  3. Deploy:

    • Deploys the Docker image to both Blue and Green environments within the Kubernetes cluster.
    • Uses Kubernetes manifests and Helm charts to configure each environment.
  4. Switch Traffic:

    • Routes traffic between Blue and Green environments using AWS Load Balancer Controller.
    • Ensures traffic is directed to the new environment after successful deployment, without affecting users.

🎯 Outcome

  • Zero-Downtime Deployments: Ensures seamless transitions for end-users with uninterrupted service availability.
  • Automated Release Management: Speeds up deployment cycles and minimizes manual intervention.
  • Reliable Infrastructure: Uses best practices for Blue-Green deployment and CI/CD to maintain a robust and scalable system.

🔗 Dive into this project to gain a deep understanding of Blue-Green Deployment strategies and CI/CD automation on AWS EKS!

About

Blue-Green Deployment on Amazon EKS. Advantage to deploy the specified Version on to the desired environment using Jenkins.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published