3 ms·
Which of the following is the more likely failure mode for a new product: A.) So many customers wanted it that we couldn't scale fast enough. B.) We ran out o
by jasonkester 8y ago
Which of the following is the more likely failure mode for a new product:
A.) So many customers wanted it that we couldn't scale fast enough.
B.) We ran out of time or money before we shipped.
The author appears to be worried about A, but in my experience it's B that you need to think about when starting out.
Imagine if, instead of building any of those crazy 30-node-diagrams of an architecture in the article, he'd had one guy build his entire product in a day as the equivalent of the "20 Minute Rails Blog Demo". Then shipped it via any of the thousand-odd boring ways to deploy such a thing.
He'd still have the same number of months to worry about stacking all those blocks into that unmaintainable tower of pain, but in the meantime his product would be out in the wild. Possibly even attracting the users that might one day make such a silly architecture necessary.
As it is, he'll still ship one day. But my money is that he'll never see traffic that would overload a single server.
Because that's what happens with 99% of the things one ships. The other 1% you can fix as needed. Possibly using AWS Lambda for the pieces that need it.
- deleted 8y ago[deleted]
- slobodan_ 8y agoI am not worried about A at all. This was a technical article, but here's the explanation I posted to twitter: Although I enjoy talking about technology, and I enjoy working with serverless, it's important to note that using serverless for @slackvacation is not a technology decision. It's a business decision. Not because the auto -scaling, that's nice to have, but that's not a problem startups are facing in their early phase. It's about financial incentives — also, about focus, ability to move fast and test ideas, and the ability to grow without shooting future self into the foot. We still often fail to do things fast enough, but we are aware of the problem and working hard to fix it.
- jasonkester 8y agoIt sounds like part of your decision was that Lambda comes out cheaper for hosting. That also doesn't pass the arithmetic I use to evaluate such things. A dev, fully loaded, will cost you $200/hour. A half cage at a colo with a really fast machine in it will cost $800/month. So if you choose a stack that adds 4 hours of work each month (or 80 extra hours upfront), you're behind. Given that (as I touched on above), your chances of outgrowing a beefy box in a colo (or its managed equivalent) can be thought of as zero until you see the big success event that proves otherwise, my money is still on boring tech and boring hosting. Granted, Lambda is cool. I love building stuff on it for other people on their dime. But as a guy who also builds businesses on my dime, it remains a tool for tiny niche cases that can safely go down on a saturday morning without making me cancel my weekend.
- slobodan_ 8y agoServerless is so much more than just Lambda functions.
- bradenb 8y agoI recently heard the following analogy: IaaS => Owning a home PaaS => Bed and breakfast Serverless => Hotel room Lambda I guess would be like using the coffee pot in a hotel room? Don't worry about power, don't worry about beans. Every time you come into your room it's ready to go, just press "on".
- dustingetz 8y agothe point of serverless is that everything is much simpler, it is just functions! it is more a question of how early do you break even on ROI in simplicity, and maybe that isn’t in the first 6 months of a startup’s life yet. But in the future the break even point may be zero minutes.
- collyw 8y agoIts just moving complexity from one place to another though, isn't it? From the application layer to the deployment layer.
- freebit50 8y agoYour advice is great and all and obviously would work, but it doesn't help his resume or help him achieve "influencer" status.
- qaq 8y agoThis a thousand times ^^ running on single box (or 2 + load balancing if you want HA) on something like DO would be a reasonable start for 99% of startups.