Client names are withheld under NDA. The architecture and tooling below are described exactly as built; outcomes are stated qualitatively rather than as percentages, because figures I cannot evidence are worth less than detail I can.
Cross-cloud microservices cutover with no planned downtime
Azure AKS → AWS EKS. A nine-service .NET Core backend on Azure AKS hit persistent database connection throttling, with slow release deployments and awkward multi-region failover.
I provisioned the EKS target with modular Terraform and Helm, then ran dual-ingress split routing through Route 53 weighted records for a gradual canary shift. State was validated against the live system before the legacy node pools were drained.
Outcome: no data loss and no unplanned downtime across the production database cutover, with Karpenter handling autoscaling on the EKS side afterwards.
Terraform · AWS EKS · Azure AKS · Helm · Karpenter · Route 53
Production GenAI document intelligence platform, built greenfield
Azure + AWS hybrid. The client needed structured insight out of unstructured PDFs and scans, with an event-driven workflow that kept both latency and compute cost under control.
The entire environment was provisioned from scratch in Terraform via Azure DevOps. Azure AI Foundry with Azure PostgreSQL pgvector handled RAG retrieval; a hybrid OCR pipeline on App Services was paired with Adobe Extract for complex documents; SQS and EventBridge carried asynchronous multi-stage ingestion.
Outcome: a reproducible, end-to-end RAG architecture deployed with no manual console drift.
Azure AI Foundry · pgvector · Terraform · SQS · EventBridge · Azure DevOps
Breaking a PaaS monolith into properly packed containers
Elastic Beanstalk → AWS ECS. Running microservices on Elastic Beanstalk forced an oversized EC2 instance per application, giving poor bin-packing and little deployment flexibility.
I dockerised the services, decoupled shared dependencies, and moved the workloads to ECS across Fargate and EC2 launch types behind path-based ALB routing, with task-level IAM roles replacing the shared instance profile.
Outcome: markedly better compute density per dollar, and zero-downtime rolling updates in place of whole-environment swaps.
AWS ECS · Fargate · Docker · ALB · IAM
If one of these resembles the problem in front of you, a twenty-minute discovery call is enough to tell whether an audit would pay for itself. Book a call.