top | item 34913978

(no title)

SassyGrapefruit | 3 years ago

> But I think most startups would save money and time by keeping it simple until they really need more.

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.

discuss

order

ryandrake|3 years ago

It seems like such a waste of time and complexity for a knob that only a tiny, tiny fraction of startups will ever have to turn.

mywittyname|3 years ago

I think of cloud platforms as less complex than managing your own systems. It's trivial to go from zero to functional product on GCP or AWS, and it's honestly not very expensive to get started either. GCP and AWS very clearly subsidize costs for early-stage startups in an effort to lock them in. A tiny startup might have a cloud hosting cost of 3 figures a year until they really take off.

And when your product does take off, scaling is often trivial.

SassyGrapefruit|3 years ago

I just don't see this. Building what I am describing can be done in days sometimes hours. Where exactly is the time and complexity? I would be willing to bet given a true greenfield(e.g. I can't use an ansible script that stole from my last job) I can build an autoscaling flask app with CI/CD and local environment on ECS twice as fast as accomplishing a lesser facsimile with a bare metal server or a VPS. If I built on a VPS I would still have concerns like backups, High Availability, DNS, Networking, etc. etc. to deal with.

I consider the latter to be far more complex.

throwaway894345|3 years ago

I'm often perplexed when I hear people complain about cloud costs. I can't tell if people just have really different workloads than I've experienced or if they just haven't considered cost when they pick their compute, databases, etc. If you use object storage, some serverless database, and some serverless compute a small company (by which I'm thinking "normally very low volume with occasional, very important, often large bursts") can keep their cloud spend to tens of dollars per month and save considerably by not having to manage all of the stuff that goes along with running VMs, database instances, or physical hosts.

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

The stuff you’re saving time on, managing hosts, just isn’t that much compared to dealing with aws/terraform/etc. I’m at a few orders of magnitude more spend than that, and in absolute dollars is very much noticeable how much more expensive aws is. But as a percentage of costs it’s so little next to wages, as is your example, that cost is really the wrong thing to get hung up on. Most engineers I’ve worked with don’t get that, they see a value they can objectively minimize, without realizing that even dropping it to zero his little business effect.

tstrimple|3 years ago

These complaints mostly seem to come from folks who are spinning up lots of VMs and architecting solutions the same way they would build in a data center. If you're running VMs 24/7 of course it's going to be expensive.

jmartrican|3 years ago

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

Thanks for sharing that.

> object storage

Is this like S3 or more like DynamoDB, or something else?

bitL|3 years ago

S3

flippinburgers|3 years ago

I have to disagree. There is an initial phase where a startup can simply use docker to provide their service. Having prepared that initial layer they can easily "scale up" and move parts to cloud services as they require.

greenthrow|3 years ago

You can get a VPS for like $5/month. So you can save near enough hundreds of dollars a month.

8ytecoder|3 years ago

I don’t think cloud cost is anywhere near as much as the cost to build a semi-decent HA/DR system and the devops process around it. Every minute the site is down it’s real monetary loss for most startups. It also takes time and energy away from building features. I have done both bare metal and cloud in two different startups. (This assumes you can’t afford to lose data or be offline for extended periods of time).

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

So, say you're saving $2500 a year? That seems pretty cheap for an option to scale up without fundamentally changing your operational architecture.

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

A couple hours of engineer time per month. Maybe 5 if we're being generous.

fijiaarone|3 years ago

And even more importantly, dozens of hours per month.