Live data from Hacker News

11 years of hosting a SaaS

ghiculescu.substack.com

111–120 of 222 posts

Re: 11 years of hosting a SaaS

#111

> But the worst Digital Ocean incident we ever had was when they turned all our droplets off all at once. The credit card entered into the account had expired, there was no backup card, and the contact email on the account went to a shared inbox that was not monitored. So for probably a month we were getting and ignoring billing alerts, until we really paid attention when everything was offline and not responding to…

I'd say that your service is dead unless proven otherwise. Your bills are unpaid unless proven otherwise. I'd be alerted by absence of regular emails telling me that my card was billed for the hosting service.

Re: 11 years of hosting a SaaS

#112
post #14

the progression from Heroku to AWS is very common as SaaS businesses grow. However one thing that’s missing from all “alternatives to Heroku” is what I call life after deployment or Day-2 operations. Many solutions show you a sleek demo of how easily you can deploy a Hello World app to their platform but leave you in a straight jacket when it the app is deployed and you need tools to keep it running, like changing an…

This precisely the niche Cloud 66 tries to fill, it caters for the growth businesses, providing initial ease but without sacrificing control. This allows companies to grow without being forced out before they are ready. (Disclaimer: I work for Cloud 66)

Does Cloud 66 have any resources on migrating a large (~300 GB) Postgres DB off Heroku, with minimal downtime? This has been our biggest sticking point when thinking about leaving Heroku.

Re: 11 years of hosting a SaaS

#113

Earlier quoted context omitted.

Or you could use sqlite until you need postgres. I have to admit I reach for postgres immediately when in many cases sqlite would have served me just as well.

SQLite seems to be gaining popularity with even larger projects which is surprising to me. As I see it, the big value prop of SQLite is that it runs in-process which, for a webapp, is almost nil? Other than that, it's not like queries are any simpler and the "simple" type system is, in my opinion, not a feature. I get that some might disagree with that. Is there some other reason why you would prefer it?

Here’s a great article explaining some of the benefits of using SQLite in production: https://blog.wesleyac.com/posts/consider-sqlite

I use it in my production SaaS serving around 4 million requests per month on one of the lowest DigitalOcean tiers. The big ones for me were cost, operating simplicity and performance. I don’t need a separate process or server running which has saved me some money and time, and the app’s workload doesn’t need a ton of inserts so the speed is blazing fast.

Re: 11 years of hosting a SaaS

#114
post #80

Earlier quoted context omitted.

And then there's Twitter who doesn't pay GCS and AWS for months and keeps operating normally.

Yeah, Twitter is totally comparable in that case, $50 a month is exactly the same thing as however many Millions of Dollars Twitter is paying to GCS/AWS with presumably custom contracts. But just to humor you: https://techcrunch.com/2023/06/14/twitter-is-being-evicted-f...

> many Millions of Dollars Twitter is paying to GCS/AWS

But they aren't paying anymore!

Re: 11 years of hosting a SaaS

#116

Great post, I've used all these services once or more at various points in my career. I'm still on the Digital Ocean stage, as I've found AWS is often overly complicated (or at least too much for me as a primarily solo founder) I'm curious about this line: > We were doubling the size of our customer base every 9 months, and pretty soon this meant we needed more servers. I've found that a moderately sized 4 core 'drop…

It seems like server performance has improved a lot over the last decade. The move from HDD -> SSD -> NVMe alone makes a huge difference for anything that touches disk. And my memory is that it was pricier to buy machines with more cores or RAM vs today.

It wouldn't surprise me if today's budget VPS does the work of several machines from 10/11 years ago, and costs less too!

Re: 11 years of hosting a SaaS

#117

I'm sure its interesting but I am making a conscious choice to not read or linger on user hostile articles. As soon as I want to scroll I am interrupted by a page takeover requiring action and subsequently compelling me to lose interest. Did you want me to read it or click buttons for you? Too bad your UI gets in the way of the U.

