Services / cloud
AWS, Azure, and GCP. Fifty-plus production apps, one deploy, traced hops. Built to ship, not sit idle.
- Production apps
- 50+
- Average infrastructure cost cut
- 40%
- Uptime on the stacks I run
- 99.95%
Cloud I will actually operate
Multi-cloud when the product needs it. AWS when a SAM stack is the whole backend. Cost and traces are part of the deploy, not a later audit.
AWS, Azure, and GCP
I pick the platform the workload fits. Auth, data, and compute stay one system, even when the logos differ.
Controls that survive an audit
Encryption, identity, and alerting on the accounts I run. Not a PDF of best practices left in a folder.
Cost as a design input
Autoscaling and right-size so the bill drops. 40% is the average I have taken off idle or oversized stacks.
Work I have shipped
Three production stacks. Pick a platform. The hops stay on the page, not behind a click.
Shopper traffic
- CloudFrontMedia and HTML at the edge. A sale does not hit origin for every image.
- ALBSpreads checkout across healthy ECS tasks. Unhealthy ones drop out of the pool. Reached from CloudFront.
- ECSContainerized storefront. Tasks scale with the sale, not a rack order. Reached from ALB.
- ElastiCacheHot reads so the catalog page does not query RDS on every hit. Reached from ECS.
- RDSCatalog and orders. The source of truth for a cart. Reached from ECS.
- S3Product media. CloudFront reads from here, not the app. Reached from CloudFront.
Enterprise e-commerce, name withheld
E-commerce platform migration
The bind. On-premise hardware could not take 10x traffic during sales. Checkouts failed when the catalog spiked. The team needed a path that scaled without buying more racks.
What shipped. I moved the storefront to containerized services on ECS behind an Application Load Balancer. RDS held the catalog and orders. ElastiCache took the hot reads. S3 and CloudFront served the media. Autoscaling followed the sale, not a capacity spreadsheet.
40%
infrastructure cost5x
faster peak handling99.9%
uptime after cutover
Infrastructure as code
The stack is a repo. Reviewers read a pull request, not a console click. 99.9% of deploys land the same way in staging and production.
Terraform
Shared modules for the accounts that span AWS, Azure, and GCP. State is remote. Drift shows up in CI.
SAM and Serverless Framework
Lambda, APIs, and tables declared next to the code. The memorial portal ships this way.
Serverless when the work is bursty
If the box sits idle 20 hours a day, it should not exist. Event-driven functions scale with the write path.
No servers to patch
Compute is the function. Scaling and the runtime are the platform's job.
Pay for the invocation
Idle costs drop to storage and a few always-on bits. The 40% cuts usually start here.
Autoscaling without a meeting
A sale, a roster sync, a payment spike. Concurrency follows the queue.
Events, not cron on a box
S3, queues, and webhooks wake the function. Cold starts stay in the milliseconds I measure.
When a full cloud is too much
Not every product needs a three-cloud diagram. Some just need a host that matches the app.
SSH when the team wants a machine they can touch. A platform when they should not grow an ops roster yet.
- DigitalOcean
- Heroku
- Render
Next.js at the edge, plus transforms so the origin never resizes a 12MB upload.
- Vercel
- Netlify
- Cloudinary
Auth, a store, and live sync when the mobile client is the product and RDS is the wrong size.
- Firebase
- Supabase
Let's build your cloud infrastructure.
Tell me what runs today, where it falls over, and what a cheaper, traced stack would unblock.