Please Don't Build Microservices

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 ก.ย. 2024
  • เพลง

ความคิดเห็น • 75

  • @mrdbourke
    @mrdbourke 2 ปีที่แล้ว +157

    Never thought I’d be learning software development from someone using a comb as a microphone holder… excellent innovation and excellent video!

    • @proxy5061
      @proxy5061 2 ปีที่แล้ว +7

      It's a noise cancellation used 4000 years ago 🤣

    • @sartura
      @sartura 2 ปีที่แล้ว +1

      lmfao, I love how your comment popped up at the top, made the video even better :D keep the white plastic comb for future videos, it's a trademark :D

  • @uziboozy4540
    @uziboozy4540 2 ปีที่แล้ว +10

    A decoupled modular monolith sitting behind an API gateway makes it easier to migrate to microservices in the future if needed

    • @devagr
      @devagr  2 ปีที่แล้ว

      Agreed

  • @asdqwe4427
    @asdqwe4427 2 ปีที่แล้ว +23

    There is something in between, there can be parts of your product that make sense to put in a different service.
    Grab the easy wins, you don’t need to call it micro services. And you definitely don’t have to put every package in its own micro service, like some people seem to think. A lot of the times micro services are just monolithic apps with added network latency 😅

    • @devagr
      @devagr  2 ปีที่แล้ว +3

      Agreed, I didn't touch that in this video, because I wanted to keep it simple and short. I will talk about this more in upcoming videos

  • @theepicgamer1196
    @theepicgamer1196 2 ปีที่แล้ว +11

    Here from Theo. Great vid! Love the humor, and the advice makes sense.

  • @trxe420
    @trxe420 2 ปีที่แล้ว +5

    The lesson is don't over engineer your projects. My projects can benefit from microservices, but it is a PITA managing distributed transactions for sure. I would also agree that going from a monolith to a soa usually ends up in a complete overhaul so it isn't really migrating, it is more starting over with a more scalable design.

  • @joseph0x45
    @joseph0x45 2 ปีที่แล้ว +8

    I'm a junior dev. I started really getting interested into Software architecture like two weeks ago and heard about micro services. After that, I told all my friends how "good" they were (based on what I've watched and read about it) and today I had to build an API so I said to myself "lemme try this". Idek if what I did could be called microservices, but I tried to follow the concepts and after two hours, I just created another repository and build my good old monolith :). Now after watching your video I feel like a litteral potato. Guess I will send this to everyone that I've preached to about microservices XD.
    Thanks for the knowledge, looking for more in the future😁

    • @jorgetirado2816
      @jorgetirado2816 2 ปีที่แล้ว

      I worked for a stupid company that want to use microservices with Laravel(PHP framework). They used this architecture: Laravel API Gateway -> Microservice 1 -> Microservice N. It was really SLOW in production also I don't see the point of microservices if A depends of B and always you call A you must call B. Also I think they NEVER consider the cost of that microservices, we have a Kubernetes, and about 10 diferent microservices, only for tests the company spend like 346.46 every month :/

  • @stey
    @stey 2 ปีที่แล้ว +2

    Absolutely enjoyed this video!! Especially the makeshift mic 😄

  • @codewithguillaume
    @codewithguillaume 2 ปีที่แล้ว

    Dude ! Thank you so much for this video.
    Love your setup btw 😂❤

  • @vnzinki
    @vnzinki 2 ปีที่แล้ว +5

    From my point of view microservices is not all about scaling, your can scale monolith easily just like microservices. Microservices help our team develop multiple features without worry about gitflow, conflicts, all component are easy to version up, refactor or replace. So its not based on how big your system, its about how many teams are working together.

  • @EduardoSanchez-un2hh
    @EduardoSanchez-un2hh 2 ปีที่แล้ว +5

    Microservices is the perfect example of 'Monkey sees monkey does'.

    • @kabal911
      @kabal911 2 ปีที่แล้ว

      “Hey junior developer. I know you don’t know much about software development, let alone architectures and infrastructure, but you should definitely be building micro-services” - there are people who think this is a good way to go

  • @nimmneun
    @nimmneun 2 ปีที่แล้ว +6

    Imagine having to rollback a transaction across a dozen microservices 😅 btw totally diggin' the comb

  • @NikitaLipkanov
    @NikitaLipkanov ปีที่แล้ว +2

    I disagree about the monolithic codebase. The development experience depending on the project maybe great, but the deployment process can be really ugly depending on what tools you are using. I would rather build microservices and deal with their difficulty of maintaining them and etc then building a huge monolith and mainting its one big chunk.

  • @jaysistar2711
    @jaysistar2711 ปีที่แล้ว

    I liked the finishing of the sentence from the thumbnail in the video.

  • @hausofxd7156
    @hausofxd7156 2 ปีที่แล้ว

    haha, nice ending...agreed micro service strategies are more geared toward larger scale projects (we do this on my corporate side) for reusability, hot fixes, tech debt, maintenance strategies...
    but I feel you can start taking a reusable approach if you use techniques like duck modular approach for directory structure or developing in a "mono" structure (root directory handles the system stuff, apps directory houses the projects, packages directory houses the "micro services" such as a design system or linting configurations)...

  • @viperactual
    @viperactual 2 ปีที่แล้ว +2

    Lol this guy is hilarious and very knowledgeable. Thanks for posting!

  • @chizidotdev
    @chizidotdev 2 ปีที่แล้ว

    2:50 - 2:60… Had to rewind to rewatch that, epic 10seconds😂

  • @ArifBasri
    @ArifBasri 2 ปีที่แล้ว

    I read this argument before. But I needed someone to say this in video. Thank you for saying this publicly. I agree with you.

  • @PandaNuker
    @PandaNuker 2 ปีที่แล้ว

    before watching the video, my (candid) opinion: serverless event driven architectures are pretty cool:), it's okay to introduce some kind of links between services

  • @anonranger6428
    @anonranger6428 ปีที่แล้ว

    Building an app in django and have started worrying about scaling. Rethinking microservices Lamba, API Gateway, SQS, DDB, REACT and how about mobile apps.

    • @devagr
      @devagr  ปีที่แล้ว

      You can literally just replicate the app across 2 containers and instantly achieve twice as much scalability

  • @RushPL1
    @RushPL1 2 ปีที่แล้ว +2

    Great advice. And when when scaled, microservices seems like a waste. Why not think of services in general. If some of them end up being micro, that's fine.

    • @DanKaschel
      @DanKaschel 2 ปีที่แล้ว

      Microservices is a paradigm to encourage narrowing scope for services, not an architectural plan.

  • @dino56ac49
    @dino56ac49 2 ปีที่แล้ว

    I don't know if I agree that monoliths are flexible... But what you are describing is a distributed monolith and it's a design problem, nothing to do with micro services. Nowdays you can be more agile with microservices if you leverage cloud generic systems (serverless).
    You build a well sized system in a week. Authentication, comunication and scalable processing. Even robust analytics and observability

  • @kwhandy
    @kwhandy 2 ปีที่แล้ว +1

    thank you, monolith monk 🙏🏼

  • @PapaVikingCodes
    @PapaVikingCodes 2 ปีที่แล้ว +1

    Spicy take ❤

  • @rohitmahto1559
    @rohitmahto1559 2 ปีที่แล้ว +2

    Jeez, I was on a way to build a side project and I saw this video recommend by Theo.
    I still wonder what would be the best architecture for small to mediums business.

    • @devagr
      @devagr  2 ปีที่แล้ว +7

      3:05
      YOU WILL BUILD A MONOLITH

    • @alexanderkirilov7820
      @alexanderkirilov7820 2 ปีที่แล้ว +2

      REPEAT AFTER HIM:
      I will build a monolith!

  • @dweblinveltz5035
    @dweblinveltz5035 2 ปีที่แล้ว

    It really doesn't make sense to start a brand new project with microservices as an expectation, but if the codebase is designed well, pulling out a chunk of domain into one later shouldn't be too hard. Project I'm working on now was a mono for the first two years or so of it's life, but eventually the boundaries of certain functionality became clear that it could be segregated.

  • @rickdg
    @rickdg ปีที่แล้ว

    People using PHP may naturally build microservices without even thinking about these issues, specially if performance is not much of an issue. A microservice is just some file in some folder that does one thing. At a small or MVP scale, it doesn't even get called very frequently, so it's fine if it's stateless and the process always has to get everything it needs for each request.

  • @krishnapurwar1738
    @krishnapurwar1738 2 ปีที่แล้ว

    If u can comfortable in your native(probably Indian) accent , please speak in your upcoming videos apart from them excellent explanation

    • @devagr
      @devagr  2 ปีที่แล้ว

      This accent is quite natural to me now, I don't think I will be comfortable in an Indian accent.

  • @rsntshkmr
    @rsntshkmr ปีที่แล้ว

    I don't agree. It is not so difficult to build microservice for a new project.
    But it is difficult to migrate a big monolithic (legacy) to microservice.

  • @josephizang6187
    @josephizang6187 2 ปีที่แล้ว

    This video has me hooked. U made perfect sense.🤣🤣

  • @MuhammadAlam-ne9cf
    @MuhammadAlam-ne9cf ปีที่แล้ว

    thanks dev

  • @jamesbest2221
    @jamesbest2221 2 ปีที่แล้ว

    Excellent talk! (I never bought into the hype, and no I'm not Netflix, lol)

  • @George-vc9gl
    @George-vc9gl 2 ปีที่แล้ว +3

    here from Theo

  • @AlexSpieslechner
    @AlexSpieslechner 2 ปีที่แล้ว

    this was hilarious haha. great video

  • @kovacsemod
    @kovacsemod 2 ปีที่แล้ว

    It's probably worth mentioning that this applies to personal projects and small startups, not the majority of software out there. If you're part of a company (such as Netflix, Uber and thousands of others) that has a culture that promotes microservices, the path of least resistance to deliver features will be through microservices.

    • @jorgetirado2816
      @jorgetirado2816 2 ปีที่แล้ว

      And what about other companies like Facebook. They have monoliths

    • @kovacsemod
      @kovacsemod 2 ปีที่แล้ว

      @@jorgetirado2816 my point is for people not to get discouraged from pursuing microservices. With the right infra and culture, microservices will empower you and not get in your way, like this video suggests.

  • @ay-pj8co
    @ay-pj8co 2 ปีที่แล้ว +1

    I think you are talking about distributed monoliths rather than microservices.

  • @noabstruction
    @noabstruction 2 ปีที่แล้ว

    So good bro

  • @kylemckell
    @kylemckell 2 ปีที่แล้ว +2

    Keep up the amazing content. You microservices videos are seriously the best breakdown I've ever seen.
    I. will. build. a. monolith. 🙏

  • @Karg537
    @Karg537 2 ปีที่แล้ว

    What about serverless and edge functions?

    • @alexanderkirilov7820
      @alexanderkirilov7820 2 ปีที่แล้ว +2

      What does that have to do with microservice vs monolith?

  • @j.j.9538
    @j.j.9538 2 ปีที่แล้ว

    There are more problems with microsservices that are never addressed:
    As you divide the codebase into smaller modules and separate them into teams, you start moving away the focus from a techincal and programming based system into a more process and bureaucratic system. There's a lot of communication between teams in order to make any change at all and developers are alienated away from the entirety of the business logic. Changing code or understanding it now requires lots and lots of communication, and although that might sound good, it is the foundation for purely bureaucratic and slow work.
    Your system is now a bureaucratic. Isn't that the worst thing that could happen to it?

    • @m1dway
      @m1dway 2 ปีที่แล้ว

      This is something that's invalid about microservices.
      The goal of microservices is that each individual team will be able to deploy each service, independent of each other. Each service doesn't need to know the existence of other services. Therefore, reduce inter team dependencies.
      If your microservices creates inter team dependencies (tight coupling), then what you build is distributed monolith.

  • @charlesbcraig
    @charlesbcraig 2 ปีที่แล้ว

    I will build a monolith!

  • @mdazmal3288
    @mdazmal3288 2 ปีที่แล้ว +2

    me thinking it's a clickbate..
    the guy with combophone : hold my beer
    jokes apart but it is true.. i personally feel its way easier to develop new features in a monolith.. atleast when you're in a PoC or an MVP stage... later on you can evaluate if you really want to move into microservices.. this is my experience.. would love to hear from other viewers what are their thoughts!

  • @radian825
    @radian825 2 ปีที่แล้ว

    I will build a monolith...

  • @sanjarcode
    @sanjarcode ปีที่แล้ว +1

    feedback: lighting is bad

    • @devagr
      @devagr  ปีที่แล้ว

      thanks, I no longer record here and my new setup as better lighting

  • @vicsystems
    @vicsystems 2 ปีที่แล้ว

    🤭

  • @anthonybarnes
    @anthonybarnes 2 ปีที่แล้ว

    Lol

  • @somakkamos
    @somakkamos 2 ปีที่แล้ว

    Hahaahhahahah

  • @mityaneversky4247
    @mityaneversky4247 2 ปีที่แล้ว

    Nope

  • @jonahacquah2785
    @jonahacquah2785 ปีที่แล้ว

    Another bad advice

    • @devagr
      @devagr  ปีที่แล้ว

      How so

    • @jonahacquah2785
      @jonahacquah2785 ปีที่แล้ว

      @@devagr Microservice is an Architectural choice based on context. You choose the tools to use and the implementation strategy. I find it strange to just advice against any pattern without context. You should do microservices if your business is very elastic, requires extreme scalability especially at peak workloads and your customers have the budget to support it. You need the right tools to support your decision. Serverless micro services is great if you have the skill set and budget. Whatever you do, make your decision based on the context. Don’t follow misleading advice based on bad practices.

  • @joshbedo8291
    @joshbedo8291 2 ปีที่แล้ว +2

    Unless you have too... Start with them first so when you need to scale you dont need to create them and rearchitect your app. Whats your background? This is honestly not great advice and it seems like you dont have a lot of experience working with high scalability systems.

    • @devagr
      @devagr  2 ปีที่แล้ว +15

      2:21 addresses this, and in the future I'd recommend watching the entire video before commenting

    • @t3dotgg
      @t3dotgg 2 ปีที่แล้ว +31

      @@devagr omg you have your first hater!!!! They grow up so fast :')

    • @jww0007
      @jww0007 2 ปีที่แล้ว

      do things that don't scale

    • @joshbedo8291
      @joshbedo8291 2 ปีที่แล้ว

      @@devagr hard to watch and not trying to waste my time. Not watching something clickbaity that says something opposite of popular opinion so people watch the video *lame tactic*. its super expensive for a company to build something a second time when they finally have traffic and need to scale. Thats actually why most businesses fail.. could you imagine hitting a million users unexepectedly and then going shit we have to scrap this it doesnt scale when you finally have users.. so now under a ton of pressure from the business we have to build something new quick that does scale so we dont lose users. So now instead of spending on just marketing the business has to spend double the amount on marketing and development. Its a nightmare for business and development. Ive been here too many times where i had to rebuild ruby on rails apps as microservices so the app didnt crash under load every few hours.

    • @devagr
      @devagr  2 ปีที่แล้ว +4

      @@joshbedo8291 oh so your entire argument is based on "could you imagine hitting a million users unexepectedly". got it.
      Also microservices is not a scalability solution, it's a complexity solution. I can build a monolith app that can scale to a million users no problem. If you can't do that then you first have to learn how software architecture works.
      Also the opinion to always build microservices was popular like 4 years ago, not anymore. "Don't build microservices" is barely a hot take