10 ms·
Is Amazon's cloud service too big to fail?
- barsonme 9y agoEven at a smaller scale it is a little nerve-wracking to know be so reliant on one provider. If AWS tanks there's a fair amount of code that'd need to be changed just to switch over to Azure or GCE. Failover with, e.g., email providers is easy enough, but the entire cloud stack (for lack of better terms) is a completely different ballgame.
- tylersmith 9y agoAWS provides a lot of features that are exclusive to their platform and can't be drop-in replaced on other providers like Azure of GCE. ELB, EFS, S3, ASGs, etc. They'd need to be replaced at the application level for other platforms. That could be a huge commitment for a decent sized system.
- conradk 9y agoI don't know about ELB, EFS and ASG but: - S3 has a public protocol and many 3rd party providers support it (OpenIO, Scality, Ceph, Minio, etc), - EFS could be replaced with something like DRDB or GlusterFS, or DigitalOcean's block storage or Google Cloud's networked disks. - ELB could be replaced easily with similar services from other providers [1] if you use Kubernetes (I don't know if all have a LoadBalancer type though) I would be more concerned about firewall/vpc rules, because I have no idea how those could be migrated without risk of forgetting some. Lock-in seems not that high in the end though and even less so if you use an open source container orchestration stack because they abstract most of these things away. [1] https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#external-load-balancer-providers https://kubernetes.io/docs/tasks/access-application-cluster/...
- Matt3o12_ 9y agoOne good way is to have automated tests which make sure that those rules actually work. What if all your AWS rules suddenly get deleted. How are you supposed to know if you have not forgotten any.
- Artemis2 9y agoTerraform (https://www.terraform.io https://www.terraform.io), which we use, is a neat way to abstract this configuration data. We keep the configuration files in git, and can do GitHub pull requests over our whole infrastructure and apply the configuration with confidence (to change the existing setup or re-create it from scratch). This works for multiple cloud providers and is great for security purposes (all changes are auditable, no configuration drift). Heap has a great blog post on Terraform : https://heap.engineering/terraform-gotchas/ https://heap.engineering/terraform-gotchas/
- dsandip 9y agoEssentially, a declarative configuration for infra is what you are getting at. You can take this further, using containers and orchestration tech, to abstract your application behind a declarative configuration making it infra agnostic (as it should be iMO). Obviously, not getting locked into any cloud provider services is a pre-requisite for this. Check out such an implementation here[1](full disclosure - I work here)) [1]: https://docs.hasura.io/0.14/ref/project-configuration-and-status/index.html https://docs.hasura.io/0.14/ref/project-configuration-and-st...
- PaulKeeble 9y agoIt is one of the issues with choosing the cloud providers and taking their stack. They are hoping the cost of swapping once bought into their way is too costly to a competitor who can offer similar service cheaper. Lockin used to be considered bad but something changed with cloud providers and ops/developers don't seem to care as much anymore.
- wiz21c 9y agoMaybe because pricing by, say Amazon, is published on their web site and therefore, the same for everyone ? Whereas before, when you were with one supplier, he could make specific price for you and leverage its position to make you pay more ? dunno...
- arethuza 9y agoI'd be very surprised if big users of AWS or Azure pay the rates advertised on the public web sites.
- latch 9y agoLike most large business, AWS has a sales department and sales engineers that behave like you expect. Rates are absolutely negotiable.
- sokoloff 9y agoHaving negotiated both, AWS is negotiable within a range that is much tighter than the range for enterprise sales of Cisco, EMC, etc gear. (Or AWS has better negotiators, but I've never gotten a call "Hey, Qx is about to end and I need to hit my numbers, so is there anything we can pull forward" from an AWS rep.)
- patta54 9y agoOur AWS rep is nice and cheery. He'll come into our office twice a year and bring sales engineers to hear about our upcoming projects. There's one lead developer on our team who keeps imagining systems that use half a dozen AWS services for "big data". The AWS dudes always end up talking to him the most and they definitely bait him with various pitches and, of course, feed his ego. Good thing that he's so disorganized and delayed that he never has a chance to waste company money on all that bullshit.
- awkwarddaturtle 9y agoIt's amazing how the promise of "decentralized" internet has turned into centralized datacenters. P2P networks, each computer being a "data store" on the internet, no one entity can control data, etc to modern day centralized cloud where a couple of players control so much. There has been a cultural shift. In the early 2000s, the idea of storing your data somewhere else would have been weird. But now, people don't care about keeping their data on apple/google/etcs data centers. I think it has to do with the fact that computer/internet illiterate people are now the majority whereas in the 90s/early 2000s, it was generally the computer literate on the internet.
- kirykl 9y agoI was pretty befuddled when my company IT switched from self hosted storage to commercial cloud accounts for incredibly sensitive info. I think the reasoning was cloud accounts are easier for the masses than mapping a drive and accessing over VPN
- ams6110 9y agoAlso someone else to blame when the sensitive info is exposed.
- patta54 9y agoI warn other developers at my company about this. When new projects spin up they're often very excited about using new Amazon services and will make any excuse to choose an AWS product over a stable open source solution. If I were a manager, I'd be very worried over the vendor lock-in. I don't understand the preference for AWS over open source in many cases. Their services are "reliable", but they often have minute restrictions that will eventually bite you. You also end up having to pay for something you could get for free. Why use SNS/SQS when there are free pubsub/message buses out there? Most of the other devs justify this with the argument of not having to maintain the software themselves. "But RabbitMQ might crash! We don't have to worry about that with AWS!" Anyway, I typically minimize the AWS services I use (S3, EC2, ECS) so I don't dread the day AWS blows up or, more likely, some VP or exec says we're moving to GCP/Azure because we got a better deal.
- kevan 9y ago>Why use SNS/SQS when there are free pubsub/message buses out there? Free is never really free. There's always a tradeoff in engineering time and money when you choose to run your own stack instead of paying to use a stable, well-established service. Oftentimes running your own will be cheaper overall, but you have to do that cost-benefit comparison for yourself.
- plandis 9y agoYou're also forgetting that if you set up something on your own you also have all the hardware concerns as well. You need to procure hosts, provision them properly, deploy them, monitor them, scale them, fix them. That infrastructure cost doesn't go to zero but it is significantly reduced using a cloud provider.
- patta54 9y agoI'm not arguing against cloud platforms in general; just the irrational use of very specialized services they offer. I can run a containerized service that uses open source packages on any of the cloud computing platforms. Now if I used Athena, SQS/SNS, DynamoDB, ELB, Lambda, EC2 that would make me very nervous, and I see other devs designing these stacks all the time. I guess I shouldn't care as much, because I'm not going to be the one to migrate that when the company gets a better deal from another platform service.
- dalbasal 9y agoThis is (I was surprised) a pretty good article. Financial services are regulated and based on recent experience, they're concerned with systemic risk. Most industries do not have anyone responsible for worrying about this kind of thing. It seems reasonable to start worrying about the fragility potentially introduced by these massive internet infrastructure companies.
- pferde 9y ago> Financial services are regulated and based on recent experience, they're concerned with systemic risk. Most industries do not have anyone responsible for worrying about this kind of thing. I'd say that most industries do not have anyone responsible for worrying about it high enough in the management chain.
- deleted 9y ago[deleted]
- tyfon 9y agoI really hate the "too big to fail" meme and I strongly agree with Bernie in that if you are too big to fail you are too big to exist. That should be the priority.
- 65827 9y agoWhy is every arrangement of characters now a "meme". That word has moved beyond devoid of meaning, at this point it's like a black hole of nothingness of a word.
- TrickyRick 9y ago> A meme (/ˈmiːm/ MEEM) is an idea, behavior, or style that spreads from person to person within a culture. Seems like it's fitting here, does it not? Certain banks being "too big to fail" is an idea passed among persons within our culture.
- cjsuk 9y agoThis does worry me. If there is a shortage of resources suddenly or a DC fire that takes out a region, then what? We have contingency against this via our own infrastructure but I worry about organisations who don't have any.
- provost 9y ago> Amazon EC2 is hosted in multiple locations world-wide. These locations are composed of regions and Availability Zones. Each region is a separate geographic area. Each region has multiple, isolated locations known as Availability Zones. Amazon EC2 provides you the ability to place resources, such as instances, and data in multiple locations. Resources aren't replicated across regions unless you do so specifically. Source: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-reg...
- kondro 9y agoOne region isn't going to be effected by fire. And AWS have dozens of regions. They're even managed as separate units by separate people. You'll notice there's never been a large, multi-region outage of AWS.
- coldtea 9y ago>This does worry me. If there is a shortage of resources suddenly or a DC fire that takes out a region, then what? Then some businesses will be out for a few hours / days. No big deal. From WWII to 9/11 to Katrina (and whatever regional stuff we have), we have been through much worse than that in modern history.
- smegel 9y agoIs it possible for AWS to have a multi-region outage - as in is there anything connecting them that could bring them all (or several) down at once? (Apart from the result of a botched patching or update to the core software stack that was done worldwide at the same time and hopefully never happens).
- HatchedLake721 9y agoNo. Hence them rolling out new features region by region.
- dmurray 9y agoA major solar flare and coronal mass ejection? It wouldn't just be Amazon that was affected, though.
- dijit 9y agoUnless you work at amazon, you can't know that. It looks very separated on the outside, but I've worked in so many companies that have appeared incredibly competent externally but have "snowflake" servers which keep things ticking over- Given Bezos treatment of workers I have absolutely no confidence that everything is as cleanly engineered as they claim.
- blazespin 9y agoYes, there are ways to bring down all of their arch at once, but you'd have to get through a lot of barriers to do it.
- mrep 9y agoThat would go against a core principle at aws which is to have every region completely isolated. Also, deployments are designed to be exponential and no region should ever have a cross region dependency.
- askvictor 9y agoA cascading electrical grid failure? I don't know if there are any interconnects between the regions with the DC's, but if there were that might be a concern. Though at that stage, presumably most of the US is without power, hence not so much need for AWS.
- fovc 9y agoI think about this problem every now and then for my own business, but not sure what the right answer is. Supporting multiple clouds requires more involved management of some pieces of infrastructure (e.g., DNS + healthchecks, DB replication), which introduces another point of failure. How do people who need to have more nines of availability manage this issue with cloud providers? (EC2 and RDS promise 3.5 nines per AZ, but I imagine outages are somewhat correlated across zones)
- sokoloff 9y agoVery, very few businesses should be architecting to ensure higher than 99.95% availability, IMO. (Less than 4.5 hours of downtime per year.) Users are patient enough to give you a pass if you're down that amount (especially if you're down that amount while 1/3rd of the internet is also down). Our largest e-commerce retail site does over $1BB/yr in fairly high-margin sales and still targets "only" 99.95% availability (generally it exceeds that with actual results, but we don't target higher than that). It's a hybrid of on-prem and cloud services backing that, migrating towards the cloud, but will never be 100% cloud as we own and run factories with on-prem equipment. (I know you asked "how" and I answered "whether", but I thought it relevant.)
- dastbe 9y agofor people who need more 9s of availability on a single cloud provider, you have to start going multi-region. aws takes region isolation/independence very seriously, and along with geographic independence gives you effectively two entirely independent clouds which just so happen to have the exact same APIs. Some of the (really great) Netflix blog posts[0] have talked about multi-region services. If you do go multi-cloud, I would be wary of picking regions that are located very close to each other. While you'll obviously get independent code and (likely) independent deployments, you're still susceptible to issues correlated with the physical location. [0] https://medium.com/netflix-techblog/global-cloud-active-active-and-beyond-a0fdfa2c3a45 https://medium.com/netflix-techblog/global-cloud-active-acti...
- jondubois 9y agoThat's why I think containerization and orchestration will be useful; open source orchestrators can standardize the infrastructure and make switching seamless. That way the infrastructure remains a commodity.
- lukeholder 9y agoExcept you can't containerize the huge amounts of data you are storing can you?
- blazespin 9y agoThe solution is pretty simple, AWS/Azure need to provide on premise versions of their cloud.. You'd probably get stuck with a particular version, but better than nothing.
- arethuza 9y agoThat's pretty much what Azure Stack is: https://azure.microsoft.com/en-gb/overview/azure-stack/ https://azure.microsoft.com/en-gb/overview/azure-stack/ There might well be a commercial niche for providing Azure Stack hosting in non-Microsoft data centers.
- bonesss 9y agoI think there is a massive market for 100% cloud-compatible local deployments. In my personal experience every .Net shop I've seen would love to be incorporating more Azure goodness locally, but can't as they're cloud specific techs which bump into the realities of deployment and maintenance. Personally, I think MS crapped the bed a little by taking Azure Stack off of commodity hardware and onto a combined hardware/software solution. Being able to deploy Azure-compatible solutions piece-meal locally would be a massive boon to governments, healthcare operations, and anyone working on a more thorough migration to the cloud. Most of the EU, for example, has privacy regulation that makes cloud hosting impossible in some situations. Having a 'local Azure' would make it highly reasonable have all apps architected around Azures components and technology. Without the local deployment though you're kinda stuck with each foot in a different canoe... Hybrid infrastructures are highly favorable to DevOps and multi-party development scenarios.
- Delphiza 9y agoFrom Scott Guthrie "“So if the performance is dropping, do you call the server manufacturer, do you call the networking manufacturer, do you call the load balancer manufacturer, do you call the storage manufacturer? They typically point the finger at the other guy and you spend weeks and months trying to debug and get your cloud to work." https://www.theregister.co.uk/2017/07/10/interview_with_microsofts_scott_guthrie/?page=2 https://www.theregister.co.uk/2017/07/10/interview_with_micr... We can all relate to that. A "cloud" is sufficiently complex that vendor blaming is an almost guaranteed outcome.
- cm2187 9y agoWhat would be great is the equivalent of the ACME protocol for cloud service providers. That will take a while and shouldn't happen until the offering matures and stabilises. But in an ideal world you wouldn't tie your application to a specific cloud provider. You should be able to lift and shift to another provider. Which I think is a merit of using VMs as opposed to individual services.
- unixhero 9y agoACME protocol?
- cm2187 9y agoDevelopped by let's encrypt, which helps solving the too big to fail problem with CA. When CA adopted it (which looks like it may happen), you will have a common protocol to create and renew certificates across CA.
- gaius 9y agoBut in an ideal world you wouldn't tie your application to a specific cloud provider. You can do that easily if you just treat clouds merely as hosted hypervisors and think entirely in terms of VMDKs. But this doesn't make commercial sense to do at least in the short term - you need to utilise the layered services you are paying for anyway or you might as well just run your own DC.
- icebraining 9y agoIt still makes sense for its elastic properties (from which EC2 got its name). You can't rent half a DC for an hour, but you can spawn generic instances from VMDKs on different providers with a fairly small abstraction layer.
- gaius 9y agoYour data still needs to live somewhere and giant VMDKs being copied around aren't a reasonable solution, I'd argue.
- nhumrich 9y agoFor articles where the headline is a question, the answer is always "no".
- sharemywin 9y agoHasn't anyone heard of disaster recover plans? I used to work at a medium sized insurance company and every year we had a project to update our disaster recovery plans. Including our main inhouse datacenter going down. If it was a critical system you'd better have a plan to get it back up in like 4 hours. and those were business critical we didn't have any life critical systems.
- YawningAngel 9y agoWhat's the disaster plan for "DynamoDB doesn't exist any more"? There is literally nothing else like it in the world. I don't know of an idiot proof queue system that can handle the scales SQS can take either.
- darkr 9y agoCassandra? Rabbit?
- AmIFirstToThink 9y agoIf your architecture means your system goes down if AWS is down, then the question becomes can you replace AWS with something better that you can build, have means to build, have time to build, can keep running, can get enough momentum in term of sheer size of customer base to fund the upkeep of the platform? If you can't build/run a better AWS replacement then it's a mute point, isn't it? Then the question turns into if you can't build better AWS, can you architect your application to handle AWS failures? AWS itself lets you handle many kind of failures at AZ/DC level. Are you using that? For global AWS outages, can you have skeleton, survival critical system running on GCP or Azure? Have you thought about outages that would be out of your control and out of AWS's control e.g. malware, DDoS, DNS, ISP, Windows/Android/iOS/Chrome/Edge zero day? How are you going to handle outages due to those issues? If you are prepared to handle outages (communication, self-preservation, degraded mode, offline mode) then can a serious AWS outage be managed just like those outages?
- savoytruffle 9y agoirrelevant points are "moot", not "mute"
- c22 9y agoMoot points aren't really irrelevant, on the contrary, they're perhaps the most relevant as non moot points are already settled.
- falsedan 9y agohttps://brians.wsu.edu/2016/05/25/mute-point/ https://brians.wsu.edu/2016/05/25/mute-point/ Woah, Prof Brians updated his layout
- darkr 9y agoI think you mean "moo". It's like a cow's opinion, you know, it just doesn't matter. It's "moo".
- 9y ago
- jpalomaki 9y agoThis goes to beyond having a plan-B for hosting your own stuff somewhere else. Think about all the 3rd party services you are depending on. Then think about how many dependencies those services have. How many trace back to Amazon on some level? The connections that could cause problems may not be obvious. For example network provider running into trouble because a ticketing or monitoring system that depends Amazon does not work. Hardware supplier not being able to ship spare parts for your on-premise SAN because logistics company runs into trouble due to issues at Amazon.
- martyvis 9y agoIt took me three reads of the first couple of paragraphs to realise that "snowball" and "snowmobile" were actually hardware products that you can touch. Tech news publishers need to do a jargon check and use appropriate punctuation, formatting or something to call out terms that 90% of readers would not have come accross
- cdolan 9y agoMaybe its because I saw your comment before reading, but I had no problem understanding the first few paragraphs. The author states that a "snowball" is a grey suitcase with 50tb of HDD space inside, and a "snowmobile" is a massive 18 wheeler with what I would assume is petabytes of storage.
- martyvis 9y agoIt's probably because it's 5 in the morning here :-) But looking at Amazon's own references to the appliances, they always capitalise the name. I guess what I can only assume was intentional obscuring what are probably trademarks made it read poorly to me.
- pavel_lishin 9y agoReally? It's explicitly stated in the very first paragraph, in the second sentence: > Not the lumps of mush and ice that children chuck at each other, but Amazon’s portable information storage devices, big grey suitcases that hold huge amounts of data. Capitalizing it might have helped, though.
- amerine 9y agoNo. https://en.wikipedia.org/wiki/Betteridge%27s_law_of_headlines https://en.wikipedia.org/wiki/Betteridge%27s_law_of_headline...
- nogbit 9y agoYes and no. By design it's not big, it just seems big. With relative RPO and RTO anyone can failover to other regions. And if you aren't leveraging multiple AZ's within a single region you need to rethink how you are using AWS. The very nature of AWS requires Amazon to build in capabilities to handle failover. But, as they say at Amazon, "everything fails, always".
- galkk 9y agoWhen I was working as contractor for one of big banks, which dev was concentrated on Canary Wharf, they weren't able to successfully complete disaster recovery testing on their primary database cluster for 2 years in a row, I just don't remember, was is department-wide or bank-wide. Basically, each 6 months DR testing was failing and it was accepted as harsh reality. After seeing how they're working inside, I don't think that moving their infrastructure to AWS/Azure/Google is worst that could happen. disc: Currently working at Amazon, but not at AWS.
- zeep 9y agoIf Amazon's cloud service would disappear today, it would be a chaos for a week or two but most people should recover (as long as they have backups).
- pavel_lishin 9y agoI'd wager most peoples' database backups live in AWS as well. Plus, some people have huge, huge datasets. It could easily take weeks to migrate to, say, GCE, or to your own hosted servers. In the latter case, it would also necessitate a pretty large up-front investment.
- acd 9y agoCloud services are concentrated by nature built with the same cloned DNA. Of course that is a systematic risk with so much it concentrated to fewer physical locations running on the same code. Think Cloned bananas vs fingers disease but computers. http://www.bbc.com/news/uk-england-35131751 http://www.bbc.com/news/uk-england-35131751
- jriot 9y agoNothing is too big to fail. Society needs to be able to adapt and maintain a level of patience during transition times i.e., be patient when Amazon's cloud fails to a new tool.
- forkLding 9y agoPersonally as a dev, I find AWS's service in the middle of Paypal (shit, not sure why they're popular) to Stripe (Damn that was fast and easy) seeing as I used them both. Their support is alright although you often have to pay for it but AWS docs are atrocious and remind me of university textbooks written by professors who like creating pseudo-scientific-sounding jargon which mixed with their huge array of features is quite un-comforting to use for even people with intermediate AWS experience (built some apps with AWS before kind of people). I can see that there could be more specialized services like Firebase (which is built on Google Cloud) that should be built on AWS for the users. Firebase is a breeze to use and very responsive and I've used it to build real-time chat apps in a couple days.
- omi 9y agoPeople (junior devs and designers mostly) seem to grossly underestimate the risk of single point of failure. Yeah, yeah distributed, I know... but more of a monoculture problem: most-successful-strain-of-X.