17 ms·
Costs of running a Python webapp for 55k monthly users
- WrtCdEvrydy 6y agoI've grown fond of Caprover for this kind of small project. I would probably shove the metabase instance and both of the production instances into a single smaller instance (but I have been known to increase swap and put off upsizing resources in the past because cheapskate)
- cf_ 6y agoCan fully agree with this. Caprover has been a joy and makes it easy to run a small scale setup where you can deploy those service dependencies easily yourself without paying for a cloud provider for the hosted alternative.
- kumarvvr 6y agoI wonder how much it would cost for the same app, if developed in Java or dotnet core. They could save a good chunk of the 69 USD they spend on Digital Ocean servers. edit : To clarify, What I meant was that to serve 55k users, perhaps using more efficient languages like C# or Java, would allow them to run on lesser spec machines. And as those users scale up, to say a million users a month, perhaps savings would also increase, if using more performant languages.
- altdatathrow 6y agoThe language has nothing to do with it, this site could be ran on a $5/mo droplet (or a pair of them for their deployment strategy).
- kumarvvr 6y agoWouldn't the same app, written in Python & C#, have different throughput on the same hardware?
- throwawaythekey 6y agoYes, but a python app can be efficient enough to serve that many users on the smallest size droplet. Any additional speed gains would only be useful for scaling and MAYBE latency.
- kumarvvr 6y agoSo you agree that throughput would be different. Sure, a Python app can be efficient to serve 55k users. But scaling it to a million users, say. A python app would consume way more resources than an app in C#
- aembleton 6y agoUse whichever language you're most comfortable with. You can always add more hardware to the problem; and if you get really big then hire people to start re-writing parts of it.
- throwawaythekey 6y agoI don't think any would argue that python is the fastest language. The more pertinent/practical point for most though is not to needlessly overbuild whether it be in dev time or servers. Realistically, the author could probably serve 10x-100x more users (your million users) and still stay on the cheapest droplet with python. As you can't go smaller than the smallest, changing language can't be justified on a cost basis. Finally, the performance differences between a well written python app and a poorly written c# app are probably not that large. The developer probably started with python, because that's what they know, and wouldn't be able to match the code quality in c# without significant effort.
- rrrhys 6y agoWhat're they going to host it on, when they're finished the full rewrite to save 69usd?
- kumarvvr 6y agoWhat I meant was that to serve 55k users, perhaps using more efficient languages like C# or Java, would allow them to run on lesser spec machines.
- punnerud 6y agoMetabase is written in Java and normally take 1-2GB/ram and use a lot of CPU ;)
- yen223 6y agoSpecifically, Metabase is written in Clojure
- danieldk 6y agoI don't disagree that another language/runtime could reduce the cost. But why do you value developer time at 0 USD? Unless this is a hobby, the hourly rate of a developer is higher than that monthly Digital Ocean bill.
- kumarvvr 6y agoI never said anything about developer value.
- avolcano 6y agoNice writeup! Always appreciate transparency with these sorts of things, as someone who writes a lot of tiny personal projects and sometimes wonders how much I'd have to invest if they ever actually gained any traction. Congrats on having so many users, and good luck on monetization. For the server instances, I can't imagine 4 CPUs/8 gigs RAM is really needed 24/7, but can imagine it being needed in bursts, and I assume GCP has various "elastic" auto-scaling products for that. Would love to know if your metrics indicate that this is the smallest box you could comfortably run on, or if it's just a best-guess. Could potentially spin down blue-green environments after some set amount of time (once you know a deploy "succeeded"), as well. For Metabase, I can't find any "system requirements," but I'm not _super_ shocked by the price tag. I've always liked the idea of hosting my own tools instead of relying on some SaaS's free/trial tiers (particularly for things like analytics, logging, or metrics), but a lot of the open source options out there assume you have a pretty hefty box to throw it at. At the same time, I haven't found any better alternative other than just doing ad-hoc analyzing in SQL (using a GUI like Postico).
- caspii 6y agoThanks for the compliments! Yes, the server instances are definitely too large. I was previously running on 2 instances that were half the size and ran into some problems which I thought I could fix by increasing specs. Turns out the problems were not related to specs and now I'm stuck with the instance size (on DigitalOcean you can only up-size not down-size) I use Postico too, but don't have enough SQL chops to get the answers I need.
- galacticdessert 6y agoHey, good job on your project! The only thing I wanted to say is that the time spent learning a bit of SQL pays off massively. Perhaps something for your todo list :)
- caspii 6y agoThanks. It's on my todo list ;-)
- aikah 6y agoNice, we need more of these "real world expenses" posts on HN. I wonder how much it would cost to run the same app powered with Java. More? or Less?
- jillesvangurp 6y agoWe use Google cloud run for this. They bill per request and you can run whatever docker container you want. I currently have a small setup with two separate kotlin based server applications running there (one based on spring boot and one on ktor). We use firestore as a cheap datbase (billed per read & write). Both have a free tier. So it's costing us next to nothing currently because neither docker container is getting a lot of traffic. Basically the bill for last month was only around 2$ for one of these applications (the other one I only deployed a few days ago). Basically, at some point it gets expensive of course but when you are simply testing out stuff and don't expect a lot of users to show up, it's actually not bad.
- asadawadia 6y agohow does the kotlin server perform on cloud run? is the startup time slow? does spring take a lot of memeory etc?
- jillesvangurp 6y agoI bumped the memory limit from 256MB to 1GB. 2GB is the maximum on cloudrun. You pay a combination of CPU/Memory per request obviously. Beyond that, it scales by firing up more containers as your request load increases to a default maximum of 1000 (we set it at 2). Obviously don't use this if you have a lot of cpu/memory requirements but otherwise this should be fine for a well crafted stateless server. Startup is fine with both ktor and spring-boot but obviously takes a bit of time. I noticed there's startup overhead if your container gets shut down because there is no traffic. In that case, it takes around 30 seconds for the first request to go through. That includes everything from booting the container and then starting the process. I imagine simply pinging the server regularly should keep it running. Alternatively, you can configure a minimum amount of servers.
- maallooc 6y agoCost of running it myself on my $30/mo colocation server: $30 oh yeah, and 10$ a year domain fee
- fock 6y agoI'd also really be interested what kind of domain costs USD10 PER MONTH. With my registrar, even .co and .sh cost at most USD60 per year...
- stevewillows 6y agoYou should check out https://tld-list.com https://tld-list.com -- plenty of cheap domains / renewals. I really like Porkbun as a registrar, but there are others that are just as good.
- stkdump 6y agoContabo VPS: 4 Cores, 8GB RAM for 5€/mo. That should be able to handle the whole thing with plenty of room to scale. Maybe I am old fashioned, but I don't see what all those cloud providers that are so much more expensive bring to the table.
- adamzapasnik 6y agoDamn, this seems so cheap. I didn't know about Contabo before. What's your experience with them?
- fegul 6y agoThey're great. I've had less downtime with them than DO and I have several VPSs there. I'd highly recommend them.
- adamzapasnik 6y agoThanks, gonna check them out when the need arises :)
- nbadg 6y ago> The webapp runs on two identical DigitalOcean servers... The database is a hosted Postgres instance also on DigitalOcean. They're only spending $69/mo total at DigitalOcean, and it sounds like their scaling isn't limited by computational power but rather by operational concerns. So, I'm not entirely sure what the backend language has to do with the costs here. If you're trying to draw a cost comparison between languages, then the take-home from this writeup is that 55k monthly users is small enough that the backend language doesn't make a difference in costs. Side note, this kind of transparency is always really nice to see!
- moksly 6y agoI think this article is frankly PR to get their users to generate revenue. It has nothing to do with the cost of hosting a python webapp. I mean, why are you even doing analytics if you’re not generating revenue?
- TekMol 6y agoIt always makes my head dizzle when I read and hear how much people manage to bloat their stack because they think they need to "scale". I have web applications running that reliably serve 50k users per day and cost me $10/month, running on a single, cheap VPS.
- tsumnia 6y agoNot to sound mean, but if there aren't posts/blogs/whatever explicitly telling people how to minimize costs... then they'll continue to follow the ones that make them pay $100+.
- rapsey 6y agoOr people could do some quick research what options there are. Not everything needs to be spoon fed.
- fock 6y agobasically most people don't do that for saving costs, but just because it makes sense to them. And there's lots of tutorials explaining how to run your own webapp.
- TekMol 6y agoOk, here is a quick tutorial: Step 1: Copy Peter Levels stack: https://www.nocsdegree.com/pieter-levels-learn-coding/ https://www.nocsdegree.com/pieter-levels-learn-coding/ If he serves hundreds of thousands of monthly users and makes a million a month with a single VPS, you certainly won't have scaling issues when you start out or just have tens of thousands of users. Step 2: If you really scale beyond that, resist the urge to bloat your stack. Think long and hard about every piece you add to it. Really understand each piece you add to it. Don't fall into the trap of paid services. Don't fall into the trap of "best practices".
- chillfox 6y agoI don’t know how many times I have seen “best practices” used as excuse to avoid thinking. Usually by people who don’t even have the problem that the supposed “best practices” is meant to solve.
- dddw 6y ago5 bucks a month for dns hosting is also quite expensive since most domain hosting offer them for free. Definitely look into autoscaling with AWS for a simple 'poor man's cluster'
- banana_giraffe 6y agoThat caught my eye too. Not only that, the service being used here charges more for wildcard LetsEncrypt certs somehow. I'm very confused what the value add is for this service.
- julienb_sea 6y agoThe webservers seem very overpowered for 55k monthly... seems like an unnecessary amount of money and could run on much cheaper VMs.
- lacker 6y agoIt's tough to generalize from things like this because "a webapp for 55k monthly users" can mean drastically different things. A user could be loading a few static pages, or that same user could be opening websocket connections or making requests that require expensive database queries. Your average user could stick around a minute, or an hour. Different apps can easily have per-monthly-user infrastructure costs that are two orders of magnitude different. For comparison at the other end of the scale: Facebook said that in the first quarter it spent $3.7 billion on data centers, servers, office buildings and network infrastructure. https://www.datacenterdynamics.com/en/news/facebook-significantly-decreases-infrastructure-spend-defers-3bn-costs/ https://www.datacenterdynamics.com/en/news/facebook-signific... That's something like $8 per user per year. If you had that level of expenditure for your 55k-user app, it would cost $400,000 per year, 200x the cost given by this blog post. It isn't that Facebook is wasting the vast majority of their infrastructure, though, it's that the application does a lot more for each user.
- hmottestad 6y agoThat seems to include all the facebook services including instagram.
- ramraj07 6y agoThe Facebook comparison is nowhere close though. Firstly, even purely from a services perspective, the per user compute needs per person are quite insane if you take a step back and think about what all has to happen in the background. Then you have to think about how much each user uses facebook and instagram, not to mention other services like video calls and live. Further, Facebook also ostensibly spends a bunch of the resources directly making money by utilising the resources on their ad biz. And then you have all the research and prototype work Facebook does. Finally this also includes office buildings and actual machine expenditure which ostensibly will pay dividends in future years, plus being a factor that OP didnnot even include in this discussion. I'm fairly confident that for the same number of requests of compwrable complexity Facebook spends significantly less than what this person is spending.
- quietbritishjim 6y ago
- donpark 6y agoCost of servers and DB don't match DO's current pricing. 4 vCPUs, 8GB RAM, 80GB disk costs $40/month now so two servers alone cost $80 which is higher than $69. Either DO raised pricing or they got some special discount.
- caspii 6y agoWell spotted. I just actually looked at my bills because of this comment. Turns out that I resized my droplets in mid-august so this month's bill will reflect the full/true cost. I'm going to edit the article.
- danieldk 6y agoAlso, pricing of Digital Ocean seem to be quite steep for larger machines. E.g., Hetzner offers AMD Ryzen 3600 dedicated servers with 64GB RAM and 2x 512GB SSD for 42.16 per month including VAT. Or if you really insist on a VPS, you can get the same configuration with double the disk space at Hetzner for 15.38 per month at Hetzner. I have a Hetzner VPS and it has been rock-solid. (I know that they are in Europe, but I assume that there are similarly-priced competitive US counterparts.)
- godzillabrennus 6y agoI have seen a web app for 1,000 monthly users spend $1000/month for it. Those were all paid users and the company was profitable with over 70% net margins after all costs including labor and research were factored in. I’m all for $5/month digital ocean hosting when it makes sense but you also need to be realistic if there are revenues. Hosting should not be a major cost for the business.
- galacticdessert 6y agoAnd most of the time isn't, right? I have seen project managers keeping a whole development team of 10+ developers busy for entire sprints to "cut down the infra costs", without realizing that the dev team costs 500+ kEUR/quarter, while the hosting costs were something like 7/8 kEUR/month. Also, related aritcle -> https://m.signalvnoise.com/only-15-of-the-basecamp-operations-budget-is-spent-on-ruby/ https://m.signalvnoise.com/only-15-of-the-basecamp-operation...
- achairapart 6y agoI'm not familiar with Python as a web stack but to me it looks that the DO instances are a bit over-scaled for 55k monthly users. But what caught my eye was DNS Hosting: 5$/Month? Maybe it's a typo, shouldn't be more like 10$ per year to host a domain and its DNS? Anyway, thanks for sharing, very interesting.
- stevekemp 6y agoI charge £1/zone/month for DNS-hosting, and while most of my clients only have a single zone there are people with 50+ DNS hosting can be cheap (free if you use cloudflare, etc), or very expensive. My prices give me a 50% margin over the raw AWS Route53 costs, but the appeal is that I store records under revision control and let you make changes using git: https://dns-api.com/ https://dns-api.com/
- ing33k 6y agointeresting .. is the price flat even If there are lookups in billions ?
- stevekemp 6y agoYes. AWS charges you a flat-fee per zone, and then additional-fees based on volume of queries. In my case I don't host any domains that go over the threshold where it is billed for - but if I did those costs would be offset by the profit of the other low-volume zones.
- achairapart 6y agoDNS over Git, it's a very interesting concept. Thanks for sharing.
- brendawalsh 6y agoCool concept! I will check it out.
- dusted 6y agoRunning my websites costs whatever electricity my server takes, but it also serves me as a filestorage so it'd be on anyway, so I'm going for "the price of the domains"
- isatty 6y ago$30 dedicated from Hetzner can do this reliably enough for a non revenue generating blog, including blue green deploys, postgres, certs, cache, edge caches (Cloudflare I guess) and even Metabase (which admittedly can be a memory hog if you don't set it in the JVM).
- kjaftaedi 6y agoI put some VMs in Hetzner for a project I was working on, and found out you get what you pay for. They mistakenly deleted all of my virtual machines and all of my backups. If you host anything with them, or anyone I guess for that matter, make sure you have your backups hosted somewhere else.
- dddw 6y agoThanks for that warning. Was planning to migrate there. Do you still host there and if so, where do you backup to?
- kjaftaedi 6y agoThey were rather standoffish in their communication despite me attempting to be polite as possible to try and get my stuff back, so I did not want to continue with them. I'm mostly just using digital ocean these days. Their API is fantastic. These days I do a better job of keeping code in github even if I'm the only user, and backups can go anywhere as long as you're not relying on the same provider.
- thatwasunusual 6y agoDid they ever give you an explanation? I've used Hetzner for 6-7-ish years, and _never_ had any problems with them. I have mostly used their dedicated servers service, though.
- kjaftaedi 6y agoTheir security team was concerned that I was impersonating myself. They sent me a boilerplate e-mail that there was a problem with my account and to contact them to resolve it. I called them within 10 minutes, and they told me 'your account doesn't exist' They restored my 'account' which means i had a user with the same login and password, but all of the assets to the account were tossed to the wind. I can only guess that someone jumped the gun, (assuming they had an internal process at all).
- cool-RR 6y ago"How much does running a webapp in production actually cost? Maybe more than you think. [...] In total that’s around $145 USD per month." I thought that was going a really different direction than it ended up going.
- mosselman 6y agoCare to elaborate?
- grogenaut 6y agocan we not use unreadable fonts on websites? I read the top item as 6g aka 6,000 and the next (aws) as $60 and they were like "we can likely cut here".... yo you're spending $6k on the other thing cut there first... reading again yeah true.
- aembleton 6y agoLooks very readable to me: https://imgur.com/aWURtju https://imgur.com/aWURtju Are you blocking fonts.gstatic.com? It's loading the font (Raleway) from there.
- Neil44 6y agoAlmost half of that is an EC2 instance to run a reporting tool. 5$ DO instead? Also, 5$ a month for DNS hosting when DO will do that for free?
- freecodyx 6y agoThe cost this month will be higher, YC hug
- winrid 6y agoThese are fun to read, but the data is hard to use for anything unless you are building the exact same thing. (plug) Regarding Disqus, I run a competitor which you might like: https://FastComments.com https://FastComments.com
- young_unixer 6y agoLooking forward to the monetization post. Has the developer thought about using donations instead of ads?
- ramraj07 6y agoThis is not clear at all - 55k monthly users means nothing, what's the average number of requests per second? 99th percentile? What's the same stats for CPU and memory usage? 3.4k users per day is actually not that large a number, even assuming each user is going to bombard your server with thousands of requests in 20 minutes, it's well within what optimised flask with wsgi can handle with a very mediocre compute instance. Further,Are you absolutely sure that you have optimised your configuration and code for performance without changing the stack? (Serving static components directly via ngninx, caching responses using flask, caching other resources using memcached, optimizing gunicorn worker counts for the instance type, profiling which endpoints take the most amount of time and trying to optimize them, see if the bottleneck is webserver or the db, considering pypy, and probably 50 other ideas). Are you also absolutely sure that bluegreen deployments are what you want to use given your cost constraint? Further, if you have bluegreen it should be straightforward to downgrade your instances to smaller ones fairly easily,why not do that first before discussing costs? We run production webservers on t2.small ec2 instances in elastic beanstalk and (with some assumptions) handle comparable loads during work hours. We have two redundant instances and can easily scale up or down even on schedule with zero extra code. There's not even a need to minimize costs here because our application costs 100x more on data lake costs than the webservers, but it really helps keep the engineers grounded and ensuring they don't write outrageously inefficient code that's covered up by excessive server sizes.
- listenallyall 6y agoIt's disappointing (and expensive) that you have no caching strategy. I would bet that 99% of your scoreboards are updated very infrequently, these pages could be re-generated into static html pages via cron job every 30 minutes / 2 hours / once per day, whatever frequency you choose. It's a free service, make people pay to have real-time updates. My gosh, you are polling each leaderboard for changes every 15 seconds. Again, I would bet perhaps 1 in 1000 mature boards (i.e. online for more than a day) change in any 15 second period. You could severely reduce your server load by utilizing a CDN and statically-generating any board which hasn't changed in say, the past 6 hours.
- senko 6y ago> 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. Too late for them, but if you find yourself similarly needing to increase the capacity to solve a produciton issue on DO: you can upgrade CPU/RAM without increasing disk size. This allows you to downgrade later if you end up over-provisioning.
- PeterStuer 6y agoFirst of all kudos for putting something out there. That said, are you making the right tradeoffs? Most of your spend is going to 'luxury'. Dual overcapacitated deployments, hosted managed Postgress, hosted Metabase. It does sound like you could very significantly reduce your spend almost instantly with just a few minor changes, and dramatically if you would do a rethink of your stack.
- clashmeifyoucan 6y agoOne thing I do not understand—what is the point of paying for DNS instead of using Cloudflare or similar?
- pembrook 6y agoI don’t understand some of the comments quibbling over how this person has a “bloated” stack because it costs more than whatever irrationally frugal setup they’ve created for an app that does X specific thing. Here’s a bigger point: If you’ve got 55,000 monthly active users, and $171 per month doesn’t feel like a rounding error to you, then what you made isn’t actually valuable. Spending any amount of hours to reduce that already small number is a giant waste of time for anybody who has that level of traction.
- benhurmarcel 6y agoYou're assuming that the goal is to make something valuable. There are forums with more traffic than this, which don't make money. They're hobby projects.
- golergka 6y agoMaking something valuable is not the same as making money. May be you just want to feel that you're doing something good for the community. However, money is the universal way to measure value. And if you think that you create an enormous value for the community, and it's something that is important to you personally, paying a few hundred bucks a month for it should be a no-brainer.
- ClumsyPilot 6y agoYou mean like how repairing roads should be a no brainer, but no-one wants to pay for it?
- golergka 6y agoEven here in Russia, which is famous for its awful roads, there's plenty of private roads, both closed to public, and operated for-profit with toll booths that are in great condition. Tragedy of the commons doesn't happen when things actually belong to someone.
- 6y ago
- ianamartin 6y agoHow the fuck this is at the top of the front page when it's a clown running a clownshow and talking about costs is totally beyond me. I think we've reached peak HN. If you see a shark in your life, don't worry: you've already jumped it.
- ponytech 6y agoThe FAQ [0] still says it costs 15 EUR per month, you should update it. [0] https://keepthescore.co/about/ https://keepthescore.co/about/
- Havoc 6y agoThat seems like quite an expensive mix. Almost a third of the bill goes towards insights?
- grumple 6y agoMajority of HN seems very heated about $171/month. My company pays 100x that just for our RDS instance (granted we store a lot of data). If you told me 5 of our users ended up costing us 10k/month in operational costs, I wouldn’t even blink. 55k users is very valuable. If you make a single cent per user per month, you’re in the black operationally (not counting dev time). If you make that into a dollar, you get to quit your job and be upper-middle class indefinitely.
- hgo 6y agoI believe that most of the comments complaining about overspecing the runtime mentioned in this article (if at all, I find it reasonable), are extrapolating on their experience and referring to a general problem of overspecing in the industry. 1. Whenever I see a new company's/project's runtime, I have come to expect a massively overcomplicated system that is "built to scale". But ends up costing a lot and taking way too much time from product-development. A real issue with this is that when looking at the project's feasibility to actually do scale, the runtime-cost will be estimated to a multiple of the current runtime cost which will appear larger than if the systems were built to handle the current load. 2. To me, this seems like a failure of cloud computing, which has a very compelling promise of letting you start with small servers, then easily switch up to bigger servers when needed. This was, in fact, hard before cloud. 3. The biggest issue I have with overspeced and overly complex deployments, is that to me it appears like (novice) developers is led to believe that they have to do the job in a complicated way. Look at a typical tutorial from the big and trend-setting players how something should be deployed. The first hit on my favourite search engine for a "Hashicorp Vault deployment" [1] recommends using nine hosts. I know from experience that it runs fine on ONE host of the smallest kind I could find for our non-trivial use-case. Also, in that use-case it doesn't matter that it is not HA, because it has turned out to be more stable than any of our other stuff, and can be restarted in a less than a minute. (I wouldn't mind at all, if the actual motivation for a large deployment was: "it is fun this way" or "we do this for our own training and experience" or "we choose to do it this way because of specific requirements" or anything of the sort.) 4. It seems to me that, what is needed is enough experience and courage to say: let's do our deployment and setup in a simple way that will work, because we know that we are competent to solve scale issues when they appear and we are not building ourselves into a corner. Also, we can afford to take responsibility if scaling problems do occur because we did not follow industry "recommendations" (i.e. trends). [1] https://learn.hashicorp.com/tutorials/vault/deployment-guide https://learn.hashicorp.com/tutorials/vault/deployment-guide Edit: - clarified HA needs in point 3
- christilut 6y agoThe author says he wants to switch Disqus to Commento but I wouldn't just do that. I didn't have a great experience with Commento. I like the idea and mostly the execution of it (including the OAuth) but I found some major bugs (Firefox just didn't work at the time) and I didn't get any response to reporting those. I asked a few more questions by mail and also no response. After that I'm gone pretty quick. Not that I'm saying you should use Disqus since they have some privacy issues
- mtlynch 6y agoDitto. I was excited for Commento and signed up for a paid plan. I even contributed code.[0] The author sent me an onboarding email which included the line, "please reply to this email (I'm a real person)." I replied with some questions about the service and billing, but he never responded. Four months later, nobody has responded to my merge request, either. I canceled my service at the end of the month. [0] https://gitlab.com/commento/docs/-/merge_requests/41 https://gitlab.com/commento/docs/-/merge_requests/41
- wildchild 6y agoYou are a bunch of AWS idiots who literally must drive uber instead. GTFO.
- samcrawford 6y agoI note the author said: "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" One small advantage I've noticed with Linode over DigitalOcean is that you _can_ perform these down-sizing actions (without some messy rsync scripts or snapshot-and-recreate approach that DigitalOcean suggest). You first need to resize the disk down to the lower Linode's limits, and then you can down-size to a smaller instance.
- robotichead 6y ago-- QUOTE -- 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 ️. -- END QUOTE -- Does anyone know the minimal provisions they could potentially use in this case?
- donatj 6y agoI get 55k unique users to my personal site, per DAY. I’ve got a number of very popular tools I host for Minecraft and Dev work. It’s written in PHP/Go/MySQL I am on a $10 a month Digital Ocean Droplet hosting like 7 other sites as well, and it’s probably overkill.
- Slartie 6y agoBack in 2009-2013 or so I ran a quite popular add-on for World of Warcraft which aggregated data from about 200k active users regularly uploading it, maybe 5GB per day, into a common database of 5-10MB that was then downloaded by about 1 million users in varying intervals back into the game (it was some sort of mapping database, telling you where in the world which NPC was, with that info gathered by users using the tool). It came to eat several terabytes of monthly traffic, which was huge back in those days, but I operated that infrastructure by myself for several years on a single dedicated server for about 50€ responsible for the data aggregation work (heavy on I/O and computation) and two virtual server instances for about 15€ each which basically only served the downloads. The included traffic package on those VPSes was large, actually I chose the VPS offering precisely for that reason because I could economically cover all the download traffic that way. The compute power on them sucked, but they were basically a simple CDN setup so that didn't matter much. The total was about 70€, off course domain etc. need to be added, but I never paid more than 100€ for hosting of that app. It is really disconcerting to see that doing similar "do-it-yourself" hosting activities nowadays appear to cost twice as much (judging by the article) while the "raw msterials" - core backbone traffic, compute power, memory and storage - all have gotten waaaaay cheaper in the last decade. Too many new rent-seeking middlemen, I guess...
- axegon_ 6y agoI hate such titles with a passion. I wonder if people will ever realize that "X monthly users" means absolutely nothing. That's by far the most useless metric people have come up with. This is the exact equivalent of "costs of living healthy": 1. How do you define "healthy". 2. Genetic abilities. 3. Overall health. 4. Eating habits. 5. Your geographical location. 6. Your daily routine ..... X^60000. {Factor number X^60000} There are an infinite amount of buttons and dials that will determine how much "X monthly users" will set you back. Back in 2011 I used to own a blog that had something along the lines of 25k daily visitors. My annual bill was less than 100 bucks, domain included. And keep in mind that this was way before AWS, GCP and Azure came into the picture and costs were much higher than they are now. But I had spent months investigating the cheapest and most efficient ways to cut down costs. And it's the same with cloud providers - they can be brutally expensive or dirt cheap for the exact same thing if you don't take your time to see which and what is the best solution for your use case.
- tryauuum 6y agoWhy does the author want to migrate to google cloud? Simply to be closer to their firebase installation?
- nickjj 6y agoI'm confused about their thought process on their $95 a month DO servers. They mention using a blue-green deployment strategy and a managed database service. That implies their web servers are stateless, or at least stateless enough to switch between the servers seamlessly. But then they go on to say they don't want to downgrade because it means provisioning new servers. Even in the worst case scenario of not using configuration management tools, aren't we talking a few hours of work here to save yourself let's say $40 a month which is 25% of their monthly bill? That would be the cost savings of downgrading to a lesser server x 2. With configuration management tools, spinning up a new server would typically be running 1 or 2 commands and waiting 5 to 10 minutes. That's about how long it takes me to spin up a new server on DO to run a Flask application using Ansible and most of that time is because Ansible isn't exactly well known for its speed to execute tasks.
- ykevinator 6y ago55k users is an amazing success. Good luck and thanks for sharing
- pryelluw 6y agoDoes it generate revenue?
- marsdepinski 6y agoDuring the dotcom days, we hosted sites like this on a home dsl connection on a single desktop machine and got people to pay for that.
- ianhowson 6y agoHey, I still do this today for non-revenue-generating services. Pretty much every bigcorp I've ever worked for has some crucial service on a box under someone's desk...
- octabond 6y agoThis is one of the most difficult things to get when building your startup. At the beginning you have no way of getting accurate costs, and clearly, there's no one-size-fits-all approach for this. Its just trial and error
- viro 6y ago$5 a month for DNS?! I MUST be missing something. Why the hell would you need to pay monthly for dns? Edit: Guys if you down vote at least let me know what I'm clearly missing... Does dnsimple do something google domains can't?
- gbru 6y agoOP, it looks like you can save some money on metabase, one of your larger expenses, if you are able to move to render.com (whom I have no affiliation, but am a customer). They have a metabase add on: https://render.com/docs/deploy-metabase https://render.com/docs/deploy-metabase