Live data from Hacker News

11 years of hosting a SaaS

ghiculescu.substack.com

81–90 of 222 posts

Re: 11 years of hosting a SaaS

#81
post #65

Earlier quoted context omitted.

DO should have done something like that as well, just cutting off service because you sent some emails is kinda shitty. DO should abide by the law of the country they operate in. If that means they can shut off services for non-payment then that's what they're entitled to do. By the sounds of it they gave plenty of warning and 30 days service they weren't getting paid for. Email is the expected form of business commu…

I SSH'd plenty. There was no billing notice. I think that + allowing customers to add more than one credit card to an account are reasonable suggestions. Maybe they do that now - this was 7 years ago. I'm not trying to shirk responsibility though. We didn't, for example, pass the buck by telling our customers our site was offline because of DO.

How do you deal with customers that don't reply to email notifications and don't have a phone number on file?

I can appreciate how terrible must have been to suddenly find all your servers shut down, and I understand how easy it is to set up billing and forget, especially with the day to day stress of running a startup, but what would you have done if you were DO?

> our site was offline because of DO.

Or maybe it's because of the bank that expired your credit card?

Re: 11 years of hosting a SaaS

#82
post #65

Earlier quoted context omitted.

DO should have done something like that as well, just cutting off service because you sent some emails is kinda shitty. DO should abide by the law of the country they operate in. If that means they can shut off services for non-payment then that's what they're entitled to do. By the sounds of it they gave plenty of warning and 30 days service they weren't getting paid for. Email is the expected form of business commu…

I SSH'd plenty. There was no billing notice. I think that + allowing customers to add more than one credit card to an account are reasonable suggestions. Maybe they do that now - this was 7 years ago. I'm not trying to shirk responsibility though. We didn't, for example, pass the buck by telling our customers our site was offline because of DO.

You did describe them as "dodgy" though.

Not proactively updating expired cards is dodgy. Supplying an unmonitored email address as a contact address is dodgy. Cutting service after non-payment, email warnings, and grace period is normal and expected.

Re: 11 years of hosting a SaaS

#83
post #12

> Use managed services for as long as possible Big agree here. Yes, you can save stupid money by handrolling postgres on an extremely beefy Hetzner server, or you can pay someone else and keep building your product: https://onlineornot.com/self-hosting-vs-managed-services-dec... This isn't to say, "don't bother learning how to do it yourself", but more "learn to pick your battles".

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?

Re: 11 years of hosting a SaaS

#84
post #80

> 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…

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...

Re: 11 years of hosting a SaaS

#85
post #80

> 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…

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

I can guarantee you they’re not ignoring emails from their providers, if this is the case.

Account management involves a lot of discussion and your account manager will keep the service running if they think the bill will eventually get paid.

Re: 11 years of hosting a SaaS

#86

> 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…

Not exactly. Some countries have laws in place that prevent a provider from removing service due to non-payment to a business. Instead they must follow a process, including physical paper notices, before removing service. DO should have done something like that as well, just cutting off service because you sent some emails is kinda shitty.

These laws are usually for utilities providers to residential customers. The aim is to stop people in poverty freezing to death in winter, not to protect a business with poor operating practices.

Re: 11 years of hosting a SaaS

#87
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.

I'm not sure. I rather use a lightweight kubernetes or perhaps nomad than do everything that kubernetes does without it. It sounds even more complicated. But I agree that for one single postgresql isolated from everything, kubernetes is overkill.

Re: 11 years of hosting a SaaS

#88

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…

Why are you running cluster orchestration software on a single machine?

My clusters don't necessarily have one machine, but I have a few clusters with a single node.

K3S is pretty lightweight and kubernetes is much more than cluster orchestration, so the pros win against the cons.

Re: 11 years of hosting a SaaS

#89

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…

Great questions.

There is some heavy compute - most of the real value is in our pay calculations and compliance features which are all based on algorithms that calculate correct pay based on legal requirements.

But mostly it's just having lots of concurrent users. For a while a few droplets was plenty, and then one day we hit a tipping point where it was overwhelming.

Re: 11 years of hosting a SaaS

#90
post #54

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…

Our terraform config for RDS is about 50 lines of configuration. We get a much smaller instance for our money, but ultimately figuring out all of what you posted isn't a good use of my time (yet).

I agree, if you don't have the time and don't find it fun, managed services in the cloud is a better idea.
Post reply on HN