AWS re:Invent 2018: [REPEAT 1] A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1)
Amazon Web Services2 HN recommenders · 2019–2019
72K views · talk · dated · Uploaded 2018-11-30
An AWS re:Invent 2018 session in which Holly Mesrobian and Marc Brooker explain how AWS Lambda is built, including its sandboxing, isolation and scaling architecture. It covers what happens under the hood when serverless code runs.
HN cites it as the authoritative description of Lambda internals and isolation, by the engineers who built it.
42:03The Soul of Erlang and Elixir • Sasa Juric • GOTO 2019
GOTO Conferences
40:20"Testing Distributed Systems w/ Deterministic Simulation" by Will Wilson
Strange Loop Conference
19:10Velocity NY 2013: Richard Cook, "Resilience In Complex Adaptive Systems"
O'Reilly
52:35Debugging Under Fire: Keep your Head when Systems have Lost their Mind • Bryan Cantrill • GOTO 2017
GOTO Conferences
59:56AWS re:Invent 2018: Amazon DynamoDB Deep Dive: Advanced Design Patterns for DynamoDB (DAT401)
Amazon Web Services
49:15Erlang Factory 2014 - That's 'Billion' with a 'B': Scaling to the Next Level at WhatsApp
Erlang Solutions
47:43"Turning the database inside out with Apache Samza" by Martin Kleppmann
Strange Loop Conference
1:02:50The Language of the System - Rich Hickey
ClojureTV
3 comments from Hacker News
I believe AWS does share customer information within a device, but with a lot of sandboxing below that. You can watch this talk to learn more: [VIDEO] I think the threat model is basically that you'd need a KVM kernel 0-day + the ability to exploit it, so a point of privilege such as outside of the firecracker sandbox.
AWS SDE here. The short answer is, in order to get your team to adopt something, you need to make the case that it's better for customers (including things like migration costs). If the modern thing is more efficient, is higher availability, increases velocity, and so on then the case can be made. Some specific examples based on things you cite: * For an example of something OSS or "modern" coming from AWS, checkout Firecracker (written in Rust): [LINK] * With regards to "reinventing wheels" Apollo + EC2 solves a lot (not all) of the problems that containers solve, and existed for years before containers became the hotness. * Docker, which brought containers to the masses launched in 2013. * EC2 launched in 2006 (7 years before Docker). * Apollo (and the build system Brazil) predated EC2 by many years. * Amazon.com was migrating to EC2/AWS before 2012 ( [LINK] ) * Another example, Lambda, which launched in 2014 runs on EC2 ( [VIDEO] ). * New services get to build in AWS and use Lambda, ECS, DynamoDB etc based on their business needs.
Here are a couple videos from reInvent 2018: Jaso talking about DynamoDB internals [LINK] Marc talking about Lambda internals [VIDEO]