(no title)
SassyGrapefruit | 3 years ago
Having done this several times I can definitively say given my experience it's best to start in the cloud with a cloud native architecture. I can run a fully containerized application in ECS or EKS for a few hundred bucks a month. Why would I incur all the costs and limitations of a VPS or even worse a server I have to look after myself? How much can I really save? $50 a month maybe less?
A long time ago when I was working a major telecomm provider I had the privilege of working with a great software mentor. He instilled in me the lesson of knowing approximately where you are going to land and not do anything now that would jeopardize that landing.
If I was a CTO at a greenfield startup. I would insist we deploy on a PaaS that supports serverless, object storage, and container orchestration. We would recognize and enforce well accepted patterns that will not impair our ability to scale later. There is plenty I can do to keep the costs low(most importantly turning things off) then when I need to scale up its as easy as turning a knob.
ryandrake|3 years ago
mywittyname|3 years ago
And when your product does take off, scaling is often trivial.
SassyGrapefruit|3 years ago
I consider the latter to be far more complex.
throwaway894345|3 years ago
Like, I assume I'm the one missing something because people swear up and down that it's the other way around, but I haven't found the happy path for managing hosts (virtual or physical) that delivers on the promise of simpler-than-cloud. There's a disconnect somewhere because I'm sure there are a lot of people who can't find the happy cloud path that delivers on the simpler-than-diy approach.
idunno246|3 years ago
tstrimple|3 years ago
jmartrican|3 years ago
Thanks for sharing that.
> object storage
Is this like S3 or more like DynamoDB, or something else?
bitL|3 years ago
flippinburgers|3 years ago
unknown|3 years ago
[deleted]
greenthrow|3 years ago
8ytecoder|3 years ago
Here’s what you’ll need to setup and run a single database :-
- Installation script and infra provisioning. You need a repeatable way to do this with as little manual intervention as possible and I can swear it never just works.
- Backup and recovery scripts and associated monitoring
- Replication setup, monitoring and debugging. It will break often.
- Monitoring for infra - CPU, memory, network. There’ll be unforeseen spikes and random slow downs and a whole bunch of slow queries you’ll debug on a regular basis.
- Security - users, permissions, auditing. Both machine and database. Regular password rotation and firewall rules. Ability to off-board users.
- If you survive all this, being able to scale up. And I mean just vertical scale up will take you far but you cross that limit, you now suddenly have to deal with sharding or partitioning.
So when I joined a new startup and we were building it all from scratch it was a very easy decision to go with the cloud. We spent $3500 a month. Not a lot but nothing compared to the salaries and marketing spend.
sanderjd|3 years ago
The bigger question mark than the money, I think, is whether this scale up approach actually works, or whether you end up fundamentally changing everything anyway. In my experience it's a mixed bag. There are some advantages, but it also isn't a panacea, and certainly isn't as easy as turning that dynos knob on heroku was. But at the end of the day, I land on it being worth it for a business (though not for a hobby). But it isn't a no-brainer.
treis|3 years ago
fijiaarone|3 years ago