You Dont Need Microservices

Поділитися
Вставка
  • Опубліковано 31 тра 2024
  • In recent years, there has been a lot of buzz around microservices as the go-to architecture for developing modern applications. However, in this video, we explore the idea that you don't actually need microservices to build a successful application.
    While microservices can provide benefits such as scalability and flexibility, the truth is that they also come with their own set of challenges. Maintaining a microservices architecture can be complex, with multiple moving parts that require careful orchestration. Moreover, it may not always be necessary to break down your application into microservices as it can be overkill for smaller applications.
    In fact, many successful applications have been built using a monolithic architecture. A well-designed monolith can still be scalable and modular, without the added complexity of microservices.
    That being said, it's important to keep in mind that every application is different, and what works for one may not work for another. As you design your architecture, it's essential to consider the unique needs of your application and choose an approach that will work best for your specific requirements.
    So, in conclusion, while microservices can be a great option for some applications, they are not always necessary. A monolithic architecture can still provide the modularity and scalability you need for a successful application. As you consider your options, make sure to carefully evaluate the pros and cons of each approach to determine what is best for your specific project.
    #microservices #systemdesign #softwarearchitecture
    Don't Forget to
    ===========================================
    💯 Subscribe to Amigoscode - bit.ly/2HpF5V8
    💯 Courses Available for free here - amigoscode.com/courses
    💯 Join Private Facebook Group and Discord - amigoscode.com/p/join-community
    🙊 Here are the goods for all my videos video 🙊
    ► Recommended Books
    ===========================================
    - Clean Code - amzn.to/2UGDPlX
    - HTTP: The Definitive Guide - amzn.to/2JDVi8s
    - Clean Architecture - amzn.to/2xOBNXW
    ► Computer and Monitor
    ===========================================
    - New Apple MacBook Pro - amzn.to/3464Mmn
    - Dell 27 INCH Ultrasharp U2719D Monitor - amzn.to/2xM3nW1
    - Double Arm Stand Desk Mount - amzn.to/3aYKKfs
    - USB C Hub Multiport Adapter - amzn.to/2Jz7NlL
    ► Camera Gear
    =============================================
    - Sony ILCE7M3B Full Frame Mirrorless Camera - amzn.to/346QIJn
    - Sigma 16 mm F1.4 DC DN - amzn.to/2wbic3Q
    - Sigma 33B965 30 mm F1.4 DC DC - amzn.to/39G37Fd
    ► IDE & Tools I use for coding 💻 🎒
    ===========================================
    - ITerm
    - VsCode
    - GoLand
    - IntelliJ Ultimate
    - Sublime
    P.S
    ===========================================
    💯 Don't forget to subscribe | bit.ly/2HpF5V8
    💯 Join Private Facebook Group and Discord - amigoscode.com/p/join-community
    💯 Follow me on Instagram | bit.ly/2TSkA9w
    ❤️ Thanks for watching
  • Наука та технологія

