CI/CD with github actions, Argocd of microservice based application served on AWS EKS

Professional Software Consultancy Services

Company Overview

Company Y delivers a high-volume B2B SaaS product with over 40 microservices. Speed and safety in delivery are mission-critical, especially during frequent sales campaigns where infrastructure changes and service updates happen daily. They serve their services on AWS. Their tech stack consists of EKS, RDS, S3, CloudFront, Elasticache, Kubernetes, Docker, GitHub, Helm, Terraform, ArgoCD but not limited to.

Challenges Faced

Company Y delivers a high-volume B2B SaaS product with over 40 microservices. Speed and safety in delivery are mission-critical, especially during frequent sales campaigns where infrastructure changes and service updates happen daily. They serve their services on AWS. Their tech stack consists of EKS, RDS, S3, CloudFront, Elasticache, Kubernetes, Docker, GitHub, Helm, Terraform, ArgoCD but not limited to.

Solution And Implementation

Key Decision: Adopt GitOps with ArgoCD & Terraform & Helm on EKS

This unified delivery via declarative infrastructure, version-controlled manifests, and automated sync via Git.

Implementation Breakdown:

Helm-First Architecture

  • Each microservice has a dedicated Helm chart, with fine-tuned resources and environment-specific configurations stored in Terraform and provided.

  • Image tags, replicas, resource limits, etc., became fully configurable via Helm and provided by Terraform per environment.

GitHub Actions as the CI Engine

  • Used for:

    • Linting & testing

    • Docker builds

    • Pushing to Amazon ECR

    • Updating the ArgoCD from/with terraform.

ArgoCD as the CD Engine

  • Deployed in its own namespace on EKS using Helm

  • Configured with SSO + RBAC via OIDC

  • One Application CRD per microservice

    • Points to Helm chart + values

    • Enables auto-sync and self-healing

    • Rollbacks = revert Git commits

Access Control & Visibility

  • Teams had read/write access only to their repo path

  • ArgoCD dashboard showed:

    • Sync status

    • Version diffs

    • Health per service/env

Results

MetricBeforeAfter
Deploy time30–45 mins5–8 mins
RollbacksManual, error-proneOne-click via Git revert
Env driftFrequentEliminated
Onboarding time (new dev)3–5 days<1 day
Deployment confidence5/109.5/10

ConCLUSION

The transition to GitOps with ArgoCD on EKS gave Company Y a:

  • Unified, version-controlled deployment system

  • Declarative, auditable, and self-healing infrastructure

  • Low-friction process for promoting features across environments

Why It Worked:

  • Helm gave configurability + reusability

  • GitHub Actions integrated CI with infra updates

  • ArgoCD served as the real-time, Git-native deployment engine

This approach scaled cleanly across 40+ services, dozens of engineers, and multiple environments — without needing to build or maintain a custom deployment platform.