davideisinger.com

My personal website
Log | Files | Refs | README

world-hey-com-ivvqlb.txt (4893B)


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