"If it isn’t observable, automated, and scalable, it isn’t production-ready."
This project is an end-to-end implementation of a high-concurrency inference ecosystem designed to solve the "GPU Waste" problem. By leveraging NVIDIA Triton on AWS EKS, I’ve built a system that treats AI models as first-class citizens in a production-grade inference platform, maximizing throughput and reducing infrastructure costs.
- Inference Server: NVIDIA Triton (PyTorch, ONNX, TensorRT)
- Orchestration: Kubernetes (EKS/GKE)
- Infrastructure as Code: Terraform (GPU/CPU node groups, VPC, IAM)
- Automation: Python CI/CD pipelines, GitHub Actions
- Deployment Packaging: Helm charts (Triton, monitoring, plugins)
- Storage: EFS CSI Driver, S3/ECR model repo
- Networking: Amazon VPC CNI, Calico (optional), Istio (service mesh)
- Observability: Prometheus, Grafana, Loki, DCGM Exporter,
nvidia-smi - Security: IAM roles, Kubernetes RBAC, Secrets Manager/KMS, Network Policies
| Layer | Purpose |
|---|---|
| VPC + Subnets | Isolated, AZ-resilient network for GPU workloads |
| IAM + Policies | Fine-grained access for operators, CI/CD, and IRSA |
| EKS Cluster | Managed Kubernetes control plane with GPU node groups |
| Node Groups | Separate GPU and general-purpose pools for cost control |
| ALB Controller (IRSA) | Ingress with service account–scoped permissions |
| Triton Inference | GPU-enabled pods serving models via gRPC/HTTP |
| EFS | Shared model repository mounted into Triton pods |
| CI/CD | GitHub Actions + Terraform + Helm for secure automation |
| Observability | Prometheus, Grafana, Loki, CloudWatch integration |
| Service Mesh | Istio for canary rollouts |
- IAM roles scoped via IRSA
- GitHub OIDC trust for CI/CD
- Secrets managed via Kubernetes
- zero Trust: mTLS via Istio service mesh
- Infrastructure-as-code via Terraform
- Helm charts for Triton + observability stack
- Modular teardown and rebuild workflows
- Versioned container images via Amazon ECR
- Models hosted in the aws EFS using the kubernetes persistent volume
-
Optimized GPU Utilization Implemented Dynamic Batching and Instance Groups. This allows the server to group individual inference requests together on the fly, significantly increasing throughput without manual tuning.
-
Multi-Model Concurrency Configured the ecosystem to serve multiple models (Image Classification & NLP) simultaneously on a single GPU/Node, reducing infrastructure overhead and costs—a critical requirement for Fortune 500 efficiency.
-
SRE-First Observability Integrated custom Prometheus exporters to track:
-
Inference Latency (p95/p99)
-
Request Queue Time
-
GPU Memory Utilization
-