48
35 Comments

Costs of running a webapp with 55k monthly users

How much does running a webapp in production actually cost? Maybe more than you think. My app is a Python flask application running on DigitalOcean and Firebase. It currently has around 55k unique visitors per month, per day it’s around 3.4k.

In total that’s around $145 USD per month. If you’re running a company with employees that would be peanuts, but in this case the cost is being borne by a single indie-developer out of his own pocket.

To get more information, you can read my blog post about it here.

  1. 10

    That’s actually a lot less than what I thought. A lot of no tech stacks will get to that level at the beginning with Zapier + etc. At 55k users you have a web app that’s pretty popular. Say you convert 1% to a monthly monetization model, that’s already 550 users and even at 50 cents per month you “profit”. With that many users finding a monthly sponsor or ad will profit.

  2. 8

    The number of users doesn't tell a lot. What kind of requests and how many requests do those users make?

    55k users/month, if there are no peaks, is around 1-2 users per minute, which even for a high-computational task like image processing would be enough to run a $5/mo droplet.

    1. 1

      We get around 10-30 requests per second

      1. 1

        That's reasonable. We get 20-40 requests per second with some extensive CPU work going on too. We end up paying 300$ per month to Azure.

  3. 4

    You say you run 2 servers ($95) to do blue-green deployment. You probably don't need the green server all time (only when you're deploying). If you create an Ansible script to build a machine on the fly, you can save ~$45 per month.

    Not really sure why you're running Metabase on AWS which tends to be pricey. You could run it on your own platform (and probably save guess $20). Alternatively if you can code well, just create simple db reports that run daily and output to csv. Save: $60pm.

    DNSimple. I have no idea why you're using this. Save $5pm.

    That $110pm off your $171 bill. This is with the assumption that you're good at coding and fairly good at devops.

    Note: the servers are oversized for the load we’re currently seeing.
    The reason for that is that we tried to solve a production issue by increasing the
    server specs. It didn’t solve the problem, and now we can’t down-size the servers
    without re-provisioning them

    This is ultimately the problem. You're throwing cash to solve this. A lot of performance problems are either n+1 dbase call, missing indexes or bad db schemas.

    All the above suggestions, you're trading development time for money. May or may not be worth it. good luck! :)

    1. 1

      Thanks for your input! At the moment I'm indeed prioritising product development speed over costs.

  4. 3

    Sorry to hear that, probably the app will run just fine with a cheap VPS (paying $10/m)

    1. 1

      Yes, but at the moment I'm prioritising product development speed over costs. But thanks for the input!

  5. 2

    It would be good to put all your content here instead of a link to your blog - I'm on indiehackers - i don't want to leave it to read your post

    1. 2

      Ok, will do that next time

  6. 2

    Curious to why you need to pay for DNS hosting monthly?

  7. 2

    It is neat to see what it costs for others to run their web apps. Cost often depends on so many different factors. What 3rd party services you use, tech stack, 3rd party API cost, etc. It is something to keep in mind when coming up with an idea for an app, what will be the monthly cost to run it.

    My weather extension largest cost is weather API data. As users grow so do the number of API request. The perfect combination for a web app is low cost with high value to your customers.

    1. 1

      Indeed! Thanks for your input.

    2. 1

      How many users would you need to get to before it would be worth just getting the data from NOAA and parsing it yourself?

      1. 1

        I actually use NOAA for some data points. I believe they only cover the United States and my extension works all over the world so I would have to parse multiple sources. I have considered doing it and then selling it as an api.

  8. 2

    Hmmm, that seems quite high to products, one which has about 120k monthly users and the other with about 20k monthly users. The first one is running for free (firebase + cloudflare CDN) and the other is running for $6 a month (heroku + cloudflare). You’ll be surprised just how much a CDN reduces your bandwidth costs if you set it up right. With https://justsketch.me 95% of it is served just from Cloudflare. https://bearblog.dev is just a very low bandwidth product, but a CDN makes it faster.

  9. 1

    I have a web app that gets around 8k daily users and my cost is only $50/mo

    1. 1

      Cool! Passportlist? How do you monetize it?

      1. 1

        a different one and I use Adsense for monitization

  10. 1

    Thanks for sharing! Had no idea it would be that much.

    1. 2

      It will go down in the future ;-)

  11. 1

    That's actually more than I was expecting, but after reading your post, it sounds like you don't actually need the second server, which is closer to what I was expecting in terms of server costs.

    What is the usage on your servers? If your application is mostly doing CRUD, with most requests just reading data, then I imagine that even if you had just one server you are probably seeing less than 70% usage most of the time?

    1. 1

      Actually I'm seeing about 5% load most of the time. This will be optimized in future

  12. 1

    Have you considered moving to a CDN and using small servers only for the dynamic components? With a front end build like nextjs/gatsby/custom plus an API you could handle even more users with smaller server.
    The biggest downside: you would need to refactor your flask app.

    1. 1

      Yup and refactoring is not what I want to spend time on right now ;-)

  13. 1

    Hi Caspii, why not use Firebase for the whole thing? Technical limitations? I have a feeling it would be significantly less expensive.

    1. 1

      You right and I will get round to that eventually. At the moment I want to optimise development speed.

  14. 0

    55k users it's a lot ! and $145 is a fair pricing I guess, if you could convert your users to payed subscriptions you are done. let's say charge $10 usd/mo, you just need to convert the ~0.03% of your user base to pay the server costs.

  15. 1

    This comment was deleted 4 years ago.

    1. 1

      Yes! Which is why I added the following to my post:

      This post generated an interesting discussion on Hacker News. One recurring them was was that our stack is too large and expensive and that we could massively reduce costs.

      This is true. But here are some things that are also true:

      • “Reducing costs” is not our primary objective at the moment: time is more valuable * than money right now.
      • We are not devops experts and optimizing operations takes time.
      • Our primary objective is velocity of product development.
  16. 1

    This comment was deleted 3 months ago.

    1. 1
      • By writing articles like the above one.
      • By having a viral product
  17. 5

    This comment was deleted 3 years ago.

    1. 1

      Yes, but at the moment I'm prioritising product development speed over costs. But thanks for the input!

    2. 1

      True, I pay only ~3.00 for self hosted analytics.

      1. 1

        What software do you run for analytics?

Trending on Indie Hackers
After 10M+ Views, 13k+ Upvotes: The Reddit Strategy That Worked for Me! 42 comments Getting first 908 Paid Signups by Spending $353 ONLY. 24 comments 🔥Roast my one-man design agency website 21 comments I talked to 8 SaaS founders, these are the most common SaaS tools they use 19 comments What are your cold outreach conversion rates? Top 3 Metrics And Benchmarks To Track 19 comments Hero Section Copywriting Framework that Converts 3x 12 comments