AWS re:Invent 2014 | (SPOT302) Under the Covers of AWS: Its Core Distributed Systems
Amazon Web Services1 HN recommender · recommended in 1 month, 2021-2025
10K views · 11 years ago · talk · evergreen
An AWS re:Invent 2014 talk on the core distributed systems primitives behind AWS and Amazon.com, such as consensus, key-value stores and transactional logging. It describes how AWS builds large services from a few common building blocks.
HN points to it as insight into how AWS thinks about distributed systems and the difficulty of consensus.
47:51AWS re:Invent 2014: AWS Innovation at Scale with James Hamilton (SPOT301)
Amazon Web Services
70K views • 11 years ago
55:44AWS re:Invent 2018: How AWS Minimizes the Blast Radius of Failures (ARC338)
Amazon Web Services
37K views • 7 years ago
59:13AWS re:Invent 2018: [REPEAT 1] A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1)
Amazon Web Services
72K views • 7 years ago
53:43AWS re:Invent 2018: Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321)
Amazon Web Services
112K views • 7 years ago
1:33:27AWS re:Invent 2016: Tuesday Night Live with James Hamilton
Amazon Web Services
133K views • 9 years ago
34:52Liberating Distributed Consensus - Heidi Howard
Reactive Summit
7K views • 7 years ago
58:17Raft lecture (Raft user study)
Diego Ongaro
87K views • 13 years ago
1:19:35Lecture 1: Introduction
MIT 6.824: Distributed Systems
921K views • 6 years ago
1:06:34Paxos lecture (Raft user study)
Diego Ongaro
114K views • 13 years ago
5:28Inside a Google data center
Google Workspace
22.6M views • 11 years ago
14:36Distributed Systems 1.1: Introduction
Martin Kleppmann
382K views • 6 years ago
53:14Mastering Chaos - A Netflix Guide to Microservices
InfoQ
2.3M views • 9 years ago
52:41Seattle Conference on Scalability: YouTube Scalability
Google TechTalks
30K views • 19 years ago
1:10:23"Systems that run forever self-heal and scale" by Joe Armstrong (2013)
Strange Loop Conference
85K views • 5 years ago
1:06:08Scaling the Linear Sync Engine
Linear
37K views • 3 years ago
1:16:07React Helsinki February 2020
Fraktio
42K views • 6 years ago
1:05:06AWS re:Invent 2018: Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1)
Amazon Web Services
57K views • 7 years ago
42:26AWS re:Invent 2015 | (NET403) Another Day, Another Billion Packets
Amazon Web Services
55K views • 11 years ago
59:13AWS re:Invent 2019: [REPEAT 1] Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1)
AWS Events
115K views • 6 years ago
28:21Velocity 2012: Richard Cook, "How Complex Systems Fail"
O'Reilly
60K views • 14 years ago
7 comments from Hacker News
> But I did not expect something as core as the service managing the leases on the physical EC2 nodes to not have recovery procedure. I guess they don't have a recovery procedure for the "congestive collapse" edge case. I have seen something similar, so I wouldn't be frowning at this. A couple of red flags though: 1. Apparent lack of load-shedding support by this DWFM, such that a server reboot had to be performed. Need to learn from link 2. Having DynamoDB as a dependency of this DWFM service, instead of something more primitive like Chubby. Need to learn more about distributed systems primitives from ▶ this video
I just watched a talk on this the other day (assuming it's same person since he's saying the same thing) the other day: ▶ this video
> “There are only three modes for a distributed system - it implements paxos/raft itself, it relies on a data store that implements paxos/raft or it’s wrong.” That sounds like something Al Vermeulen would say. Though my recollection of the quote is more along the lines of: "There are three types of consistent distributed systems: paxos, broken protocols, and single points of failures." I'm guessing the talk it came from is Under The Covers: Core Distributed Systems Primitives that Power Our Platform[0]. That presentation is full of great insight into how AWS thinks about distributed systems. The other presenter, Swami, is the VP of AWS Databases now but started off getting Amazon's initial Paxos implementation going. I was lucky enough to work on those core building blocks and it was an incredible experience. 0 - ▶ this video
> Basic Paxos, is well, too basic and people mostly run modifications of this to get higher throughput and better latencies. After those modifications, it does not look very different from Raft. Alan Vermeulen, one of the founding AWS engineers, calls inventing newer solutions to distributed consensus an exercise in re-discovering Paxos. ▶ this video
> A few things around S3 were unique. We launched with a set of ten distributed systems tenets in the press release. The ten tenets were separate from S3, stating that this is how you would want to build distributed systems at scale. We just demonstrated that S3 is a really good example of applying those skills. In my own naive way I believe that AWS, today, probably embodies James Hamilton's vision [0] far more than most of those original 10 tenets. - > One of the keys to the success of S3 was that, at launch, it was as simple as it possibly could be, offering little more than GetObject and PutObject. At the time that was quite controversial, as the offering seemed almost too bare bones... most technology companies at the time were delivering everything and the kitchen sink, and it would come with a very thick book and 10 different partners that would tell you how to use the technology. We went down a path, one that Jeff [Bezos] described years before, as building tools instead of platforms. Most folks don't realise but starting somewhere around 2002 "Web Services" (SOA, UDDI, WSDL etc) was really hot and every company including Yahoo!, Google, and Microsoft were betting big on it. Amazon simply turned around and took a radically different approach to it all. This describes why Azure's initial push in 2008 [1] and Google's attempts with AppEngine [2] fell relatively short, even post AWS' IaaS play. - > We needed to build the right tools to support that rate of radical change
You are not alone: link and ▶ this video Like TFA points out, distributed consensus is punishingly hard. AWS relied on TLA+ to prove consensus in DynamoDB and other systems link Interestingly, Kinesis [0] and SQS (?) avoid consensus for those same reasons. [0] link
Reminds me of a "self-demotion" that worked out well: That of a certain Allan Vermeulen [0] who, by some accounts, was the chief architect of Amazon S3 [1], and by all accounts, an engineer extraordinaire. Vermeulen managed the Platform Services group when he joined [2], and later moved to a CTO role with focus on the then very nascent Web Services initiative [3], but eventually "demoted" himself to an "AWS Engineer" role to actually build key technological pieces that would underpin a lot of distributed systems at AWS [4]. Not bad at all. [0] link [1] link [2] link [3] link [4] ▶ this video