
Design and deploy a production-grade DevOps workflow on AWS, building a real-world five-microservice retail store with Docker, Terraform, Kubernetes, EKS, and AWS data plane services.
Explore retail store microservices—catalog, cart, checkout, order, and UI—built with Go, Java, Node, and Spring Boot. See how they use MySQL, DynamoDB, PostgreSQL, Redis, and RabbitMQ to power the architecture.
Explore the essential docker concepts powering a retail store microservices application, including docker workflow, builds, files, multi-stage builds, and docker compose to run and orchestrate multiple services.
Launch an AWS EC2 instance, set up an SSH key pair, and install Docker, then run and manage containers using Docker commands and a hello world test.
Explains docker terminology in a real-world devops project by building a UI service image, running it as a container, and pushing and pulling via docker hub.
Pull retail store sample ui docker image from docker hub or github packages, run it as a container, map port 8080 to 8888, and access it on the ec2 instance.
Learn to manage docker containers with practical commands, including docker ps, docker ps -a, docker exec, docker stop, docker start, docker rm, and docker rmi.
Build a Docker image from the UI service source using the Docker file and multi-stage builds, test in a browser, and push the 2.0.0 image to Docker Hub.
Demonstrates building a docker image from the retail store sample UI and tagging it 2.0.0, then pushing it to Docker Hub after signing up and logging in.
Run the Docker image, access both v1 and v2 in a browser via ports 8888 and 8889, then tag the image and push to Docker Hub.
Explore building a production-grade Docker image for a Java Spring Boot microservice with multi-stage builds, securing with a non-root user, using a .dockerignore and layer caching, and pruning Docker artifacts.
Explore Dockerfile instructions: from, run, volume, workdir, copy, env, user, expose, entrypoint. Learn how these directives shape a Java Spring Boot app during build and run.
Learn multi-stage Docker builds to produce a lightweight, production-ready Spring Boot image. Separate build and package stages, run as non-root, and expose port 8080.
Learn how Docker ignore and Docker build cache optimize multi-stage builds, use builder prune, system prune, and no-cache options for efficient, smaller images.
Discover how docker compose simplifies deploying a multi-container microservices app by declaring services in a yaml file, setting dependencies and health checks, and starting all containers with one command.
Review the carts db service in docker compose, detailing security caps, health checks, and a local DynamoDB setup within the default network of a multi-container retail app.
Review the cart service, a spring boot microservice for shopping cart operations that uses DynamoDB local and explains docker compose setup.
Review docker compose across catalog db, catalog service, checkout, orders, rabbitmq, and ui, detailing environment variables, health checks, dependencies, hostnames, and port mappings.
Install docker compose on an EC2 instance and deploy the retail store with the docker compose YAML, run in detached mode, verify health, topology, and access at port 8888.
Learn to manage docker compose deployments: monitor health, view containers and ports, start or stop services, inspect logs, exec inside containers, and verify performance with stats and top.
Explore applying a configuration change to a single docker compose service using force recreate, with an example of setting retail ui theme to green and verifying the update.
Learn how Docker buildx enables you to build multi-platform images for amd64 and arm64 in a single build, solving cross-architecture deployment issues.
Build and push multi-platform docker images using docker buildx, qemu binfmt, and a multiarch builder; verify by running amd64 and arm64 containers of the retail UI app from Docker Hub.
Create an arm64 vm, install and start docker, and test a multi-arch image to verify arm64 compatibility and resolve amd64 platform errors by using the arm64 tag.
Update the home.html to build a v2 docker image and tag it 2.0.0. Build and push multi-arch images (amd64 and arm64) with cache, then verify the v2 UI.
Discover why Terraform replaces manual provisioning and scripts by providing consistent, drift-free infrastructure with an execution plan, enabling multi-cloud deployment through reusable modules and providers.
Install Terraform CLI and AWS CLI with access keys, use VS Code with the Terraform extension for autocomplete, and code on a macOS, Windows, or Linux desktop rather than EC2.
Install and configure terraform tools on macOS by setting up VS Code with the HashiCorp Terraform extension, using brew for Terraform, and configuring AWS CLI with access keys.
Install and configure Terraform and AWS CLI on Windows. Set up VS Code integration, add Terraform binary to PATH, and verify the setup.
Configure an Amazon Linux EC2 instance to install the Terraform CLI and AWS CLI, add the HashiCorp repo, verify versions, and run aws configure with access keys.
Write terraform configs with provider, resource, and output blocks in .tf files in a working directory to create an AWS S3 bucket, then run init, validate, plan, apply, and destroy.
Learn about Terraform blocks and top-level blocks, including the Terraform block, required version, and required providers for AWS, plus using a random provider to ensure unique S3 bucket names.
Explore the provider block to configure the AWS provider with region us east one, and manage authentication via credentials, environment variables, or shared credential files in Terraform.
Define a Terraform AWS S3 bucket resource with a local name and tags, using a random string for a unique bucket name, and learn to reference its id or result.
Learn how to define a Terraform outputs block to print the S3 bucket name and other resource details after a successful apply, and reference these values in other resources.
initialize Terraform with init to download provider plugins and set up backend, then validate for syntax errors, while dot terraform log ensures fixed provider versions for plan, apply, and destroy.
Learn how to use Terraform plan, apply, output, show, and destroy to preview, apply, and verify AWS resources; save and inspect plans with -out, show, and -json, and perform destroy.
Introduces VPC architecture with public and private subnets, NAT gateway, and internet gateway; explains Terraform-based deployment, CIDR 10.0.0.0/16, and secure outbound internet access via NAT.
Define the terraform project structure for vpc and introduce input variables such as aws_region, environment, vpc_cidr_block, tags, and subnet bits to make configurations reusable and environment agnostic.
Fetch available AWS availability zones with a data block and the AWS availability zones data source. Then use a locals block and slice function to avoid hard coding.
Define public and private subnets using the cidrsubnet function on a 10.0.0.0/16 vpc, then apply for loops with local values to generate non overlapping /24 subnets.
Create an aws vpc in terraform with public and private subnets, internet gateway, nat gateway with elastic ip, route tables, and tags with merge; enable dns and explore lifecycle options.
Learn to create multiple aws subnets with a single terraform subnet resource using for each, mapping availability zones to public and private subnets for scalable networking.
Configure elastic IP and NAT gateway in a VPC with Terraform, assign IP to NAT gateway, select public subnets via values, and enforce create order after internet gateway using depends_on.
Create a public route table and associate it with three subnets via for_each, linking to the internet gateway; also define a private route table using a NAT gateway.
Learn to generate VPC outputs by capturing the VPC ID, public and private subnet IDs, and AZ-to-subnet maps with templates and for loops.
Execute terraform init, validate, plan, and apply to provision 18 aws vpc resources including subnets, nat gateway, internet gateway, and route tables in us-east-1.
Understand the Terraform local state file as single source of truth that tracks resources and IDs, and learn why not to edit it while preparing for remote state with S3.
Explore Terraform drift, learn how manual changes outside Terraform are overwritten by apply, and use Terraform show and Terraform state commands to inspect and manage your AWS resources.
Destroy your 0603 vpc resources managed by Terraform in aws cloud using terraform destroy, after reviewing the execution plan. Confirm deletion of all 18 resources to complete the cleanup.
COURSE MODULES - 55+ HANDS-ON DEMOS
SECTION 1: PROJECT OVERVIEW
Module-01: Complete Retail Store Microservices Architecture
- Full-stack e-commerce application with 5 microservices
- Multi-language stack (Java Spring Boot, Node.js, Go)
- Production-grade architecture patterns
SECTION 2: DOCKER COMMANDS (3 DEMOS)
Module-02: Docker Fundamentals and Essential Commands
1. EC2 Docker Setup - Installing Docker on AWS Amazon Linux 2023
2. Pull from Docker Hub and Run Containers
3. Build Docker Images and Push to DockerHub
- Docker CLI: pull, run, exec, stop, start, rm, rmi, logs, inspect
- Container lifecycle management
- Image registry operations
SECTION 3: DOCKERFILE MASTERY (1 COMPREHENSIVE DEMO)
Module-03: Building Custom Docker Images
- Dockerfile Instructions: FROM, LABEL, COPY, ADD, ARG, ENV, RUN, EXPOSE, CMD, ENTRYPOINT, WORKDIR, HEALTHCHECK, USER
- Security best practices
- Multi-stage builds for optimization
- Image layer caching strategies
SECTION 4: DOCKER COMPOSE (1 COMPREHENSIVE DEMO)
Module-04: Multi-Container Application Orchestration
- Docker Compose basics with real microservices
- Named volumes, networks, and health checks
- Scaling services with DEPLOY
- Startup order with dependencies and conditions
- Profiles, links, and aliases
SECTION 5: DOCKER BUILDKIT (1 COMPREHENSIVE DEMO)
Module-05: Advanced Docker Builds
- Docker BuildKit and buildx CLI
- Building multi-platform images (AMD64, ARM64)
- Multi-stage builds for production optimization
SECTION 6: TERRAFORM BASICS (7 DEMOS)
Module-06: Infrastructure as Code Fundamentals
1. Terraform Tools Installation (AWS CLI, Terraform, kubectl)
2. Terraform Foundation - Providers, Resources, Variables, Outputs
3. Build Production VPC with Public/Private Subnets
4. VPC with tfvars - Variable Management
5. Remote Backend with S3 and DynamoDB State Locking
6. VPC with Remote Backend - Production Setup
7. VPC Terraform Module - Creating Reusable Infrastructure
- Key Concepts: State management, variable precedence, data sources, modules
SECTION 7: TERRAFORM EKS CLUSTER (1 COMPREHENSIVE DEMO)
Module-07: Complete AWS EKS Cluster with Terraform
- EKS cluster provisioning
- EKS node groups configuration
- IAM roles for EKS cluster and worker nodes
- kubectl and kubeconfig configuration
- Cluster authentication and authorization
SECTION 8: KUBERNETES FOUNDATION (5 DEMOS)
Module-08: Kubernetes Core Concepts
1. Kubernetes Pods - Creating and Managing
2. Kubernetes Deployments - Declarative Updates
3. Kubernetes Services - ClusterIP
4. Kubernetes ConfigMaps - Environment Variables and Configuration
5. Kubernetes StatefulSets - Stateful Applications
- Additional Topics: Labels, selectors, annotations, liveness probes, readiness probes, resource requests/limits
SECTION 9: KUBERNETES SECRETS (4 DEMOS)
Module-09: Secrets Management
1. Kubernetes Secrets Basics
2. EKS Pod Identity Agent Setup
3. AWS Secrets Manager Driver Installation
4. AWS Secrets Manager Catalog Service Integration
- External Secrets Operator
- Secrets CSI Driver
- Mounting secrets as files and environment variables
SECTION 10: KUBERNETES PERSISTENT STORAGE (3 DEMOS)
Module-10: Storage and Databases
1. AWS EBS CSI Driver Installation
2. EBS CSI Integration with Catalog Service
3. AWS RDS MySQL Production Database Integration
- PersistentVolumes (PV) and PersistentVolumeClaims (PVC)
- StorageClasses and dynamic provisioning
- StatefulSets with persistent storage
SECTION 11: KUBERNETES INGRESS (3 DEMOS)
Module-11: Load Balancing and Ingress
1. AWS Load Balancer Controller Installation
2. Kubernetes Ingress with HTTP
3. Kubernetes Ingress with HTTPS/SSL
- Application Load Balancer (ALB) configuration
- SSL/TLS termination with AWS Certificate Manager
- Health checks and target group configuration
SECTION 12: HELM PACKAGE MANAGER (5 DEMOS)
Module-12: Kubernetes Application Management
1. Helm Basics - Installation and Fundamentals
2. Helm Custom Values - Customization and Overrides
3. Helm Chart Exploration - Understanding Chart Structure
4. Helm Package and Publish - Creating and Publishing Charts
5. Helm Retail Store Deployment - Complete Application
SECTION 13: TERRAFORM EKS CLUSTER WITH ADD-ONS (1 COMPREHENSIVE DEMO)
Module-13: Production-Ready EKS with Add-Ons
- AWS Load Balancer Controller Add-On
- EBS CSI Driver Add-On
- Pod Identity Agent Add-On
- AWS Load Balancer Controller
- Secret Store CSI Driver
- AWS Secrets and Configuration Provider (ASCP)
SECTION 14: RETAIL STORE MICROSERVICES - AWS DATA PLANE (2 DEMOS)
Module-14: Real-World Microservices Deployment
1. Retail Store AWS Data Plane Setup
- AWS RDS for MySQL (Catalog Service Relational database)
- Amazon ElastiCache for Redis (Checkout Service cache)
- Amazon SQS for Messaging (Orders Service Message broker)
- Amazon DynamoDB (Cards Service No SQL Database)
- Amazon RDS for PostgreSQL (Orders Service Relational Database)
- Terraform automation for AWS services
2. Microservices with AWS Data Plane Integration
- UI Service (Spring Boot)
- Carts Service (Spring Boot + DynamoDB)
- Catalog Service (Go + Amazon MySQL/RDS)
- Orders Service (Spring Boot + MySQL/RDS)
- Checkout Service (Node.js + Redis + SQS)
- End-to-end integration and testing
SECTION 15: TERRAFORM EKS WITH EXTERNAL DNS (1 COMPREHENSIVE DEMO)
Module-15: Automated DNS Management
- External DNS Add-On installation with Terraform
- Automatic DNS record creation in Route53
- Custom domain configuration
- Integration with AWS Load Balancer Controller
SECTION 16: RETAIL STORE WITH EXTERNAL DNS (1 DEMO)
Module-16: Production DNS Setup
- Retail Store application with custom domains
- SSL certificate automation with ACM
- Production DNS management
SECTION 17: AUTOSCALING - KARPENTER (4 DEMOS)
Module-17: Pod-Driven Node Autoscaling
1. Karpenter Installation with Terraform
- Architecture deep dive
- IAM roles and permissions
- EventBridge and SQS for spot interruption handling
2. Karpenter On-Demand Instances
- NodePools and EC2NodeClass configuration
- Right-sizing nodes for workloads
- Node consolidation
3. Karpenter Spot Instances
- 70% cost savings with Spot
- Spot NodePool configuration
- Instance diversification strategy
4. Karpenter Spot Interruption Handling
- Understanding 2-minute Spot interruption warning
- EventBridge → SQS → Karpenter flow
- Graceful pod eviction and rescheduling
- PodDisruptionBudgets for zero downtime
- Production-ready Spot strategy
SECTION 18: AUTOSCALING - HPA (1 COMPREHENSIVE DEMO)
Module-18: Horizontal Pod Autoscaler
- Metrics Server installation
- CPU-based and memory-based autoscaling
- HPA + Karpenter integration (HPA scales pods, Karpenter scales nodes)
SECTION 19: HELM RETAIL STORE WITH AWS DATA PLANE (1 COMPREHENSIVE DEMO)
Module-19: Complete Helm Deployment
- Deploying full retail store with Helm
- Separate charts for each microservice
- Managing AWS data plane services with Helm
- Environment-specific values
- Chart versioning and release management
SECTION 20: OBSERVABILITY - OPENTELEMETRY (4 DEMOS)"
Module-20: Production Observability Stack
1. EKS Environment with ADOT (AWS Distro for OpenTelemetry)
- ADOT Operator installation
- OTEL Collector architecture
2. OpenTelemetry Traces with AWS X-Ray
- Auto-instrumentation for Java Spring Boot
- Auto-instrumentation for Node.js
- Trace sampling and filtering
- Cost optimization (85% reduction filtering health checks)
- Service maps and trace analysis
3. OpenTelemetry Logs with CloudWatch
- Log aggregation and analysis
- CloudWatch Insights queries
4. OpenTelemetry Metrics with AMP & AMG
- Amazon Managed Prometheus setup
- Amazon Managed Grafana setup
- Custom dashboards creation
- Application metrics and business KPIs
SECTION 21: DEVOPS CI/CD PIPELINE (4 DEMOS)
Module-21: Complete CI/CD with GitOps
1. CI with GitHub Actions and AWS ECR
- GitHub Actions workflow fundamentals
- Building Docker images
- OIDC authentication (No access keys!)
- Semantic versioning with Git tags
2. ArgoCD Installation
- Installing ArgoCD on EKS
- ArgoCD architecture and components
- GitOps principles
3. CD with ArgoCD and Helm
- Creating ArgoCD applications
- Helm integration
- Auto-sync and self-heal
4. Complete CI/CD Flow Testing
- Code commit → Build → Push to ECR → Update Helm values → ArgoCD deploys
- End-to-end demonstration
- Rollback strategies
WHY THIS COURSE STANDS OUT
1. Production-First Approach: Every concept taught with real-world patterns, not just theory
2. Cost Optimization Built-In: Learn to save 70% on AWS costs with Spot instances
3. Modern Tools: Karpenter, OpenTelemetry, ArgoCD (not outdated tech)
4. Multi-Language Support: Java, Node.js, and Go microservices
5. Complete Project: 5-service retail store, not isolated demos
6. 55+ Hands-On Demos: Learn by doing, not watching slides
7. Zero-Downtime Patterns: PodDisruptionBudgets, Spot interruption handling
8. Monthly and Quarterly Updates included as AWS/K8s evolve
EACH OF MY COURSES COMES WITH
1. Hands-On Practical Demos - Step-by-step implementations
2. Real-World Project - Production-grade retail store microservices
3. Architecture Diagrams - Visual explanations for every concept (NO OR LESS TEXT - EVERYTHING VISUAL)
4. Complete Documentation - Detailed GitHub Repository with README files for each demo
5. Code Repository - All Terraform, Kubernetes, Docker files included in course GitHub Repository
6. Troubleshooting Guides - Common issues and solutions
7. Production Best Practices - Enterprise-grade patterns
8. Friendly Support - Active Q&A section
9. No questions asked 30-Day Money-Back Guarantee by Udemy (Udemy policy)