Amazon EKS Deployment Track

Objective

Deploy the containerized microservices to Amazon Elastic Kubernetes Service (EKS), demonstrating your skills in Kubernetes, containerization, and AWS services.

Technical Requirements

  1. Infrastructure as Code (Terraform)

    • Provision a VPC with public and private subnets
    • Set up an EKS cluster
    • Configure necessary IAM roles and security groups
    • Set up an ECR repository for your container images
  2. Containerization

    • Create a Dockerfile for the microservices
    • Build and push the Docker image to ECR
  3. Kubernetes

    • Create Kubernetes deployment manifests
    • Set up a service and ingress for your applications
  4. CI/CD (GitHub Actions)

    • Implement a workflow for Terraform (lint, plan, apply)
    • Create a workflow for building and pushing Docker images
    • Implement a workflow for deploying to EKS
  5. Monitoring and Logging

    • Set up CloudWatch for cluster and application logging
    • (Bonus) Implement Prometheus and Grafana for monitoring

Deliverables

  1. GitHub repository containing:

    • Terraform code
    • Dockerfiles
    • Kubernetes manifests
    • GitHub Actions workflows
    • Application code (provided microservices)
  2. Documentation:

    • Architecture diagram
    • Setup and deployment instructions
    • Monitoring and logging overview

Evaluation Criteria

  1. EKS cluster configuration and security
  2. Kubernetes resource management and best practices
  3. CI/CD pipeline efficiency and reliability
  4. IaC quality and modularity
  5. Containerization best practices
  6. Monitoring and logging effectiveness
  7. Documentation clarity and completeness

Back to main page