Skip to content

About

No description or website provided.

Topics

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Platform Engineering on EKS — Developer Guide

Who this is for: Anyone new to DevOps who wants to understand what this platform does, why every piece exists, and how they work together.


What Problem Does This Solve?

Without a platform, every developer team must:

  • Learn Kubernetes, Terraform, AWS, networking, IAM, TLS certificates...
  • Wait days/weeks for infrastructure tickets
  • Set up CI/CD pipelines from scratch
  • Configure monitoring themselves
  • Do all this again for every new service

This platform eliminates that. A developer fills out a form in a web portal and gets a fully production-ready service running in minutes — with CI/CD, monitoring, security, and a path to production already built in.


Architecture Overview

┌─────────────────────────────────────────────────────────────────┐
│                    DEVELOPER EXPERIENCE                          │
│                                                                  │
│   Backstage Portal ──── "I want a new service"                  │
│   GitLab         ──── "Here is my code"                         │
└────────────────────────────┬────────────────────────────────────┘
                             │
┌────────────────────────────▼────────────────────────────────────┐
│                    HUB CLUSTER (peeks-hub)                       │
│               Platform Control Plane on EKS                      │
│                                                                  │
│  ┌──────────┐  ┌─────┐  ┌─────────┐  ┌──────────┐  ┌────────┐ │
│  │ Argo CD  │  │ kro │  │   ACK   │  │ Keycloak │  │ Kargo  │ │
│  │(deploy)  │  │(compose)│(AWS res)│  │  (SSO)   │  │(promote│ │
│  └────┬─────┘  └──┬──┘  └────┬────┘  └──────────┘  └────────┘ │
└───────┼───────────┼──────────┼─────────────────────────────────┘
        │           │          │
        ▼           ▼          ▼
┌───────────────────────────────────────────────────────────────  ┐
│  SPOKE CLUSTERS                                                  │
│  ┌─────────────────────┐     ┌─────────────────────┐           │
│  │   peeks-spoke-dev   │     │  peeks-spoke-prod    │           │
│  │  Developer apps     │────▶│  Production apps     │           │
│  │  (canary enabled)   │     │  (canary enabled)    │           │
│  └─────────────────────┘     └─────────────────────┘           │
└─────────────────────────────────────────────────────────────────┘
        │
        ▼
┌─────────────────────────────────────────────────────────────────┐
│  AWS INFRASTRUCTURE (Terraform managed)                          │
│  EKS Auto Mode · VPC · IAM · S3 · RDS · ECR · Secrets Manager  │
└─────────────────────────────────────────────────────────────────┘

Repository Structure

platform-on-eks-workshop/
│
├── platform/infra/terraform/    ← Infrastructure as Code (IaC)
│   ├── cluster/                 ← Creates EKS clusters
│   ├── common/                  ← Installs platform addons
│   └── identity-center/         ← AWS SSO setup
│
├── gitops/                      ← GitOps configurations
│   ├── addons/                  ← Addon definitions (ArgoCD, Backstage, etc.)
│   ├── apps/                    ← Application deployments
│   ├── fleet/                   ← Multi-cluster fleet management
│   └── platform/                ← Platform-level resources
│
├── platform/backstage/templates/ ← Self-service templates for developers
│
├── applications/                ← Sample applications (Java, Rust, Go, etc.)
│   ├── java/
│   ├── rust/
│   ├── node/
│   ├── python/
│   ├── golang/
│   ├── dotnet/
│   └── next-js/
│
└── docs/                        ← Architecture docs and guides

Module Index

Module What It Does Doc
Infrastructure (Terraform) Creates EKS clusters and AWS resources docs/modules/01-infrastructure.md
GitOps Engine (ArgoCD) Deploys everything from Git docs/modules/02-gitops-argocd.md
EKS Capabilities Managed controllers (ArgoCD, kro, ACK) docs/modules/03-eks-capabilities.md
kro Resource Graphs Platform blueprints for developers docs/modules/04-kro-blueprints.md
Developer Portal (Backstage) Self-service UI for developers docs/modules/05-backstage-portal.md
Identity & Access (Keycloak) Single Sign-On for all tools docs/modules/06-identity-keycloak.md
Progressive Delivery Safe deployments with canary/blue-green docs/modules/07-progressive-delivery.md
Observability Metrics, logs, DORA dashboards docs/modules/08-observability.md
Sample Applications Reference apps in 7 languages docs/modules/09-sample-applications.md
ML/AI Workloads Ray, GPU, Trainium support docs/modules/10-ml-ai-workloads.md

Quick Start — What a Developer Does

1. Open Backstage portal
2. Pick a Software Template (e.g. "Deploy Go microservice")
3. Fill in: name, team, language, do you need a database?
4. Click Submit
5. Backstage automatically:
   - Creates a GitLab repo with scaffolded code
   - Sets up CI/CD pipeline
   - Provisions required AWS resources
   - Deploys to dev cluster
   - Registers everything in the service catalog
6. Developer gets a URL to their running service

No Kubernetes YAML. No Terraform. No AWS console.


Technology Stack

Layer Technology Why
Container Orchestration EKS (Kubernetes) Industry standard, AWS managed
IaC Terraform Reproducible infrastructure
GitOps ArgoCD (EKS Capability) Git = source of truth
Composition kro (EKS Capability) Package complex patterns simply
AWS Resources ACK (EKS Capability) AWS resources in same Git workflow
Developer Portal Backstage Self-service for developers
Source Control GitLab Code hosting + CI/CD
Identity Keycloak SSO across all tools
Progressive Delivery Argo Rollouts + Kargo Safe deployments
Observability Grafana + DevLake Metrics + DORA
ML/AI Ray on EKS GPU/Trainium model serving

Environment Details

  • Region: us-west-2
  • Clusters: peeks-hub, peeks-spoke-dev, peeks-spoke-prod
  • Resource prefix: peeks
  • EKS version: 1.34
  • Node management: EKS Auto Mode (no manual node provisioning)

About

No description or website provided.

Topics

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages