4 ms·
I generally never understood the appeal of the cloud, and the particular way the 3 big vendors sold proprietary services as a means of vendor lock-in. I mean, I
by torginus 5y ago
I generally never understood the appeal of the cloud, and the particular way the 3 big vendors sold proprietary services as a means of vendor lock-in. I mean, I understand the appeal to them, seeing how they made ungodly amounts of money doing it, and given the choice you never want to be in a commodity market, but as user/developers, the value proposition has always been unclear to me.
- The term 'containerization' implies in theory (and somewhat in practice) that you package your software in such a way, that it can run on commodity hardware with enough resources.
- The huge success of open source means that for any given problem domain (KV stores, SQL, Web Server,LB, caches etc.). There exists a best-in-class solution that's free as in speech. In fact, cloud providers' solutions use these libraries as well.
- The development of languages that combine productivity and performance (Go/Java etc.) and with Moore's law enabling ridiculous core counts/RAM sizes etc. means that there's less of an incentive to run a server farm when you can easily fit 128 peak-performance cores under your desk. Stackoverflow did this/has been doing this model with quite some success.
- edem 5y agoTo me the ease of use is key. I don't want to deal with outages, hardware failures, networking issues, etc. I only want to focus on the software. That's why I don't understand why would anybody (apart from some special cases) would run their own servers.
- darkwater 5y agoYou will still have to deal with outages (even if probably at a much lower rate). Just today I got a confirmation from AWS that the 1h outage that our production, multi-AZ RDS database suffered *three months ago* was due to an underlying failure in their storage subsystem. I didn't have to fix any SAN or fiber issue, true, but I lost hours puzzling and debugging things to understand why it failed, with no good answer (until today).
- edem 5y agoLet's be honest. It is much different than having to sit in the car in the middle of the night to change a hard drive in the server that just failed because of a power surge.
- darkwater 5y agoGonna go the typical HN nitpicking on examples > It is much different than having to sit in the car in the middle of the night to change a hard drive in the server that just failed because of a power surge. Never ever had to go at night in a data center to replace a single disk failure, even in my DC days. Always the 1st working day after the disk failure, since they were redundant. Now, network gear upgrades during the nights, those I made a few and I'm happy they are history for me now. But even in a cloud world you have to do from time to time low-traffic time interventions.
- piva00 5y agoIt's all about management cost. How much does it cost to operationalise your own server farm with the same guarantees you can get from a cloud vendor? Do you have the necessary expertise on infrastructure/SRE to have team(s) deploy and operate your own server farm with the production level your business require? Do you have a good hiring pipeline to supply you candidates with the required expertise when the time comes to replace your experts? Is that a business risk worth taking if it's not your business' core business? For example: I use Elasticsearch and have used it for the past 10 years, I have deployed ES clusters myself, I have been a team lead for infrastructure teams that had to support a ES cluster, etc. I would never, ever, choose to do it myself again if I can find a managed solution. It's a lot cheaper when you factor in that you will require at least 1 engineer with expertise (or being trained for it) to properly support a running ES cluster in production. The same applies for databases (I've managed shards/clusters of Postgres and MySQL in my life), and Kubernetes clusters, and any other piece of infrastructure that becomes critical to your business, you have to manage it and therein lies the majority of the cost of any solution: supporting it. The cloud provisions, manages, backs up, fails over, etc., without intervention from my side. Yeah, I can set up all of that myself but that is another cost to take into consideration, and something also to be maintained over the years. Yes, I can find open-source tools for a lot of issues in software engineering, I can't find anyone to run those tools for free, so the trade-off analysis is based on this when looking into solutions, and a lot of the solutions from cloud vendors is exactly managing resources for me and my teams.
- raffraffraff 5y ago> For example: I use Elasticsearch and have used it for the past 10 years, I have deployed ES clusters myself, I have been a team lead for infrastructure teams that had to support a ES cluster, etc. I would never, ever, choose to do it myself again if I can find a managed solution. Ditto. I've seen ES / Cassandra cluster management casually dropped on a team who just happen to use an frontend that relies on them. Those are usually the most brittle, unloved databases in the world, and everyone on the team ends up walking away with the false impression that "X is a tire fire, never use it".
- 5y ago
- dr-detroit 5y agoI could list the benefits but you're just advocating about the most ignorant thing I've ever read. Just run it on a box under your desk? What about real life? And business? And adult consequences to your actions?