Firefox's reader view gets rid of all that on top of reducing other distractions

Re: 11 years of hosting a SaaS

#118
I read this article with interest, having run a SaaS for the last 8 years or so (solo-founder). I find it intriguing that the OP needed so much compute power. Computers are really powerful these days.

As a counterpoint of sorts, here's my "hosting journey":

* run everything on a single physical server rented at Hetzner (DE)

* [... several years pass, business grows ...]

* switch to ansible, learn it, spend a week or so to write automation for a 3-server setup, also learn terraform and write terraform configs for setting up a Digital Ocean system from scratch

* run production on a 3-server setup at Hetzner DE, run a staging system at Hetzner FI, also serving as a possible quick manual failover, for a total of 6 physical servers, test re-initializing systems from scratch regularly, test setting up a Digital Ocean system from scratch regularly

* [... several years pass ...]

* that's it — I really can't see a need for more in the near future.

But then, my software is not in Ruby on Rails, and I have no experience with that platform. I use Clojure and ClojureScript and I was careful to design everything to be rather client-heavy at the start. I also never wanted to depend on PaaS systems, mostly to avoid lock-in, but also because I don't buy the "just use our magic database offering and forget about database problems forever" selling pitch. You can sweep possible problems and complexity under the rug and hide them, but you can't run away from them. I also do not use Postgres (collective gasp in the audience), because having a single centralized point of failure is not something I want in my setup.

I also never needed significant sysadmin/devops support. Granted, I do have some experience, but these things do not require dedicated teams, unless you are YouTube. A little ansible+terraform goes a long way, so does buying an hour of two of consulting from an experienced sysadmin.

Those physical servers that I use are significantly faster than the over-subscribed cloud VM instances that you usually get from AWS and the like. And they have 64GB of RAM, not some measly amounts. If I need more servers, it takes on the order of hours to get additional ones, but I'm not sure what I'd use them for.

My total hosting bill is on the order of 350€/month and is boringly predictable.

Re: 11 years of hosting a SaaS

#119
post #43

Earlier quoted context omitted.

I'm looking at the ansible playbooks to setup my favourite beefy baremetal Hetzner server (128GB ram, Ryzen 9 5950X 16-Core, 450Gb fast NVME SSD, 3.5TB x2 NVME SSDs, 155€/month): - Install Debian 11 while booted in rescue mode. - Setup the root file system encryption using cryptsetup and dropbear (to enter the key during the boot through SSH). Involves chroot and some fun commands. - Setup ZFS encrypted mirror filesy…

If you skip Kubernetes the setup is not that complicated.

Yes, that list reminds me of the exaggerated posts about "look how hard it is to install Firefox on Linux!!". Claiming that setting up a Debian Postgres server necessarily entails knowing ZFS and Kubernetes is quite a reach

Not sure about Debian, but I believe Ubuntu Server will let you setup an mdadm mirror, LUKS (with LVM), and install and enable a Postgres server with a few buttons in the install wizard. It can even fetch SSH authorized keys from a Github account, covering by far the most important SSH hardening step (disabling passwords). Most hosting providers will also offer a one-click deploy that may similarly add your keys and do other common config

A better example of something that hosted databases makes a lot easier out of the box would be backup, replication, and monitoring

Re: 11 years of hosting a SaaS

#120
post #102

Earlier quoted context omitted.

It's not as simple as that. Do you know how quickly a business loses customers without being flexible? It's also reputation damaging for the market to know that DO draws a hard line.

They literally send an email every single day for a month. And they are flexible enough that if you do write them they will happily extend that grace period. It’s like saying car is a shitty transportation service because it stops working once the gas runs out. Not paying attention the the reserve light, instrument msg and pings is solely your problem. More so because you are running a business…

The car should arrange for a singing telegram to be delivered to your home, office AND your child’s daycare to notify you before shutting off its engine due to lack of fuel. In my country this is required by law.
Post reply on HN