КОМЕНТАРІ • 110

  • @h3ckphy246
    @h3ckphy246 Рік тому +54

    We were trying to build our application with microservices from scratch for the first time just because it's modern and cool, but then we decided to switch to a monolithic because of complexities we had faced. And now I understand what you are talking about in this video.

  • @sjdlove
    @sjdlove Рік тому +10

    I definitely agree that when building an application from scratch, you should start out using a monolithic architecture. As you run into issues, you might find the need to split a service from monolith into its own service or you might not. It really depends on the complexity.

  • @maxbrillant
    @maxbrillant Рік тому +19

    This is the video that I needed the most. Thank you so much for this important message. As developers, we should do things for a good and understandable reason, and not just because the industry is pressurizing us to do so.

  • @umer-media
    @umer-media Рік тому +5

    In my first job as Nodejs backend developer I come across micro services. I had no idea what they were. I loose my job because of that. Since that day I hate micro services. But now I'm learning them again.

  • @montecrucis7247
    @montecrucis7247 11 місяців тому

    Thank you for another great video, Nelson! I have been recommending your courses and will keep doing so.

  • @tahsinayman7222
    @tahsinayman7222 Рік тому +4

    I think microservice architecure is a goof pattern for perfomance. but it costs a lot in case of servers. and if youre trying to make a small application like crud. then there is no need of microservices. thats why it is necessary to understand and implement a monolothic architecture

  • @yanet8518
    @yanet8518 11 місяців тому

    I have to say that my first experience was at a job using microservices, was pretty hard for me to understand everything, maybe if I had started with monolithic it would have been easier for me later to understand why we need to use this, thank you Nelson 🙌

  • @herminio.machava
    @herminio.machava 11 місяців тому

    As you said on this video. I would suggest everyone who is starting the programming. Start with monolithic architecture. Is ease to learn and also ease to maintain.
    Thanks for this video.

  • @raycarlbrown-amory3509
    @raycarlbrown-amory3509 Рік тому +1

    Very advice for beginnings when building a small application. Huge applications might what to think of microservers

  • @thy_minimalist
    @thy_minimalist Рік тому

    Surely you have saved me! I have been trying to learn microservices, but basically cuz many job descriptions have been listing it as a skill to have.

  • @djcardwell
    @djcardwell Рік тому +19

    Don't worry, in 2 years micro services will be cool again. I've been working as a developer for nearly a decade and it's crazy to watch trends come and go like this.

  • @vaheaghajanyan4152
    @vaheaghajanyan4152 Рік тому +5

    Please make a video about test containers for DAO testing.

  • @mikesabiking
    @mikesabiking Рік тому

    I typically start out breaking components down into Java libraries. By doing this I can create a mono or service based solution. I avoid adding dependencies such as spring, etc... The library API's use standard java beans so they can easily be marshalled into JSON, XML, etc... This approach has served me well for 20+ years.

  • @anima87it
    @anima87it Рік тому +3

    Like quite everything in tech stuff, it depends. The real problem is to understand what you have to do in the near future and the ability to adapt to new feature (in terms of functionalities or in terms of satisfying growing traffic and active users). Microservices have their pros and cons, monoltihs too, usually starting from a monolith is simpler to manage and to start to extrapolate service into a smaller unit. But in the end, real problems emerges when the source code starts to be too convoluted to adapt easily to new feature, and that's an error that you can face in both architecture.
    Just see the architecture of Stack Exchange (which Stack Overflow is part of) that was in action in 2015 since the beginning: a big solid monolithic architecture, with new feature moved to separated services.

    • @AshBeastFPS
      @AshBeastFPS Рік тому

      exactly, thats what kinda makes me feel slightly anxious, if you're building an application the move from monolothic to microservice may be kinda arduous, not that that's a complete bad thing, but it makes things significantly harder, whereas starting with micro j makes scalability much easier. Then again, if the application never really hits off, and all your scalability wasnt useful then it kinda goes to waste.
      This video has shifted my perspective, may start with monoliths but I do love how microservices function, complexicity and all.

  • @davidevangelista1774
    @davidevangelista1774 Рік тому

    I totally agree it. Starting a product with monolithic architecture is the best way to undestand your business issues as much as where and when you should use a microservice architecture.

  • @damondsh
    @damondsh Рік тому

    I totally agree. I think there are certain situations where you just go for a micro service architecture, if your requirements dictate it and call for scalability.

  • @tschalky
    @tschalky 11 місяців тому

    Hola amigo, do you have a video that covers the deployment of maven projects and includes instructions on how to use the lifecycle phases such as Package, Install, Deploy and possibly the jlink method?

  • @akumayin3350
    @akumayin3350 Рік тому

    Would you create a video what to build first? frontend or backend? Thanks

  • @silvavicious
    @silvavicious Рік тому +4

    Nice. I'd say you'd only start a project with microservices if the complexity, number of users and teams that will develop and give maintance are known and well defined from the beginning. Otherwise, a monolith probably will be enough to at least take off 😊😊

  • @mohammedjoubba318
    @mohammedjoubba318 Рік тому

    very helpful video, answering the questions we have in our minds, thank you so much bro

  • @drirm1400
    @drirm1400 11 місяців тому

    Waaleikum salaam warahmatullahi...... Interesting 👍

  • @aressky1
    @aressky1 Рік тому

    first time i use monolithic but the complexities i had faced pushed me to change my project to microservice architecture from scratch now i can move forward and control my code better

  • @abu-dukhan
    @abu-dukhan Рік тому

    Currently I'm using monolithic but still learning the concepts of microservices.
    But there's one thing I didn't see any video on it using spring boot 3, which is multiple implementation of UserDetaisService and authentication provider and I think it's awesome to have a video on that

  • @nn_sham3m
    @nn_sham3m Рік тому

    Hi man. Thank GOD i got your channel. i have a question. i don't like web design(html, css) but i want to shift in spring boot from Native android development. i want to work only back-end development. will it be good for me.

  • @Rtuudghc
    @Rtuudghc 11 місяців тому

    Thank you so much for making such cool videos! Could you make a video about multithreading, please?)

  • @seyedaliroshan2386
    @seyedaliroshan2386 Рік тому

    Hi, what tool are you using to design your microservices architecture, the UI was so clean, please if some one knows what is it tell me

  • @omaral-dahrawy1134
    @omaral-dahrawy1134 11 місяців тому

    I have a question I hope you can answer. I’m a software engineer currently making my way through Spring, but the terminology is really confusing. Like Spring Framework, Spring Core, Spring MVC, Springboot .. are these all different tools or are they used together? Do I use either MVC or boot? Or are do they work together? What’s the difference between using just spring or springboot?
    I really hope you can answer this question with how clear you can explain this stuff.

  • @unforged
    @unforged 11 місяців тому

    Waalaikumsalamm. Any book you indicate? (focus on object pattern or in general)

  • @orionpaul5210
    @orionpaul5210 Рік тому

    hoping to purchase your fullstack course soon

  • @d.h.y
    @d.h.y Рік тому

    This is a very helpful video. Thank you very much!!

  • @alfbaez
    @alfbaez 11 місяців тому

    Brilliantly explained! Brilliant shared!

  • @networkingknowledge6261
    @networkingknowledge6261 11 місяців тому

    good point but if you have an application that communicat with alot of external API i think it's better to use miscroservices .
    PS : Can you make a video on how to write proper Unit test using mockito 5

  • @leewalker9851
    @leewalker9851 Рік тому +3

    I think DDD courses have a lot to answer for. What gets me is when microservices literally only do one single thing (ie: save a customer to a db, but no other customer operations)
    We use a hybrid of monolithic and microservices, and although I wish I could break the monolith up, it has its use cases

    • @dronestrikejr
      @dronestrikejr Рік тому

      whats DDD stand for, design driven development?

  • @namibiacodegeek
    @namibiacodegeek Рік тому

    Thanks Amigo good feedback

  • @DaveAronson
    @DaveAronson 11 місяців тому

    Absolutely agreed. Start with a monolith (whether majestic or not), and transition to microservices as needed -- which may be never! There may be a few cases where you're sure you really will need a microservice, but even then, start with a monolith, with the details constructed in such a way as to make it easy to extract that microservice if truly needed. Then again, ideally one should *always* construct things so that they're easy to change, but I mean especially so in this case. 🙂
    On the other claw, I suspect that a lot of projects that start as microservices, or move to them without good technical reason, are really suffering from a case of Resume-Driven Development. ;-)

  • @airtonferreira7328
    @airtonferreira7328 11 місяців тому

    Thanks for add subtitles. I am learn english and subtitles helpful

  • @hughjackman8347
    @hughjackman8347 Рік тому

    glad to be coming from monolithic background. Indeed, it clear the clouds now that i have started working on microservices. but monolithic just feels like a family.

  • @odilhonislomov8954
    @odilhonislomov8954 2 місяці тому

    Thanks. We use monolithic

  • @user-ov6kq4nn5c
    @user-ov6kq4nn5c Рік тому

    I like the new way of describing things via pictures :D

  • @marcospenadev
    @marcospenadev Рік тому

    Like everything, it depends on your environment and your needs:
    For example, if at your company when you enter they already uses microservices, they have templates or projects generators with standard practices or configurations for within the company, they have a cool devops team that's in charge of pipelines and the CI policies, then MS could be great.
    You have everything served at you, and you focus on small pieces of code on very specifics projects, and if you switch from one project to another within the same technology or stack, you'll see something similar and the complexity lowers.
    It's also great when there's a need for a very specific new microservice because some new domain or market need arrives and it doesn't fit on anything you currently have, and want to maintain the independence of services, then you only uses the company template, do your thing, and boom, you're releasing in no time without worrying on breaking anything.
    The downside as you correctly marked on the video, is that you appreciate microservices when there's a need for them because the growing complexity of the system.

  • @agguLi
    @agguLi Рік тому

    I absolutely agree with you regarding the hype about microservices.
    I worked a lot with microservice architectures in the past and I felt the pain of them quite often but be careful with your statement about the movment of amazon prime from microservice to monilithic architecture because that's just NOT true.
    Yes, they migrated 2 or three services to one application. The reason for that was they had a video processing service which uploaded a video to an s3 bucket. Another service downloaded the video from this bucket , did some work und saved it again. This process caused high cost because of the expensive read and write operations. With the migration of these two services, they saved on read / write process and so cost.
    But that's all! This new services is stil embedded in an amazon microservice unsiverse and they will keep doing so.
    So be careful and read the articles completely before making such a ( false ) heavyweight statement.
    Yes, monolithic do it's job in most of the cases but big tech giants like amazon, netflix , google etc. must work with such an architecture or kind of a hybrid system.

  • @ishyo9220
    @ishyo9220 Рік тому

    sir if i know java but i want to learn more things so what i have to choose spring or springboot ? or if is there any course link available free/paid in your website for learning spring/springBoot then please reply me ....
    thanks in advance

  • @selfmadeyt6252
    @selfmadeyt6252 Рік тому +1

    As a beginner it is hard to find the difference between microservices and monolithic architecture as we are working on simple projects. But when we started working on advanced projects which include multiple programming languages, I think the only solution is microservices. For example an api which basically takes an image of a tree as input and recognises it. Here the problem comes, implementing machine learning in java is not impossible but python is an ideal choice. Then we can add the service from python to our app.And if we want to add premium or subscription features that should be handled by spring boot. In these scenarios microservices are really helpful. Please conduct a series of microservices tutorials. Sir, I have already tagged you before in LinkedIn about how to secure an api gateway in microservices. And i am also curious about how the communication between multiple language services is done. If you will create videos on microservices it will be great for us who want to learn advanced coding from UA-cam.

    • @patrickngnet
      @patrickngnet 11 місяців тому

      And i am also curious about how the communication between multiple language services is done
      There is two way that you can communicate between different service in different programming language.
      1. Restful api
      2. GRPC
      In order to reduce the complexity at the beginning, you should use restful api at first because of it's easy to implement. Once you get annoyed with it, then spend time to investigate grpc and change some non-related service to grpc.

  • @fanclub69
    @fanclub69 Рік тому

    What a great video you have uploaded.

  • @nemanjastevanov9980
    @nemanjastevanov9980 Рік тому

    Hi Nelson. I have a question. I went to your site and I saw that you have courses for Java and Python programming languages. Is there a chance that in the future you'll create some courses for C#? I would like to buy that one from you because I like your teaching approach for Java. :)

    • @yaseressa4060
      @yaseressa4060 Рік тому +1

      O'Reilly C# 10 Pocket Reference Read this book it uses tutorial approach to explain concepts

    • @nemanjastevanov9980
      @nemanjastevanov9980 Рік тому

      @@yaseressa4060 Nice! Thank you Yaser!

  • @diegoturco9274
    @diegoturco9274 Рік тому

    I totally agree to migrate some monolithic services to microservices or add queue message according to demand like scalability, availability and others reasons. You know, software engineers should solve problems with simple solutions.

  • @a.d.4418
    @a.d.4418 Рік тому

    I have a question what framework are you using for monolithic app I mean is spring boot is good for monolithic?

    • @lennyseed
      @lennyseed Рік тому

      His java courses all teach spring boot, spring data and spring security so I would imagine so

  • @DanielCarvalhoEng
    @DanielCarvalhoEng Рік тому

    Good hints! As developers, we need to take care of trends and what is in tech fashion. It seems that the bigger benefit of microservices is big tech cloud gains. :-;

  • @roberfuentesg
    @roberfuentesg Рік тому

    Todo bien con el vídeo, pero la noticia fue que un servicio paso a ser monolito, solo uno, no la arquitectura completa de Amazon prime.

  • @vikingthedude
    @vikingthedude Рік тому

    What’s the first rule of microservices?

  • @codingm2621
    @codingm2621 Рік тому

    If there are more than 50 files in the project, is it worth rewriting it to a microservice architecture? Or can I use a monolithic one? Do I need to know microservices for a junior-middle Java developer position?

    • @lukedependahl4923
      @lukedependahl4923 Рік тому +1

      The number of files in a project is not what should influence this decision at all. And yes as a middle level java dev you should 100% understand microservices.
      To determine whether a microservice should be used, the things that matter most is whether or not different functionalities may need to scale independently, and how many teams will be working on the project.

    • @codingm2621
      @codingm2621 Рік тому

      @@lukedependahl4923 oh, thanks. So, i know what i will be learn)

  • @clannajebyan
    @clannajebyan Рік тому

    Thanks. I read this in the books. But! This is just a beginning...

  • @valmirknasel
    @valmirknasel Рік тому +2

    Microservices are meant to solve a particular problem. Not to be applied to the entire system!

  • @asif530
    @asif530 Рік тому

    What about hybrid . A mixture of both

  • @martinkasabov5472
    @martinkasabov5472 Рік тому

    Good point.

  • @JorgetePanete
    @JorgetePanete Рік тому +1

    Keep in mind that the code for communicating between those microservices at amazon was doing extra useless work that didn't have a cost when they were together

  • @EaglesFly-fq9xt
    @EaglesFly-fq9xt Рік тому

    Do you find Haram things in Web development Nelson ?

  • @travelergist
    @travelergist 9 місяців тому

    I am using modular monolithic architecture

  • @pali240
    @pali240 Рік тому +4

    Monolithic or Microservice ? Itt depends on which project do I "win". 😊

    • @leularia
      @leularia Рік тому

      Who the fuck say that, MicroMonothiserve Dhu ?

  • @mohitkakkar5748
    @mohitkakkar5748 Рік тому

    Hi Nelson! I had mailed you a few days back regarding enrollment into the course on Microservices. I have been talking up your free and paid courses and learning. But the microservices course is too expensive for me to buy. So I was hoping if you could provide me some discount.

  • @Mig440
    @Mig440 Рік тому

    Just a nitpick here. The AWS article really does not describe going from a microservice setup to a monolithic architecture. They didnt change the logical architecture of the app (still a single bounded context) but they changed the physical architecture. A logical boundary need not be a physical boundary is the important takeaway here

  • @user-nm9uk3vf4w
    @user-nm9uk3vf4w 11 місяців тому

    Assalamu alykum brother
    I want to take spring boot course but how to contact you
    Please reply when you see my comment 🙏

  • @arthurbc6
    @arthurbc6 Рік тому +1

    You’ll see what is microservices when you need to run 34 different projects/rabbit/db/redis in order to test locally your feature.

  • @clashind1831
    @clashind1831 11 місяців тому

    Sir please make a video on LOCALSTACK

  • @nedyalkokarabadzhakov5405
    @nedyalkokarabadzhakov5405 Рік тому

    I blame the Netflix, once i watched the video is was hooked. But building, managing microservices is just to complex, so many options, so many moving components, complicated relationhips, condiguration hell nightmare, scaling a microservice is also not easy. I will mention Kubetnetes witch is a standart in this this world is a complex beast, even in the cloud. So i decid to stick with monolight and use cloud services.

  • @jalalelb
    @jalalelb 9 місяців тому

    I agree 👍

  • @seanharricharan7602
    @seanharricharan7602 11 місяців тому

    I found a good balance between frontend (Nextjs), backend(django) and IDP (Keycloak)

  • @T1Oracle
    @T1Oracle 10 місяців тому

    Build optimizations should not dictate network architecture. Modularize your code and use binary artifacts. The only valid use for microservices is when you have a run time performance bottleneck that can be solved by splitting out parts of your application.

  • @ilyas7610
    @ilyas7610 Рік тому

    I am using monolithic architecture

  • @Xmasparol
    @Xmasparol 11 місяців тому

    We use Monolith to small our app and Microservices to our big app

  • @lukedependahl4923
    @lukedependahl4923 Рік тому +4

    Its important to note that Amazon Prime didnt switch to a monolith. A single analytics team switched to a monolith

  • @moviekapsula
    @moviekapsula 11 місяців тому

    I don't now but my country it's very popular and most useful : )

  • @samae-r7216
    @samae-r7216 9 місяців тому

    Great advice. I fell into that hole. Haha!

  • @gabrielgil2346
    @gabrielgil2346 Рік тому

    I think you got the 90% aws reduction of cost wrong. The got that in a concrete service, not the whole aws infrastructure

  • @naresh_deeti
    @naresh_deeti Рік тому +1

    As of now it's monolithic all projects

  • @rydmerlin
    @rydmerlin Рік тому

    Developers choose Microservices for their resumes.

  • @ngocthiennguyen3318
    @ngocthiennguyen3318 Рік тому

    With my current project there is only 1 microservice deployed, because this microservice has been deployed from previous projects. Really, starting projects shouldn't implement microservices.

  • @Turnpost2552
    @Turnpost2552 Рік тому

    Welll company interviews demand we know almost everything.

  • @freebusdoctor
    @freebusdoctor Рік тому +1

    Microservices is complex however i like complex issue

    • @weiSane
      @weiSane Рік тому +6

      A smart engineer never wants complexity.... simplicity is always the best.

  • @rocketleague2136
    @rocketleague2136 Рік тому

    Amigos, are microservices making multithrrading obselete

  • @benfowler1134
    @benfowler1134 11 місяців тому

    Absolutely nothing wrong with a well-structured monolith! Most shops don't get big enough to have dozens or hundreds of teams, each owning the entire lifecycle from end-to-end. And there's a buttload of infrastructure and overhead you need to have up and running in order to keep your velocity up. Even worse than going to going to micro services too early, is doing a bad job, and then getting the worst of both worlds. Moreover, most shops don't have a decent platform team implementing CI/CD automation, self-provisioning, observability tools AND supporting it all on an ongoing basis. When you've gone all-in on micro services, spinning up new micro services needs to be as low-friction as possible. If the process feels like walking through treacle, you're not ready to do micro services.

  • @martinsoluwaseunjojolola2042
    @martinsoluwaseunjojolola2042 11 місяців тому

    I was building a voting app and i'm using monolithic for it

  • @dimkaddd7674
    @dimkaddd7674 11 місяців тому

    microservices are cool

  • @seraimet
    @seraimet Рік тому +1

    everybody will skip to internet 3 blockchain, so mesh aritechture will be even popular...

  • @SuperKidontheblock
    @SuperKidontheblock Рік тому

    My Advice as a JR is to see the problem before you make the solution because you'll jsut be followi9ng blind "Good practices"

  • @ms-pf9ow
    @ms-pf9ow 11 місяців тому

    I like the content you create on UA-cam, but too much editing and video transition and effects and background sounds. Just keep it simple as you used to before.

  • @guyswithhoodie3572
    @guyswithhoodie3572 Рік тому

    why did you remove my course from the website which I paid for. and now since you increased the price of that course you are offering me only $15 refund. This is not acceptable.

  • @pranay.bahuguna
    @pranay.bahuguna Рік тому

    I would really appreciate you not putting out such overly exaggerated titles as 'We Dont Need Microservices'.

  • @attygo
    @attygo 11 місяців тому

    Legacy monolith 😢

  • @bdkamil95
    @bdkamil95 Рік тому

    You, just a year ago: “ONLY MICROSERVICES!!!”.
    Also, the Amazon Prime example wasn’t really about microservices but rather poor utilization of their “serverless” products with truly terrible architecture and shockingly wasteful amount of redundant computations. Just take a look at the graph they attached. True geniuses.
    Why people are so religious about everything… microservices, serverless, blockchain and now gpt…

  • @stocktip8030
    @stocktip8030 11 місяців тому

    وعليكم السلام

  • @luishenriquedossantos8183
    @luishenriquedossantos8183 Рік тому

    Alaikum As-Salaam

  • @SilentTremor
    @SilentTremor Рік тому

    First, you are wrong, in a distributed system, monolith/s gets unmaintainable in a matter of years runtime (3) or millions revenue (10), second thank god people like you exist case other gets a good chunk of work on repairing what can be repaired. AWS only resolved the transport layer, let me tell you something, it still microservices with logical connection having memory is shared, they only changed the hosting model.

  • @user-qf2bv7fj1b
    @user-qf2bv7fj1b Рік тому

    mA❤

  • @anchalavinash66
    @anchalavinash66 Рік тому +2

    Remove this much editing

  • @bdkamil95
    @bdkamil95 Рік тому

    It always amazes me when people use 770$ worth of text editors and debuggers and don’t even know how to manually package and run a java app (or anything other). 😂