Krishnan's Personal Website


Home | About | Blog | Skills | Innovations | Work with Me | Connect with me | Other Links


Why Your Web App Doesn’t Need AWS or GCP (Unless You Have Millions of Users)



Published On: Sep 13 2025
Written By: Krishnan Sethuraman
Category: Infrastructure


Why Your Web App Doesn’t Need AWS or GCP (Unless You Have Millions of Users)

 

The Cloud Illusion

Everywhere you look, startups and software founders seem to be in a rush to spin up AWS or GCP accounts the moment they write their first line of code. It has almost become a badge of honor - if you’re not on a "big cloud," are you even a real tech company?

But here’s the truth: unless you’re operating at massive scale with millions of active users, your web app doesn’t need AWS or GCP to perform well

In fact, most companies are over-engineering their infrastructure from day one, burning precious money and time on systems they’ll never fully use. This article will walk you through why cloud giants aren’t necessary for early-stage or mid-stage products. In this article we talk about the disadvantages of going with a AWS or GCP at an early stage of a startup and what are the alternatives that companies can choose without sacrificing performance.

the 3 big cloud platforms

The Myth of 'Cloud or Bust'

There's a widespread belief that credibility equals AWS, Azure or GCP. Many founders assume investors, partners, or even customers will take them less seriously if they're not on a major cloud provider.

Reality check: plenty of successful SaaS companies launched on simple VPS servers. Dropbox, GitHub, and even Basecamp started small, scaling their infrastructure only when real demand forced them to. The first servers of Google where built with lego bricks. 

Google's first server built with lego bricks

Trivia: Basecamp was launched on February 4, 2004, using a single-core Celeron server with 256MB of RAM. My personal desktop at the time had more RAM and a better processor. 

The misconception comes from marketing. Cloud providers showcase case studies of unicorns handling millions of concurrent users - but they don't tell you that 99% of startups never reach that level of traffic.

So when you are launching your software product the primary focus should be to go with a reasonably good server with a  straightforward billing. Capital is the most expensive asset in the earilier days and it should be spent on acquiring paying customers rather than an overblown cloud service invoice. 

 

Understanding Your Real Needs

Jack Ma founder of Alibaba.com

Jack Ma the founder of Alibaba.com once said that after their initial funding they hired one of the marketing person. However this person was not able to create a positive impact at Alibaba. The reason being this marketing person had no experience of marketing for a tech product.

So the lesson here is, while hiring an employee or choosing a service provider do not go by what's the best. Instead go with the right fit for the current requirements. 

Let’s break down what most early SaaS products really face:

  • User numbers: Dozens to hundreds, not millions.
  • Traffic load: Light to moderate—far below what even a $40/month VPS can handle.
  • Data usage: A few gigabytes, not petabytes.

For example, a single Linode or DigitalOcean VPS at $40/month with 4 GB RAM and 2 CPUs can comfortably run:

  • A Laravel or Node.js backend
  • A MySQL/Postgres database
  • A front-end served with Nginx
  • 5,000 to 10,000 monthly active users

And yes - this is based on real migrations I've done for clients. Teams who were spending hundreds on AWS compute realized their apps ran just as smoothly (sometimes better) on smaller VPS providers.

So there is absolutely no requirement for an expensive setup here. 

 

The Hidden Costs of Big Clouds

The Hidden Costs of Big Clouds

AWS and GCP pricing is a labyrinth. At first glance, the entry-level looks cheap. But then:

  • You’re billed for compute by the second
  • Bandwidth costs skyrocket with traffic
  • Storage requests (even listing files in an S3 bucket) cost money

I have extensively used both GCP and AWS for my SaaS products and the monthly invoice would be very high. If I ask for clarifications from their support team thay should send me to a complicated billing documentation which I will have read and understand myself. 

The support is also not free. You will have to get a paid support subscription with these cloud service providers. 

In addition to that these top service providers also have ingress and egress charges. 

Reference: Understanding AWS's Egress Costs and GCP Network Pricing

For most organizations, these micro-charges add up to hundreds - or even thousands of dollars - per month.

I've worked with a SaaS provider whose monthly GCP bill dropped from $1050 to just $650 after migrating to Linode. That's $4,800 in annual savings, money that could be spent on product development or customer acquisition instead of cloud vanity.

Then there's operational overhead. Learning IAM roles, setting up Kubernetes clusters, or navigating Cloud Billing dashboards often consumes hours that early teams don’t have.

Finally, there's the elephant in the room: cloud lock-in. Once you’re deep into AWS-specific services like DynamoDB, Lambda, or CloudFront, migrating away is painful, expensive, and technically messy.

 

What You Actually Gain by Avoiding AWS/GCP (at First)

So what do you gain when you resist the "big cloud temptation" and start smaller?

  • Lower monthly invoice - You will encounter an immediate reduction in your monthly invoice. 
  • Simplicity - Spinning up a VPS takes minutes. No need to learn complex orchestration tools.
  • Straightforwar firewall rules - sdfsd 
  • Predictable Costs - Fixed monthly server costs beat unpredictable AWS bills.
  • Focus on Product - Instead of spending weeks configuring IAM permissions, you can build features that customers will actually pay for.

