update it must work note
This commit is contained in:
103
static/archive/world-hey-com-ivvqlb.txt
Normal file
103
static/archive/world-hey-com-ivvqlb.txt
Normal file
@@ -0,0 +1,103 @@
|
||||
#[1]Feed
|
||||
|
||||
[2][avatar-20210222112907000000-293866624]
|
||||
|
||||
David Heinemeier Hansson
|
||||
|
||||
May 4, 2023
|
||||
|
||||
Even Amazon can't make sense of serverless or microservices
|
||||
|
||||
The Prime Video team at Amazon has published a rather [3]remarkable
|
||||
case study on their decision to dump their serverless, microservices
|
||||
architecture and replace it with a monolith instead. This move saved
|
||||
them a staggering 90%(!!) on operating costs, and simplified the system
|
||||
too. What a win!
|
||||
But beyond celebrating their good sense, I think there's a bigger point
|
||||
here that applies to our entire industry. Here's the telling bit:
|
||||
|
||||
"We designed our initial solution as a distributed system using
|
||||
serverless components... In theory, this would allow us to scale
|
||||
each service component independently. However, the way we used some
|
||||
components caused us to hit a hard scaling limit at around 5% of the
|
||||
expected load."
|
||||
|
||||
That really sums up so much of the microservices craze that was tearing
|
||||
through the tech industry for a while: IN THEORY. Now the real-world
|
||||
results of all this theory are finally in, and it's clear that in
|
||||
practice, microservices pose perhaps the biggest siren song for
|
||||
needlessly complicating your system. And serverless only makes it
|
||||
worse.
|
||||
What makes this story unique is that Amazon was the original poster
|
||||
child for service-oriented architectures. The far more reasonable prior
|
||||
to microservices. An organizational pattern for dealing with
|
||||
intra-company communication at crazy scale when API calls beat
|
||||
scheduling coordination meetings.
|
||||
SOA makes perfect sense at the scale of Amazon. No single team could
|
||||
ever hope to know or understand everything needed to steer such a fleet
|
||||
of supertankers. Making teams coordinate via published APIs was a
|
||||
stroke of genius.
|
||||
But, as with many good ideas, this pattern turned toxic as soon as it
|
||||
was adopted outside its original context, and wreaked havoc once it got
|
||||
pushed into the internals of single-application architectures. That's
|
||||
how we got microservices.
|
||||
In many ways, microservices is a zombie architecture. Another strain of
|
||||
an intellectual contagion that just refuses to die. It's been eating
|
||||
brains since the dark days of J2EE (remote server beans, anyone??)
|
||||
through the [4]WS-Deathstar nonsense, and now in the form of
|
||||
microservices and serverless.
|
||||
But this third wave seems finally to have crested. I wrote an ode to
|
||||
[5]The Majestic Monolith way back in 2016. Kelsey Hightower, one of the
|
||||
leading voices behind Kubernetes, [6]put it beautifully in 2020:
|
||||
|
||||
"We’re gonna break [the monolith] up and somehow find the
|
||||
engineering discipline we never had in the first place... Now you
|
||||
went from writing bad code to building bad infrastructure.
|
||||
Because it drives a lot of new spend, it drives a lot of new hiring…
|
||||
So a lot of people get addicted to all the flourishment of money,
|
||||
and marketing, and it’s just a lot of buzz that people are attaching
|
||||
their assignment to, when honestly it’s not gonna necessarily solve
|
||||
their problem."
|
||||
|
||||
Bingo. Replacing method calls and module separations with network
|
||||
invocations and service partitioning within a single, coherent team and
|
||||
application is madness in almost all cases.
|
||||
I'm happy that we beat back the zombie onslaught of that terrible idea
|
||||
for the third time in my living memory, but we still need to stay
|
||||
vigilant that we'll eventually have to do it again. Some bad ideas
|
||||
simply refuse to die no matter how many times you kill them. All you
|
||||
can do is recognize when they rise from the dead once more, and keep
|
||||
your retorical shotgun locked and loaded.
|
||||
|
||||
About David Heinemeier Hansson
|
||||
Made [7]Basecamp and [8]HEY for the underdogs as co-owner and CTO of
|
||||
[9]37signals. Created [10]Ruby on Rails. Wrote [11]REWORK, [12]It
|
||||
Doesn't Have to Be Crazy at Work, and [13]REMOTE. Won at Le Mans as a
|
||||
[14]racing driver. Fought the big tech monopolies as an [15]antitrust
|
||||
advocate. Invested in [16]Danish startups.
|
||||
|
||||
Subscribe to get future posts via email (or grab the [17]RSS feed)
|
||||
____________________ (BUTTON) Subscribe
|
||||
|
||||
[18]Sent to the world with HEY
|
||||
|
||||
References
|
||||
|
||||
1. https://world.hey.com/dhh/feed.atom
|
||||
2. https://world.hey.com/dhh
|
||||
3. https://www.primevideotech.com/video-streaming/scaling-up-the-prime-video-audio-video-monitoring-service-and-reducing-costs-by-90
|
||||
4. https://www.flickr.com/photos/psd/1428661128/
|
||||
5. https://m.signalvnoise.com/the-majestic-monolith/
|
||||
6. https://changelog.com/posts/monoliths-are-the-future
|
||||
7. https://www.basecamp.com/
|
||||
8. https://www.hey.com/
|
||||
9. https://37signals.com/
|
||||
10. https://rubyonrails.org/
|
||||
11. https://www.amazon.com/Rework-Jason-Fried/dp/0307463745
|
||||
12. https://www.amazon.com/Doesnt-Have-Be-Crazy-Work/dp/0062874780
|
||||
13. https://www.amazon.com/Remote-Office-Not-Required/dp/0804137501
|
||||
14. https://www.youtube.com/watch?v=iNQl0x6WS3M
|
||||
15. https://dhh.dk/#antitrust
|
||||
16. https://dhh.dk/#investor
|
||||
17. https://world.hey.com/dhh/feed.atom
|
||||
18. https://www.hey.com/world/?utm_source=hw-web
|
||||
Reference in New Issue
Block a user