Moving from MONOLITHS to MICROSERVICES 🎂 → 🍰🍰🍰

  Рет қаралды 210,309

Gaurav Sen

Gaurav Sen

Күн бұрын

This is a detailed approach to moving from monoliths to microservices. We discuss what a monolith and microservice architecture look like, the advantages and disadvantages of each, and how we can move from a monolith architecture to a microservice architecture.
00:00 Intro
00:10 Definitions
00:51 Advantages of Microservices
03:48 Steps to migration
06:24 Requisite infrastructure changes
13:11 Things to keep in mind
18:18 Conclusion
18:53 Your favorite ad 😛
Looking to ace your next interview? Try this System Design video course! 🔥
interviewready.io
Summary Blog: get.interviewready.io/blog/mo...
System Design Playlist:
• System Design for Begi...
Software Engineering Fundamentals:
• Software Engineering F...
You can follow me on:
LinkedIn: / gaurav-sen-56b6a941
Github link: github.com/InterviewReady/sys...
Twitter: / gkcs_
#Monoliths #Microservices #SoftwareDevelopment

Пікірлер: 224
@gkcs
@gkcs 2 жыл бұрын
Migrations require extensive testing, refactoring and care. If you want to know more about system design, check out get.interviewready.io
@saket37
@saket37 3 жыл бұрын
"You don't shift to microservices when your users scale. You shift to microservices when your team scales." Golden words.
@amanlonare4319
@amanlonare4319 3 жыл бұрын
That’s Conwoy’s Law!!! :)
@piyushgupta7582
@piyushgupta7582 3 жыл бұрын
That's not really 100% true or thumb rule, microservice adaption also depends on increasing user scale. Increasing load on specific service gives invention to move to microservice and design system around adding dedicated DB and other components to that service and horizontally autoscale service.
@deepakpandey9406
@deepakpandey9406 3 жыл бұрын
That's partially true 👍
@mychildschannel6076
@mychildschannel6076 3 жыл бұрын
@@piyushgupta7582 well said
@iamshivarth
@iamshivarth 2 жыл бұрын
This is not complete truth at all.. Team scales when there is a heavy load on the service. Team scaling happens when service become too complex to handle and that is why micro services concept came. Gaurav has given indirect statement.
@nativeKar
@nativeKar 3 жыл бұрын
Just completed migrating from Monolith to Micro Service, now even my dreams are fragmented!
@niketanmishra4410
@niketanmishra4410 3 жыл бұрын
Can u help me out a little too.. im in a similar process
@rrrrr16able
@rrrrr16able 3 жыл бұрын
Could you also please make a video on the approach and pain points. Mistakes and corrections etc.. Thanks
@overunityinventor
@overunityinventor 2 жыл бұрын
We have same name. 👍
@engohtimah3707
@engohtimah3707 2 жыл бұрын
Hello, I have a similar requirement, can you help me out?
@jatinbansal321
@jatinbansal321 3 жыл бұрын
3 years of engineering experience and had worked on couple of services but still it add some value every time I watch your content.
@Jam.S.
@Jam.S. 2 жыл бұрын
Such a pragmatic approach you show us. Other KZfaqrs are just going by the theoretical way of doing things. Thanks a lot Gaurav.
@sidharathroy2929
@sidharathroy2929 3 жыл бұрын
Great work! I recently joined a new role where they keeping on talking about these micro services. This week only I was planning to study about microsevices and your video published at the same time. Thanks :)
@sameerarote1129
@sameerarote1129 3 жыл бұрын
impressed by your editing skills :)
@smithmarta
@smithmarta 2 жыл бұрын
Fantastic summary on moving from a Monolith to Microservices! You are briefly touching upon CD/CI. It would be great to see an intro video on CD/CI and migration to this deployment methodology.
@gkcs
@gkcs 2 жыл бұрын
Thanks, will do!
@WittyGeek
@WittyGeek 3 жыл бұрын
Damn Gaurav! This is almost exactly how my company works internally for microservices and almost the same way we think about whether we should make a new service or not. Well done. Peach of a video!!!!
@mayurlanjwar8799
@mayurlanjwar8799 2 жыл бұрын
Just wanted to tell you that I have been selected in Oracle, Canada. Your videos really helped me a lot. Thanks for helping me. Love your content and the way you explain. Keep up the good work.
@gkcs
@gkcs 2 жыл бұрын
Thank you and congratulations!
@asheeshkumar1424
@asheeshkumar1424 3 жыл бұрын
Thank you for microservice intro. I am having hard time to get things done in microservice than monolithic arch. Thanks a lot.
@rkumarjay
@rkumarjay 3 жыл бұрын
Explained well in simple terms, crisp and clear. Thanks
@unnatagarwal1475
@unnatagarwal1475 3 жыл бұрын
Most important part was when not to have a separate service. Great content.
@padma2580
@padma2580 2 жыл бұрын
I am awed, just a great presentation, content and delivery
@subs_hk
@subs_hk 3 жыл бұрын
explanation is to the point, clear & very practical approach one can find.
@benneteapen
@benneteapen 2 жыл бұрын
Finally! An explanation that makes sense. Thanks and good job Gaurav...
@MultiPIYUSH1992
@MultiPIYUSH1992 2 жыл бұрын
always I watch your videos when am free I always find interesting and refreshing my brain. keep uploading and keep going on.Thanks, Gaurav :)
@sheeraz1022
@sheeraz1022 2 жыл бұрын
Thanks Gaurav for giving us this amazing explanation. I would probably write a blog post and write the whole of the summary which you have mentioned.
@menofculturehead9370
@menofculturehead9370 3 жыл бұрын
I am new to system design. Learned a lot. Will make it sure to watch all your videos. Great content. 👌👍🏽
@gkcs
@gkcs 3 жыл бұрын
Welcome aboard, thank you!
@prakhar8690
@prakhar8690 3 жыл бұрын
Amazing Gaurav, I really understood some of the things. Really valuable
@sankalparora9374
@sankalparora9374 Жыл бұрын
12:17 Those animations of the architecture were quite nice!! Thanks for the vid!
@gkcs
@gkcs Жыл бұрын
Thank you 😁
@vaibhavmehta36
@vaibhavmehta36 3 жыл бұрын
Came to know about Lucene. Thanks for such amazing content.
@elimpune
@elimpune 2 жыл бұрын
Great video. Give me lots of ideas for my project. Thanks!
@KusanBiswas
@KusanBiswas 3 жыл бұрын
Damn Gaurav! Really impressed with the lucidity of your explanation!
@user-oy4kf5wr8l
@user-oy4kf5wr8l 3 жыл бұрын
amazing Gaurav, i will buy ur courses... without any doubt!
@sonaligoel4270
@sonaligoel4270 11 ай бұрын
Brilliant !! and Thank you.. You made all the complex stuff easy to understand
@gkcs
@gkcs 11 ай бұрын
You're very welcome!
@ankurpremmasih8207
@ankurpremmasih8207 3 жыл бұрын
What a useful video man. Amazing Gaurav.
@ivailotenevv
@ivailotenevv 3 жыл бұрын
Awesome Gaurav, keep uploading :)
@sankalparora9374
@sankalparora9374 Жыл бұрын
Thanks for the detailed video !
@indiansoftwareengineer4899
@indiansoftwareengineer4899 3 жыл бұрын
Loved your all videos.
@BehindSeas
@BehindSeas 2 жыл бұрын
the best video I could find about the topic.
@deepyad76
@deepyad76 3 жыл бұрын
A well explained concept.... thanks
@rijabratachakraborty8743
@rijabratachakraborty8743 3 жыл бұрын
Monolithic for life! They are big, they are stable but pain strikes when there is an update or bug fix or simple infrastructure patching! :-)
@mrrishiraj88
@mrrishiraj88 2 жыл бұрын
Awesome analogy in title!🙏👍
@AlokLaha-te2pd
@AlokLaha-te2pd Ай бұрын
Awesome Gaurav. You are really adding value to our life. Keep up the good work.
@gkcs
@gkcs Ай бұрын
Thank you!
@opuchakraborty
@opuchakraborty 2 жыл бұрын
I loved this video, explanation is simple
@aat501
@aat501 2 жыл бұрын
you're an incredible teacher
@laukik14
@laukik14 3 жыл бұрын
Awesome video, helped a lot
@bossofyoutube
@bossofyoutube 3 жыл бұрын
That's a good demo... I'm just into microservices, having a separate db for each microservice makes sense when we speak about source of truth but the updating a single user info (profile, payment, sessions etc) into each db is bitbtiresome and sometimes may violate ACID when we consider all db transactions... any suggestions on fault tolerance please like maintaining consistency even on a failure
@ankitaryan8083
@ankitaryan8083 3 жыл бұрын
Now one steps closer to crack system design interview s♥️
@iamshivarth
@iamshivarth 2 жыл бұрын
Gaurav you have good teaching skills.
@ashwinhariharan310
@ashwinhariharan310 3 жыл бұрын
Very good explanation. Succinct yet clear.
@gkcs
@gkcs 3 жыл бұрын
Thank you 😁
@kiplimocollins
@kiplimocollins 3 жыл бұрын
Superb video, extremely informative. Also kindly can you do a video on becoming a Software Architect?
@gwho
@gwho 2 жыл бұрын
14:25 was baller and very helpful for deciding in a concrete manner.
@deverror4045
@deverror4045 3 жыл бұрын
You are awesome sir. Thankyou so much for the video
@wizardgaming163
@wizardgaming163 3 жыл бұрын
Very useful thank you for your hard work
@2307vineyard
@2307vineyard 2 жыл бұрын
Even if neither of client or team scales, we may need to break the monolith into micro services because of poorly designed/developed application with too many simultaneous feature changes/bug fixes. Greatly appreciate any design/engineering examples of similar use case.
@VamsiM
@VamsiM 3 жыл бұрын
One word, Excellent.
@svrohith9
@svrohith9 3 жыл бұрын
No one had ever told me this clear.
@RohanKumar-zm6cx
@RohanKumar-zm6cx 3 жыл бұрын
i literally thought he was a college student but salute to you sir.
@saikun0293
@saikun0293 2 жыл бұрын
Awesome explanation!
@sangeethasubramanyam2804
@sangeethasubramanyam2804 2 жыл бұрын
Hi Kiddo, you are probably half my age.But I watch your videos quite often for learning. Keep doing the good work!!
@harisridhar1668
@harisridhar1668 3 жыл бұрын
11:30 Hi Gaurav - can you clarify Kafka and Lucene/ElasticSearch here? Why do we need both a Message Queue like system ( Kafka ) for storing logs, when logs are timestamped themselves generally? Can't we just dump the log output into ElasticSearch/Lucene databases as we go?
@iamsantoshmishra
@iamsantoshmishra 3 жыл бұрын
Good explanation 👍
@JbtheBoss1892
@JbtheBoss1892 2 жыл бұрын
Good content Gaurav!!
@doaamm1493
@doaamm1493 Жыл бұрын
thanks for your useful videos
@chandrasekharanm6236
@chandrasekharanm6236 3 жыл бұрын
Loved this video! Especially the part of infrastructure changes, very well put
@MuhammadFauzi999
@MuhammadFauzi999 3 жыл бұрын
Thanks Gaurav, do we need api gateway before call auth service or another services? And also, do we need build the api gateway of mobile app and web app separatly?
@pankajjagtapp
@pankajjagtapp 10 ай бұрын
Very helpful.. Thanks!
@vickyanand6483
@vickyanand6483 3 жыл бұрын
Hi , I have one question. How to deal if there is change in output from downstream services in microservice architecture. And upstream has to be notified of the change. Note: Downstream service is up and running .
@amithecode
@amithecode Жыл бұрын
3:55 smooth bhaiya ji smooth
@gkcs
@gkcs Жыл бұрын
That animation took me 10 minutes to make, so thank you!
@techiegroups5151
@techiegroups5151 2 жыл бұрын
Where can I find the course details, and in website it shows three different modules. Is it all separate cost
@adityajoshi2806
@adityajoshi2806 Жыл бұрын
Hi Gaurav, do you have kind of sample dataset regarding the decomposition of monolithic systems into microservices
@riddhi123456
@riddhi123456 3 жыл бұрын
What should be the testing strategy for microservices architecture?
@kau5hal10
@kau5hal10 3 жыл бұрын
Bruh moment at 8:16. "what happens if my library is not up to date?" 😂😂
@uhejshalom
@uhejshalom 3 жыл бұрын
Last few seconds are worth it.
@ashishranjan4597
@ashishranjan4597 2 жыл бұрын
Can you give your input on designing common configuration server for Microservices. I don't have to use Spring Cloud Config server.
@bithalsahu484
@bithalsahu484 3 жыл бұрын
Just one word. Thanks :)
@StillVeryLazy
@StillVeryLazy 2 ай бұрын
When different Microservices create connections with single DB for data fetch/post etc., Is there any challenge since database has to maintain different connections with those requests because maintaining more connections may increase Network load?
@manabsaha5336
@manabsaha5336 3 жыл бұрын
Loved the title 🎂 -> 🍰 🍰 🍰
@stackdeveloper6614
@stackdeveloper6614 3 жыл бұрын
Awesome! How can we integrate different frontend micro services into a single app?
@akshatrb
@akshatrb 3 жыл бұрын
Why do I, a 3rd yr Btech, like watching GKCS videos on system design or microservices when I should be working on my CS fundamentals instead? :(
@gkcs
@gkcs 3 жыл бұрын
I believe it helps. Some of my CS fundamentals got stronger after reading about the challenges of distributed systems.
@deepakpandey9406
@deepakpandey9406 3 жыл бұрын
You should work hard on improving your basic fundamentals. Learn Generic, Parallel Programming and Datastructure.
@mitejmadan8672
@mitejmadan8672 3 жыл бұрын
I am watching gcks from 1st sem (now in 3rd sem). These videos motivates and encourages me to study more. Sometimes you can easily connect dots between some concepts
@sonugupta147
@sonugupta147 Жыл бұрын
Hello sir, I want to design a webpage which would use an ml model to process the requests like a home pricing model, image classification model. So which architecture should I use to design my system ? would the microservice architecture be good or the monolith ?
@RFsalman
@RFsalman 5 ай бұрын
hi, is this 7:50 what commonly referred to as anti-corruption layer ?
@MomsDailyCorner
@MomsDailyCorner 3 жыл бұрын
Really good video.
@tmastana
@tmastana 2 жыл бұрын
Awesome explanantion
@jasusyb2734
@jasusyb2734 Жыл бұрын
3:30 it is about monorepo vs polyrepo. monorepo can can b microservice as well. that is different
@prabhue966
@prabhue966 5 ай бұрын
Insightful
@bhushanpoorkar8482
@bhushanpoorkar8482 3 жыл бұрын
What is the Importance of DDD in creating a new MicroService or migrating to it? Can You make a series of videos on how to use DDD?
@gkcs
@gkcs 3 жыл бұрын
Have a look at Uber's blog on this.
@anuragbapat2222
@anuragbapat2222 3 жыл бұрын
You are a great content creator Gaurav! Waiting to see you get your own Udemy or Unacademy course!
@gkcs
@gkcs 3 жыл бұрын
Thanks Anurag! It's here: get.interviewready.io
@Aditya-us5gj
@Aditya-us5gj 3 жыл бұрын
He's beast. When he saw your comment, he went straight to build his own website to help you out 😝 That's how much he loves us !!
@anuragbapat2222
@anuragbapat2222 3 жыл бұрын
I have watched every single video on this channel and improved at my current role significantly! Gaurav is a star ⭐
@alanwangedcc
@alanwangedcc 3 жыл бұрын
good learning here
@aldiiskandar2847
@aldiiskandar2847 3 жыл бұрын
can i just use a shared DB in microservoces?
@rushivachhani8615
@rushivachhani8615 2 жыл бұрын
If there are two services: 1 - Auth 2 - Profile(just provide profile data) once I get authenticated from service 1 now I want to my profile details from service 2 how come service 2 will know that this guys is already authentic and authorised to use this service every request at first will have to pass through this 1-Auth every-time?
@jairajsahgal5062
@jairajsahgal5062 2 жыл бұрын
Thank you
@lihewang6532
@lihewang6532 Жыл бұрын
my org has 200 people working for a single service, four to six teams need to release together every time, even though release frequency is already twice a week. It is really a nightmare.
@gayunannu
@gayunannu 2 жыл бұрын
Hi @gaurav Sen, I recently attended interview for Technical Program Manager role is a big company. I am not from dev background but have always worked with and part of tech teams as TA/QA/SM/PM so understand the logics. I was asked a system design question to design a storage service in S3, no front end UI and just at API level. What would be the basic design and parameters please?
@ashishranjanpatel4756
@ashishranjanpatel4756 2 жыл бұрын
Deployment is easier as well as hard. totally depends on the impact of code change.
@priyankasmenon1146
@priyankasmenon1146 2 жыл бұрын
sahi hey, kuch sikha aaj ,Thanks
@salamatburzhuev434
@salamatburzhuev434 2 жыл бұрын
What is the size of the team which is considered to be "small' ?
@SatyaUpendra
@SatyaUpendra 3 жыл бұрын
Can you please do a Video on Service Oriented Architecture vs Microservices?
@the-gray-haired-developer
@the-gray-haired-developer 3 жыл бұрын
Hi Gaurav, instead of physically separating the code base, is there any way we can keep all the code in single repo and still achieve microservices benefits ?? Or is it very must to have separate code repo for different micro service.
@gkcs
@gkcs 3 жыл бұрын
Have a look at monorep
@darshandev1754
@darshandev1754 2 жыл бұрын
What are your thoughts on the video about "microservices" from "Continuous Delivery" youtube channel
@dhruvikdonga4569
@dhruvikdonga4569 2 жыл бұрын
slowly add new features using microservice to the monolith architecture so that old monolith code becomes a part of microservice
@saisravan7356
@saisravan7356 3 жыл бұрын
Isn't it we need to maintain copy of data that we push in queue parallelly in db too. so if any failure of queue u can still have the backup data to push into queue so no data is lost?is it a right approach?
@gkcs
@gkcs 3 жыл бұрын
Do you mean retries in queues? Yes they are used.
@charan775
@charan775 3 жыл бұрын
the senpai is back!
@samj9822
@samj9822 3 жыл бұрын
Thanks Gaurav for such a wonderful video. Can you please let me know, if a big data engineer , working on Spark , Hadoop ect. should also know about microservices ? I mean, whether microservice patterns are relevant for data engineers too ?
@gkcs
@gkcs 3 жыл бұрын
They are getting more and more relevant. As tools get stronger, the patterns in which you use them differentiate engineering talent.
@arwahsapi
@arwahsapi 3 жыл бұрын
In order for you to grow your survivability in job markets, yes you should.
@PC-nt1vz
@PC-nt1vz 2 жыл бұрын
What are your thoughts on a micro services architecture that is organised in a way where you can run in a “local” mode, effectively running the system as a monolith without all of the glue. This would allow a developer to be able to switch of the glue if they are working purely on a functional problem.
@aternous
@aternous Жыл бұрын
In theory I can see the value of this. I can even think up a way to do it using K8s with docker containers. That said I feel like an analogy might help me describe another perspective. It's like having a car that can turn into a plane and vice versa. Sure, there is value in that but usually to achieve that you need to make sacrifices that would probably leave you with a shittier car and plane. Unless there is some good innovation that can make it seamless and without major downsides to either modes.
@prasanjitmitra
@prasanjitmitra 3 жыл бұрын
Is Having a independent db for service is preferable or maintain common db for all service , or making a service stateless? Will the data ingestion from external source gets difficult if the db is scattered!!
@gkcs
@gkcs 3 жыл бұрын
The service databases being independent is a good idea (could be served on the same node, but are independent databases).
@basdfgwe
@basdfgwe 3 жыл бұрын
Some of the benefits you're talking about microservices make it sound like monoliths have code in file (per se) and every service in a micros service interwoven like a saghetti. The reality is that the code changes in monoliths are just as easy. Imho the primary reason of microservices is scale -( I E you scale the service individually based on demand).
@mohinicoder
@mohinicoder 3 жыл бұрын
Nice explanation. Can we say that monolithic may give faster response than Microservice? In case of Microservices we might need to get data from different services through network but in case of monolithic everything is present in the same project. Though we are started using Microservice architecture in our project I was unable to explain that in an interview because of lack of clarity. Thanks for this Video.
@gkcs
@gkcs 3 жыл бұрын
In some cases yes. But a monolith may be sharded by user ranges also. You can now have a look at the "Sharding" video 👍
Introduction to NoSQL databases
26:18
Gaurav Sen
Рет қаралды 762 М.
Microservices explained - the What, Why and How?
18:30
TechWorld with Nana
Рет қаралды 796 М.
NO NO NO YES! (50 MLN SUBSCRIBERS CHALLENGE!) #shorts
00:26
PANDA BOI
Рет қаралды 102 МЛН
狼来了的故事你们听过吗?#天使 #小丑 #超人不会飞
00:42
超人不会飞
Рет қаралды 54 МЛН
Indian sharing by Secret Vlog #shorts
00:13
Secret Vlog
Рет қаралды 50 МЛН
WHATSAPP System Design: Chat Messaging Systems for Interviews
25:15
Gaurav Sen
Рет қаралды 1,8 МЛН
Monolith vs Microservices vs Serverless
23:05
Code With Ryan
Рет қаралды 74 М.
From Monolith to Microservices - Migrating a Persistence Layer
11:41
Thorben Janssen
Рет қаралды 7 М.
The Problem With Microservices
17:47
Continuous Delivery
Рет қаралды 428 М.
Everything You NEED to Know About WEB APP Architecture
10:27
ForrestKnight
Рет қаралды 444 М.
Monolithic vs Microservice Architecture: Which To Use and When?
10:43
Five common system design interview mistakes 😅
7:24
Gaurav Sen
Рет қаралды 113 М.
What is an API and how do you design it? 🗒️✅
15:26
Gaurav Sen
Рет қаралды 707 М.
20 AWS services you should know [as a Software Engineer]
19:33
Gaurav Sen
Рет қаралды 27 М.
NO NO NO YES! (50 MLN SUBSCRIBERS CHALLENGE!) #shorts
00:26
PANDA BOI
Рет қаралды 102 МЛН