4 ms·
If all you want is stuff running on the equivalent of EC2 instances, you can use DigitalOcean or some other competitor. However, AWS offers a degree of depth an
by beat 10y ago
If all you want is stuff running on the equivalent of EC2 instances, you can use DigitalOcean or some other competitor. However, AWS offers a degree of depth and sophistication that just isn't available from the competition. Trying to do something that is as security-clean as this VPC using DO or Linode or something, from scratch, sounds like weeks of hell to me.
"Not Invented Here" is a big problem in this industry in general. We tend to be too comfortable cobbling a solution together from stone knives and bearskins, rather than using someone else's solution (and paying for it). If you are running a business, though, you shouldn't be building things that aren't what you sell, unless you really cannot otherwise buy them.
- ethbro 10y ago> If you are running a business, though, you shouldn't be building things that aren't what you sell [or that you can't build more efficiently], unless you really cannot otherwise buy them. I'd add the above. Otherwise AWS would have never been built.
- beat 10y agoIndeed. Remember, AWS started as Amazon providing infrastructure as a service to internal projects, so individual teams and projects wouldn't have to go buy a bunch of hardware and ops staff in order to build products. Amazon itself is the biggest customer AWS has. Thanks to economies of scale, it's worthwhile for Amazon to develop new features as full-scale products, which leads to truly amazing things like Lambda. No one in their right mind would develop Lambda in-house, but for AWS, it makes a ton of sense.
- tootie 10y agoI think Netflix is their biggest customer.
- beat 10y agoI'd add, though, that "efficiently" isn't just whether you can build cheaper than buying. It's if the cost of building the functionality is cheaper than the profit/growth you can generate with a sellable product built using the same amount of developer effort. That's a very, very different (and probably more expensive) proposition. That's why executives should make the decisions, not engineers! Back in the dot-com days, I worked on a project to build some functionality in-house that we could easily have bought off the shelf. The engineers argued that we'd save the company a million dollars. But frankly, we just wanted to do it because it was badass. And it turned out our solution would actually have cost us more per-system than the commercial solution we sneered at (hardware costs, not just development cost). Six man-months of engineering when everyone knew we were racing the clock before the money ran out? Absolute stupidity. If I were CEO/CTO and caught wind of such a project, I'd tell people that if they lifted a finger on it, they'd be fired. But that's a very different perspective than I had back then. Risking the very existence of what could have been a very big company in order to someday save a million dollars? Feh. (Of course, no one stopped us, because the CTO was just head nerd, and the money execs were busy fundraising rather than supervising)
- ethbro 10y ago> That's why executives should make the decisions, not engineers! I understand your point and it's valid, but opportunities like this are juicy steaks for Oracle and IBM sales guys. I think the best possible outcome is to involve engineers, solicit a reasonable internal cost bid, then invite external contracts, then pick what makes sense. "We can just buy it" is what funneled money that could better be spent elsewhere into the coffers of legacy infrastructure companies for decades.
- beat 10y agoAs a for-example, we were implementing this stuff in the days before MySQL had ACID transactions (back when they bragged about how much faster they were than other databases, handwaving over the cost others had for implementing transaction logs and rollback). The DBA and I tried to get Sybase in, but the Sybase sales rep, unused to startups, quickly offended the CTO with vague pricing. He was an open source purist and wanted MySQL. I cannot begin to explain how much extra code we had to write to deal with the lack of transactions in MySQL! Sybase would have saved us a ton of time and risk.
- moondev 10y agot2.nano instances are less than $5 a month on AWS. Also I wouldn't even consider DigitalOcean a competitor to AWS. Not even close.
- misframer 10y agoYes, but Digital Ocean also includes storage and bandwidth.
- stephenr 10y ago> If you are running a business, though, you shouldn't be building things that aren't what you sell, unless you really cannot otherwise buy them. Using the "aws specific" features that are always touted as the reason it's expensive, have a secondary "invisible" cost to them that many don't or won't recognise: you're tying your business directly to a single provider, and one that has a history of predatory pricing to gain market control. You don't need to buy physical servers to not use aws. There's lots of middle ground that can be achieved for equal or lower costs, with less lock-in and more control for your business.