Skip to main content

Scaling Apps

· 5 min read
Lex Lutor Iyornumbe
Senior Software Developer @ Punch Agency

Cloud

Picture this.

Somewhere in a quiet office, a founder whispers, “We’re moving to the cloud.”

Cue dramatic lighting. A soft rumble in the distance. Because what they’ve really done is step into… the financial domain.

Pictured: Tech CEO telling team how cloud will make them new AWS
“Good news everyone. We’re moving to the cloud. Our app will now be infinitely scalable.”

The cloud is not a technical domain enterprise. It’s a financial one. ☁️💸

We like to talk about scalability as if it’s a badge of engineering honor. “We need scalable code.” “We need senior devs who can write scalable systems.” It sounds heroic.

Pictured: Developer writing scalable code
Pictured: Developer writing scalable code

But scalable code is expensive. Not because developers charge more for typing it. Because scalable code demands scalable infrastructure. And infrastructure, dear reader, has a monthly subscription with your name on it.

When people say “architecture,” they often mean monolith vs microservices. That’s code-level thinking. I’m talking about something more grounded. Your cloud setup. Your infrastructure. The quiet army of services sitting behind your app, each with its own price tag.

Every time you add a managed service from a cloud service provider, it’s not just a feature. It’s a meter. And the meter is running. 🔥

Now let’s visit the founder’s favorite fantasy.

One million users.

You can almost see them smiling at the pitch deck slide. “If we capture just 1% of the market…” There’s hope. There’s ambition. There’s maybe a little drool.

And then it happens.

A million users show up at once. They click. They subscribe. They purchase. They zerg rush your app like it just dropped legendary loot.

My friends, this is both a blessing and a crisis.

The good news: you have traction.

The bad news: your app collapses like a folding chair at a family reunion.

Why?

Because your infrastructure was never built for that kind of concurrent load.

You were running your startup dream on a $100-a-month VM. A $100 database. Maybe another $100 for some supporting services. Three hundred dollars a month. Respectable. Lean. Scrappy. Good for maybe 1,000 concurrent users if the wind is blowing in your favor.

simple cloud setup
Level 2 AWS billing has entered the chat. Hey, it may not be much, but it gets the job done.

One million?

I chuckle. Gently. But I chuckle. 😌

Even with beautifully written code and a well-tuned database, you are not handling 10,000 concurrent requests on that setup. Not sustainably. Not without smoke coming out of something important.

If your app can’t handle 1,000 concurrent users, yes, your code might be the problem. But once you start talking 10,000, 100,000, or more, we’ve left the realm of “optimize a query” and entered the realm of “open your wallet.”

At that scale, your infrastructure must evolve.

You’ll need multiple instances of your app running. Containers help. Orchestration tools help. A load balancer to distribute traffic. Caching layers to reduce database strain. Maybe message queues. Maybe read replicas. Maybe autoscaling groups.

complex cloud setup
Level 99 AWS billing has entered the chat

Notice something?

We didn’t add much new code. We added services.

Each one with a cost. Each one compounding the bill.

You check your cloud dashboard one morning and the number is no longer $300. It’s $5,000. Or more. And that’s not a horror story. That’s normal for systems handling serious traffic.

Are you ready for that version of success?

We pray for growth. We pitch growth. We model growth in spreadsheets. But very few teams model the infrastructure cost of that growth in real terms.

Scalability is not a checkbox. It’s a budget line item.

Can you afford scalable apps? Not in theory. In cash flow.

This isn’t a call to shrink your ambition. Dream big. Please do. The world needs more people building useful things.

But understand this: complex, highly scalable systems are born of necessity, not vanity. They evolve because the load demands it. Not because it looks good on a job description.

Start with a reliable app. Know your limits. Measure your current capacity. Grow from 100 requests per second to 1,000. Then to 10,000. Then to 100,000.

Scale in stages. Let revenue and demand justify the infrastructure bill.

Because one day, that prayer for a million users might be answered.

And when the doors swing open and the crowd rushes in, the only questions that will matter is this:

Will your system hold?

Will your credit card be ready for the level 99 cloud bill?

Share this article: