Armakuni Contact us
← All case studies

Uptime a platform can put in a contract.
From 95% to 99.9%, at campaign peak.

A U.S. digital-marketing platform serving hundreds of car dealerships across major brands was running at 95% uptime. It paid for peak capacity around the clock, kept every old asset in expensive storage, and isolated tenants in application code. We moved security checks to the API entry point and pulled background work that could wait away from the requests dealers were waiting on, which let capacity match demand instead of sitting idle, and we moved older assets into cheaper storage tiers.

Before

A campaign could end before the bill arrived.

Every car brand asked about isolation.

After
99.9%uptime, up from 95%
20%lower monthly AWS spend
30%faster to market for new features

As the company reported.

A campaign could end before the bill arrived

Dealership campaign launches create concentrated bursts of API traffic. The infrastructure was sized for those peaks and stayed that size on quiet weekends and overnight. Years of campaign assets and analytics exports sat in standard S3 storage, priced as if all of it were in daily use.

Responses slowed at the moments that mattered most, because traffic landed unevenly across servers, some hot and some idle, right when dealerships were paying to run their campaigns.

Every car brand asked about isolation

Hundreds of dealerships share the platform, and the carmakers behind them treat data isolation as a condition of doing business. Authentication, authorization and tenant boundaries lived in application code, so every new feature was another chance to get them wrong, and every carmaker's vendor review reopened the question.

Tenant isolation moved out of application code into infrastructure

The team pulled security checks out of application code and placed them at the API entry point and in the storage layer, so interactive requests stopped competing for capacity with work that could wait.

How we built it

3 decisions, in the order we made them. Each one says what we did and why, with what it did drawn beside it.

  1. Authorization at the entry point, every tenant isolated
  2. The team separated requests dealers wait on from work that can run later
  3. The platform scaled for the campaign, so it no longer needed to run at peak capacity all year

Authorization at the entry point, every tenant isolated

Built withAPI GatewayRDSMySQLPostgreSQLSecurity Hub
Every request checked at the door DealerDealerDealer each tenant isolated
The engineering

We moved authorization to the API entry point, so API Gateway is the single way in for tenant traffic, checking authentication and authorization for each tenant on every request. We apply tenant boundaries across both application and storage access, with RDS running MySQL and PostgreSQL as the relational layer. Security Hub checks the platform continuously against the CIS benchmarks and AWS Foundational Security Best Practices, which means compliance drift shows up as it happens and the evidence builds while the platform runs, so we can answer a carmaker's compliance review straight from the architecture.

This matters because when the boundary between tenants is enforced in the infrastructure, it holds even if a new feature forgets to check it.

The team separated requests dealers wait on from work that can run later

Built withSQSSNSLambda
Requests dealers wait onAnswered Work that can run later SQS queue
The engineering
  • SQS separates slower background jobs from synchronous requests, and SNS distributes platform events to the services that use them, on an event-driven core with Lambda.
  • Elastic Load Balancing in front of the API tier, with host-based routing to the right target groups, uses the API capacity as one pool, so no server runs hot while another sits idle.
  • Autoscaling adjusts compute to API request volume and latency.

The platform scaled for the campaign, so it no longer needed to run at peak capacity all year

Built withS3CloudWatch
no longer sized for the peak all year Campaign loadAutoscaled compute
The engineering
  • The team replaced fixed over-provisioning with right-sized compute and autoscaling.
  • S3 lifecycle policies move older marketing assets and exports into lower-cost storage classes.
  • Infrastructure as code and automated deployment make releases routine, and CloudWatch dashboards and alarms, with event-driven monitoring, show service behavior as it happens.

What we'd tell another CTO

1The team enforces tenancy at the front door, so API Gateway authorization doesn't depend on every feature remembering it, and report generation runs through a queue so a shopper never has to wait behind it.
2The platform routes traffic by host and scales based on latency. Spreading load evenly across servers costs less than adding more of them. Storage is tiered by age, so a year-old asset costs less to keep than one created this week, and usage is checked against a baseline continuously, which means the vendor review draws on data already recorded instead of a fresh audit.

What else changed

As the company reported.

  • 95% of API requests on time at peak.
  • No cross-tenant exposure since the new security model went live.

What comes next

The same release and monitoring model holds as more dealerships and brands join. The event-driven core also carries the AI features now landing on the roadmap, from content generation for dealership campaigns to predictive lead scoring across brands, with personalized customer journeys built along the same path.

How we'd do it today

This project came before our current offers. Here's how we'd approach the same work now.

AK Run, our AI-native managed service, would take on all four parts as one team. Through the campaign peaks it would run production with our AI agents taking the first look at every alert and drafting the fix for a named engineer to confirm. Fixes to API and platform code would ship as a pull request with a test attached, which the company's own approver merges. Platform security would stay ahead of Security Hub's findings, with patches, upgrades, and certificates handled before they turn urgent, and each finding owned until a tested fix is live. As the AI features on the roadmap go live, each AI agent would be held to one dealership's data, with every model call passing through Agent ControlPlane. After a few weeks of real use, our AI agents would propose new sizes for our engineers to decide on, with costs tagged by team and committed-use discounts held back until usage is measured. For the companies we run, the median AWS bill falls 40% in the first quarter.

Have a problem like this one?

A free workshop: a few hours with the architects who'd do the work, on your own systems. No cost.

Book a free workshop