Why is this interesting? - The AWS Edition
On Amazon, cloud computing, and what it takes to build platforms
Noah here. This weekend’s decision by Amazon to shut down Parler put Amazon Web Services (AWS) in the news. Most of the time when we talk about Amazon we’re talking about amazon.com, the world’s biggest mall. We see their planes at the airport, trucks on the highway, and packages all over our house. And Amazon makes an insane amount of money that way. Eighty-eight percent of Amazon’s $96.1 billion in 2020 Q3 revenue came from their retail business. The other 12 percent? Amazon Web Services. Amazon Web Services, as the name implies, is in the business of selling companies the computing services they need to operate their software and digital infrastructure. What’s amazing is that while AWS represented just 12 percent of revenue in Q3, it accounted for 57 percent of Amazon’s profits that quarter. In other words, AWS is a very big business and one that continues to grow at a healthy clip despite its size.
When you hear about AWS, you mostly hear talk of servers and web hosting. While that’s technically part of the offering, what AWS does is a lot bigger and more interesting.
To start with, AWS relies on virtualization. Virtualization lets you create multiple “virtual computers” from the same hardware. For AWS this means the company can buy lots of servers, cut them up into lots of small virtual slivers, and then rent them to customers by the minute, hour, or day. (Reportedly part of the reason Amazon built out AWS was to recoup the costs for all the servers they had to buy to deal with the holiday rush.) Each of these “virtual machines” is running its own operating system and can be spun up or down on demand by the users. I remember how amazed I was the first time I tried a service like this: there’s something magical about asking for a new server, seeing a little spinning wheel, and then being given an address, username, and password to log in to a freshly installed operating system. When you’re done or if you want to just wipe your work and start over, you can power that server down and just get a new slice.
I think about this graph a lot. The X-axis is years and the Y-axis is revenue. Only Google got to $10 billion in revenue faster than AWS.
The reason the service is so profitable, at least in part, is that it’s a win-win for Amazon and its customers. The servers require an upfront investment and maintenance that most companies (and especially startups) aren’t particularly interested in and so they pay Amazon more long-term money to sell them the computing services they need on-demand. For Amazon, while the servers may be costly, they can more than recoup that cost by slicing them up into pieces and selling them for pennies or dollars an hour to lots of companies. The business is so good that both Google and Microsoft have also built businesses doing tens-of-billions in revenue with exactly the same model.
Why is this interesting?
The other part of the win-win for all three of these companies is that many of the services they sell to companies all around the world are the same ones they built for themselves to manage their massive digital businesses.
One of the more interesting bits of software engineering from the last ten years was published accidentally on Google+. It was by a Google engineer named Steve Yegge who had previously worked for Amazon and was disappointed by Google’s approach to building platforms. Yegge opens by talking about how, as a company, Google does most engineering things better than Amazon, before diving into how AWS came to be. It started with a mandate from Jeff Bezos, which Yegge summarizes as:
All teams will henceforth expose their data and functionality through service interfaces.
Teams must communicate with each other through these interfaces.
There will be no other form of interprocess communication allowed: no direct linking, no direct reads of another team's data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network.
It doesn't matter what technology they use. HTTP, Corba, Pubsub, custom protocols -- doesn't matter. Bezos doesn't care.
All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions.
Anyone who doesn't do this will be fired.
But then a bit later he gets into the real meat by explaining that “the first big thing Bezos realized is that the infrastructure they'd built for selling and shipping books and sundry could be transformed into an excellent repurposable computing platform.” While this seems like a boring idea a decade-and-a-half later, it must have taken a pretty big intellectual leap at the time (it launched in 2006). But then Yegge goes on to explain what he really saw as the most important decision to AWS’ success: accessibility. In his case, the point he’s making isn’t about making it easier for people with disabilities to navigate a website, but rather building everything with an interface for others to programmatically access.
In retrospect that decision was monumental. It completely changed the shape of the technology landscape and we’re only fifteen years in. “Amazon was a product company too,” Yegge wrote, “so it took an out-of-band force to make Bezos understand the need for a platform. That force was their evaporating margins; he was cornered and had to think of a way out. But all he had was a bunch of engineers and all these computers... if only they could be monetized somehow... you can see how he arrived at AWS, in hindsight.”
Like a lot of stories, this is probably too heavy on individual genius and too light on hard work by lots of people. But at the very least you’ll hopefully have a better picture of what people are talking about when they mention AWS. (NRB)
Partner post: Ghia x WITI
There’s a good chance you are in the second week of a dry January. And at this point, you want something that replicates the taste of a great cocktail, minus the booze. Trouble is, there’s not a lot that fits the bill. May we suggest Ghia? The brand describes its flavor as “vibrant, fresh and satisfyingly bitter, [it] tastes like summer on the rocks, featuring notes of nostalgic florals, earthy botanicals and a clean kick of citrus.” We concur. Also, there is an elegant volume to the beverage that actually feels like it has the familiar kick of alcohol. We drink it on its own (on the rocks), but it also pairs nicely with a simple mixer and a garnish to make you feel like you’re having a full-blown, expertly mixed cocktail from your favorite bar. The team has been kind enough to offer a code for WITI readers: GHIALOVESWITI for 20% off first-time orders (no minimum, valid until 1/31).
A great vintage Strokes concert in LA (CJN)
Bemelmans in repose (CJN)
The mystery of the world’s loneliest penguins (CJN)
Thanks for reading,
Noah (NRB) & Colin (CJN)
Why is this interesting? is a daily email from Noah Brier & Colin Nagy (and friends!) about interesting things. If you’ve enjoyed this edition, please consider forwarding it to a friend. If you’re reading it for the first time, consider subscribing (it’s free!).