Death By A Thousand MicroService | Prime Reacts

210,379
0
Published 2023-09-18
Recorded live on twitch, GET IN

twitch.tv/ThePrimeagen

Blog article: renegadeotter.com/2023/09/10/death-by-a-thousand-m…
Author: Andrei Taranchenko | twitter.com/andrenaleen

MY MAIN YT CHANNEL: Has well edited engineering videos
youtube.com/ThePrimeagen

Discord
discord.gg/ThePrimeagen


Have something for me to read or react to?: www.reddit.com/r/ThePrimeagenReact/

Hey I am sponsored by Turso, an edge database. I think they are pretty neet. Give them a try for free and if you want you can get a decent amount off (the free tier is the best (better than planetscale or any other))
turso.tech/deeznuts

All Comments (21)
  • @keyboard_g
    Maybe every function call doesn't need to traverse the network. Next up, statically linking our micro-services into a single binary called an executable.
  • @KoboldAdvocate
    microservices is just a sneaky way for big devops to make us all into devops engineers
  • @Kane0123
    My real comment is stuck between the comment spellcheck service and the language determination service.
  • @antheus_s
    The "cosplaying that you're Google or Amazon" part is so spot on. Some years ago, my company was hired for a client that wanted to migrate to a microservices architecture. It seemed really unnecessary because their userbase was ~10,000 users and their performance (and costs) were fine. Still, discussions were held about how "microservices are the future" and "to scale, we will definitely need microservices". In the end, I helped them to move from a traditional monolith to a modular monolith, which worked much better for their company and use case and prevented the need of hiring additional people and changing their entire infra DX.
  • @Trezker
    When I was in uni they talked about premature optimization. These days, everyone should talk about premature microservicing. First build it, then optimize it, then distribute it.
  • @3lH4ck3rC0mf0r7
    We solved this problem 30 years ago, with the compiler and the linker. Individual C/C++ files get compiled into object files, that are like binary puzzle pieces, and the linker's job is to complete the puzzle, creating a complete program. We threw decades of hardware efficiency and toooooling away to come up with a shittier, slower linker, all because we couldn't bother to teach the young heads how a computer actually works.
  • @velo1337
    tracing a microservice pipeline is like putting together the fruits you put into a blender after blending it
  • @dualipyah2221
    "some startups have gone as far as create a service for each function" LOL you don't know how many startups does this. one time we had a service for uploading file to s3 bucket 😁
  • @pesterenan
    "It took that many people to copy Twitter's open code base?" HAHAHHA
  • @ANONAAAAAAAAA
    Choosing the simplest and most standard technologies which are enough to solve the real problems we are facing right now, is my decision making algorithm when choosing technology stacks.
  • @thegrumpydeveloper
    Microservices are great if they work. But they don’t work without logging, async, retry, failure queues, message busses, reprocessing and a team who understands it all.
  • @dandogamer
    At the last company I worked for they took serverless to the extreme. We ended up having a 50 person team to manage the mess for a shitty internal employee system which would have at tops 5000 users but day to day traffic was less than 100. Like shit could have been done on one server
  • @magfal
    95% of SAAS companies wouldn't need more than postgres and a thin layer of application code on the server.
  • @Sairysss1
    Couple of years ago I started working at a startup that was rewriting their monolith to microservices (just cause hype, they have like 200 active users). First days in, I tried to understand how they structure their code. I asked something like "so how the code in each microservice is structured? you probably have a class for X, and then another class for Y, and a class for Z, right?" to which they replied "noooo, it's microservices dude, don't you know? each class should be it's own microservice! Microservices should be as small as possible, like a script". So right from the start they actually planned to split their monolith into hundreds of microservices. For a relatively simple CRUD-y API with some medium-complexity business logic. Complete insanity. I tried to convince them that this is bs, but they just went to the manager saying that I criticize their work and that i'm "unfriendly", so I left the company after a week. I did consultancy for multiple startups over the years and similar things happen everywhere.
  • @ChungusTheLarge
    Junior developer: Why can't I just make it a monolith? Mid-level developer: Why can't I have 300 containers provisioned? Senior developer: Why can't I just make it a monolith?
  • Microservices is all about turf wars. So each person/team keeps their job. No one has to talk to each other, we can just silo off and surf the web. It also avoids having the system to hang together as a cohesive app.
  • @rattlyy
    finally people speaking up about this