Here's a real-world anecdote: I worked with a mid-sized SaaS that migrated from GCP to DigitalOcean. Not only did their costs go down by 40%, but performance remained the same - and in some cases even improved because their code and database architecture were finally optimized.

This highlights a crucial point: cloud providers don’t fix bad code.

I've seen clients with bloated queries and unoptimized or non-existent database indexes struggle with AWS  or GCP performance. After refactoring their database and API design, the same app ran flawlessly on a simple VPS. 

In cases where there is an increased load on the database we move the database to a standalone VPS instance. This further imrproves the performance of the application and allows the infrastrucure to sustain the load. 

 

When Cloud Providers Actually Make Sense

Let’s be fair: AWS, Azure and GCP are fantastic. They offer near-infinite scalability, compliance certifications, and powerful services.

"But do you need them today?", Is the question that you need to ask yourself and in most cases the answer would be "Probably not". Which means most of us can do away with these top cloud providers and remain with the likes of Linode and Digitalocean. 

Here are the scenarios where AWS/GCP genuinely make sense:

  • Millions of users: If you’re the next TikTok, you’ll need global distribution and in that case AWS or GCP or Azure should be the right choice. 
  • Global latency needs: If you need Edge servers across continents. In other words you need to service the clients in the USA with servers in the USA and likewise service the clients in India with the servers from India. 
  • Advanced workloads: Machine learning, video processing, real-time analytics. Having said that in recent times Linode (Akamai) and Digitalocean have both scaled up their performance and offerings. 
  • Strict compliance: Financial or healthcare apps requiring SOC2/HIPAA certifications.

If you're still validating product-market fit or bootstrapping a software company, then you must migrate out of the big players and go with relatively smaller ones like Linode or Digitalocean. 

 

Practical Alternatives to Consider Today

There are plenty of options available in the market. I mostly stick with Linode and Digitalocean as they give me the flexibility and ease of setting up instances similar to GCP and AWS. They also provide sufficient free bandwidth and hence there are no ingress and egress charged levid. 

Having said that there are multiple options in the market.

Here’s what you should actually look at for most early and mid-stage SaaS:

  • Dedicated Hosting - Hetzner, OVH : Strong performance, especially for data-heavy apps.
  • Managed Platforms - Heroku, Render, Railway: Pay a bit more for ease of deployment.

These platforms give you all the performance you need without the complexity and at a lower price. 

 

How to Future-Proof Your Architecture Without AWS/GCP

One objection I hear often is: “If I don’t start with AWS or GCP, won’t it be hard to migrate later?

Not if you design smartly from day one. I always tell my clients that it never a good idea to be solely dependent on a single platform or service provider. Always build your application in away that it can be easily ported out the cloud service provider easily. 

For example, when I started Geedesk I went with Google App Engine and Cloud SQL so that I do not have to worry about managing the infrastructure. In the longer run this was not a prudent decision. As Geedesk it became more dependent on the platform. So 10 months into running Geedesk we deicded to migrate the application to a linux server so that if required we can migrate it whereever we want. That's exactly what we did couple of months later which to move totally out of GCP. 

Here are three principles to future-proof your application:

  • Write Portable Code - Don't hard-code provider-specific APIs into your app. Use abstraction layers.
  • Use Containers/Docker - Package your app in a way that can run anywhere, from Linode to AWS.
  • Keep Storage and Compute Loosely Coupled - Use separate services for your database and app servers to make migration smoother.

This way, if you ever reach the stage where AWS/GCP is necessary, the move will be far less painful.

 

Start Small, Scale Smart

Let’s recap the key points:

  • AWS, Azure and GCP are not mandatory at launch. You need them only if you ever get closer to the size of TikTock or Twilio and so on. 
  • Most startups overspend on cloud without needing the scale it's built for. 
  • Smaller providers like Linode or DigitalOcean are more than enough for thousands - even tens of thousands - of users. 
  • Good code and database design matter more than the infrastructure choice. 

If you're a founder, here's your action step: audit your hosting bills. Are you paying for AWS, GCP or Azure vanity instead of actual needs?

If you're a developer, challenge yourself: spin up a $40 VPS and see how far your app can go without touching AWS or GCP. You can use tools liek Apache Jmeter to run load testing and how your application performs on the $40 VPS. 

And here's the final thought I’ll leave you with:

What would your business look like if you reinvested your AWS, Azure or GCP budget into product development, customer support, sales or marketing instead?

Chances are, that shift will matter a lot more to your growth than any cloud provider ever will.

 

Related Articles

 

Krishnan Sethuraman
Krishnan Sethuraman

Founder & CTO of Geedesk. Passionate about building software from scratch, launching SaaS products, and helping teams deliver enterprise-grade solutions.

Like what you are reading?

Discover more similar articles sent to your email

Subscribe to my newsletter