After doing this for 20 years you will realize that this is all very relative. Any system has all of these architecture styles. You can identify them all in the same system depending on abstraction level. Thats why purists can never settle on naming and keep going in circles
When I started I would hear people describe these patterns as if it was a mutually exclusive choice, that just caused everything to seem more complicated than it was.
I've been watching all your videos since you started this channel. Interesting topics and so much learning stuff. Thanks for sharing your knowledge with us. Keep up the good work.
Amazing explanation of various software architectural patterns! Its giving me a lot of foundational knowledge on how the systems are built and helping understanding the core concepts! Would request if you can make more such videos on core foundational concepts like what is a runtime, daemon, middleware etc. Would be super helpful for someone who is starting out to learn these. Thank you so much
Currently building a e-commerce site for someone, from zero. I am in the design phase and I would say I am going more Monolithic for it, modular-ish to be sure, but all packed together. Great video!
First time I've heard of a modular monolith! Always interesting to see how the industry shifts over time to new patterns. Can't seem to settle on a particular one for too long.
I prefer modular monolith or microkernel (with a layered architecture inside the components). Communication between components is ideally event driven. For scalability, the app can run multiple instances using events to communicate
What's the differences between Layered Architecture and Monolithic Architecture. I always thought they are the same thing... I started as a dev in the 2000s and I remembered the Layered Architecture and remember doing all the BI in the Business Layer. It looks exactly like the stuff inside the Monolithic Architecture.
I am fascinated by the Microservices architecture, we Microservices at work and the more I look into it the more I feel i need to read more to understand it.
The one that really interest me is the micro kernel pattern , because we interact with it daily but rarely get involved into developing a system that uses it
As usual, Excellent content Sahn. Can you make a video about Data Integrating Patterns? such as canonical, Scatter-gather, aggregator, Event driven consumer, Channel Adapter, Message translator, Message mapper, Messaging Gateway. Thanks
Great insights! Concise breakdown of key architecture patterns. Valuable resource for navigating complex systems. Appreciate the clarity and relevance. Thank you for sharing!
There’s also the concept of a distributed monolith, where many distributed services utilize a single database. It can work in your favor in some scenarios, or be a complete anti-pattern if not implemented well. Similar to a modular monolith, always build out with a clean separation of concerns, so you can more easily distribute the data, later on.
This channel is fantastic. If I had to pick a flaw in this video, it would be the diagram of the monolithic architecture. There is nothing to say a monolith cannot have multiple instances running - that is usually how they work in the case of web applications. There is almost no web application with a single instance only - although they often share a single database.
I liked more the monolithic architecture (and its modular one too), and the microservices architecture, since I am more focused on web design and those are the ones I have seen the most. Maybe using the monolithic one with a small project, and design it in a way where you can easily transition to a microservice architecture if the project is growing in a complex way.
What I have seem in the wild is that all choices in terms of architectures depends on several external constraints that kind of confirm the Conways law, so for instance in a company that I worked for recently they chose the modular monolith because the platform team hadn't ways to provide a good experience to deploy new services quickly and given the pressure to deploy features asap the only way was to make a monolith but thinking about break it apart when possible. So, as always, the type of architecture to use depends.
I'm really intrigued by the modular monolithic architecture, because important factors I feel when choosing the architecture of a particular system are the simplicity and adaptability of the particular architecture. An architect is not God; he/she cannot always remember the purpose of choosing a particular architecture for a system, which is why a first glance should erase all doubts.
I think it worth to mention hybrid monolith architecture, as evolution of monolith. Usually it represents as Castle + Bastions style architecture. It also can be considered as distributed Kernel + Plugins architecture. The main idea is to keep all business logic in one Castle\Kernel and put in separate microservices - Bastions, only logic which not make sense to couple with your business logic, for example 3rd party integrations, or document generation, or emailing and etc.
Is it possible to have microservice architecture without event-driven? Microservices are supposed to be independent, and therefore avoid synchronous communication. How can it do this without event-driven?
What about Actor based solutions using things such as Akka, Erlang etc? Are they not being used anymore, or do the Event-Driven Architectures encompass these as well? Actors were quite big a few years ago for their ability to scale and handle concurrency, so are they still a thing?
Hello ByteByteGo, I've recently been trying to work out which architecture I should use on my Web design and brand management platform Should I use monolithic or micro services there will be a number of different functionality and different apps for tasks, web design calendar etc
I am a non tech person getting to learn software architectural applications , could you be of help by providing me foundational resources to aid my knowledge? Thank u
He never states in the video that business use only one of these architectures. He’s just giving a short digestible explanation of some of the most used ones in his opinion.
“What design resonates with you” makes me instantly think of @teej_dv ‘s comment about int length. You might love some of the more exotic designs, but your system probably doesn’t need it.
@@marflage They share some of the same ideas (e.g. having independent services). Some of the differences stem from their age and intent - SOA almost always use SOAP / Webservices to offer functions, whilst microservices tend to use REST API & JSON (but not exclusively) and tend to be resource-based; SOA requires a centralized broker or service registry, which microservices do not; in SOA the services often tie back to parts of the business (e.g. sales), where as microservices are not bound by that intent; microservices are more likely to be stateless (depending on how purist you want to be) compared to SOA services.
After doing this for 20 years you will realize that this is all very relative. Any system has all of these architecture styles. You can identify them all in the same system depending on abstraction level. Thats why purists can never settle on naming and keep going in circles
on point
Who are the purists?
Thank you, i though i was the only one seeing it like this, i though i was not understanding something.
When I started I would hear people describe these patterns as if it was a mutually exclusive choice, that just caused everything to seem more complicated than it was.
@@datle2863 The MVC fxckers
I've been watching all your videos since you started this channel. Interesting topics and so much learning stuff. Thanks for sharing your knowledge with us. Keep up the good work.
Happy to see you mentioned the modular monilith!
I feel that onion/hexagonal/ports-and-adaptors is missing though.
Amazing explanation of various software architectural patterns! Its giving me a lot of foundational knowledge on how the systems are built and helping understanding the core concepts! Would request if you can make more such videos on core foundational concepts like what is a runtime, daemon, middleware etc. Would be super helpful for someone who is starting out to learn these. Thank you so much
pure gold for junior devs, thank you
Currently building a e-commerce site for someone, from zero. I am in the design phase and I would say I am going more Monolithic for it, modular-ish to be sure, but all packed together. Great video!
Update??
You are amazing in explaining this in much more simpler way. Watcing all your videos is great boon. Thanks and keep sharing your experiences with us
First time I've heard of a modular monolith! Always interesting to see how the industry shifts over time to new patterns. Can't seem to settle on a particular one for too long.
I prefer modular monolith or microkernel (with a layered architecture inside the components). Communication between components is ideally event driven. For scalability, the app can run multiple instances using events to communicate
Amazing video! I am a Computers and Systems Enginering student and those resources are pretty useful
What's the differences between Layered Architecture and Monolithic Architecture. I always thought they are the same thing...
I started as a dev in the 2000s and I remembered the Layered Architecture and remember doing all the BI in the Business Layer. It looks exactly like the stuff inside the Monolithic Architecture.
I am fascinated by the Microservices architecture, we Microservices at work and the more I look into it the more I feel i need to read more to understand it.
Excellent content, very very high quality stuff. Thankyou so much for sharing
The one that really interest me is the micro kernel pattern , because we interact with it daily but rarely get involved into developing a system that uses it
Even i dont need voice images explains alot superb content
Thanks for your life time effort and help in making avilable these valueable critical/key information in one place to whole world. God bless you Sir.
As usual, Excellent content Sahn. Can you make a video about Data Integrating Patterns? such as canonical, Scatter-gather, aggregator, Event driven consumer, Channel Adapter, Message translator, Message mapper, Messaging Gateway. Thanks
Great insights! Concise breakdown of key architecture patterns. Valuable resource for navigating complex systems. Appreciate the clarity and relevance. Thank you for sharing!
does all those types of architectures use databases?
Great video btw!
There’s also the concept of a distributed monolith, where many distributed services utilize a single database. It can work in your favor in some scenarios, or be a complete anti-pattern if not implemented well. Similar to a modular monolith, always build out with a clean separation of concerns, so you can more easily distribute the data, later on.
I have seen something like that and it's a mix I mean, sometimes you would feel it is a blessing and sometimes you'd be frustrated with it.
Thank you for providing examples for the architectures mentioned
Felicitaciones, son excelentes profesores.... siempre difundo su canal.
Barukjim
This channel is fantastic. If I had to pick a flaw in this video, it would be the diagram of the monolithic architecture. There is nothing to say a monolith cannot have multiple instances running - that is usually how they work in the case of web applications. There is almost no web application with a single instance only - although they often share a single database.
Hi and thank you. Have you seen a layered monolith? I believe layering is not an archtectural style. It is just a way to organize your code.
I liked more the monolithic architecture (and its modular one too), and the microservices architecture, since I am more focused on web design and those are the ones I have seen the most. Maybe using the monolithic one with a small project, and design it in a way where you can easily transition to a microservice architecture if the project is growing in a complex way.
Thank you for this lesson! I have been watching your videos since I found your channel, amazing!
What I have seem in the wild is that all choices in terms of architectures depends on several external constraints that kind of confirm the Conways law, so for instance in a company that I worked for recently they chose the modular monolith because the platform team hadn't ways to provide a good experience to deploy new services quickly and given the pressure to deploy features asap the only way was to make a monolith but thinking about break it apart when possible. So, as always, the type of architecture to use depends.
I love this, thank you very much for the insight. This has really help me understand most of the things I have missing
Thank you, thank you, thank you!!! ❤🙏
Good video, as usually, but kindly where is Space-Based one? ;-)
Wish you all the best!
🎉 Getting close to a half-million subscribers! Impressive work! 😎✌️
Excellent content in your channel, thank you very much for sharing!
That is awesome video, thank you so much 😊
I'm really intrigued by the modular monolithic architecture, because important factors I feel when choosing the architecture of a particular system are the simplicity and adaptability of the particular architecture. An architect is not God; he/she cannot always remember the purpose of choosing a particular architecture for a system, which is why a first glance should erase all doubts.
Thank you for these high quality materials. it's really helpful
Thank you for the video on the architecture patterns. Can you let us know what tool you use to create the illustration and architecture diagrams.
Really like these videos., which presentation & Architecture diagram software does Alex Xu use to present the topics?
I think it worth to mention hybrid monolith architecture, as evolution of monolith. Usually it represents as Castle + Bastions style architecture. It also can be considered as distributed Kernel + Plugins architecture.
The main idea is to keep all business logic in one Castle\Kernel and put in separate microservices - Bastions, only logic which not make sense to couple with your business logic, for example 3rd party integrations, or document generation, or emailing and etc.
thanks, great video!
The spaghetti approach is what resonates with me on a deep level
Modular monolith and Event driven
2:15 I think the components on the right side should be Event Consumers, no?
I was thinking the same..
You are right. It is a mistake in the video
Graphics tell more than one thousand words this is awesome 😎🤌🏼 thank you
Love this content
Remarkable🎉❤!
thank you!
What software do you use to make these nice animation slides? After Effect?
This is great :)
Is it possible to have microservice architecture without event-driven?
Microservices are supposed to be independent, and therefore avoid synchronous communication. How can it do this without event-driven?
A good book is "Software Architecture Patterns" by Mark Richards.
Whats the difference between, Layered and Monolithic. Both looks similar?
Monolythic and Microservices are rather design approaches, not architectures; so, one should not compare two of these with others.
What about Actor based solutions using things such as Akka, Erlang etc? Are they not being used anymore, or do the Event-Driven Architectures encompass these as well? Actors were quite big a few years ago for their ability to scale and handle concurrency, so are they still a thing?
Could I know what is the tool to make the video with animation like this video
How did you highlight with colors the TH-cam subscribe button on your page when you say 'subscribe' during event driven arch explanation at 1:42 sec
how you edit video ?
which tools you used for the diagrams animation ?
the speaker brings the memories of key master from matrix
it feels like i needed to study my entire life in to tech to finish everything.
When you realize that you don’t finish, that’s when you finish ;)
How did you use your dinamyc slides?
Hello ByteByteGo, I've recently been trying to work out which architecture I should use on my Web design and brand management platform
Should I use monolithic or micro services there will be a number of different functionality and different apps for tasks, web design calendar etc
I thought youtube was broken when it showed me the video 😂😂
Excellent info. Zoom effect in presentation is too much, it would be betther without zoom.
I've only ever used the layered pattern D:
What tool do you use to generate these graphics? Pls share.
Is there anywhere we can get the image shared on LinkedIn in high resolution, please?
Too many jargons and lacks examples if it was made for non technical ppl
What did you expect for five patterns in five minutes?
I am a non tech person getting to learn software architectural applications , could you be of help by providing me foundational resources to aid my knowledge? Thank u
I wasn't a fan of the zooming in animations. Nausea inducing!
🤌👌🙏
, 1:04 👎👎👎Mvp is part of presentation layer
Very poor explanation. In real world we have all these mixed and avoiding this knowledge shall confuse you eventually
He never states in the video that business use only one of these architectures. He’s just giving a short digestible explanation of some of the most used ones in his opinion.
Can you recommend a better resource
good content , but why to keep an AI face at the bottom is irritating when you come to know it's an AI generated and the voice too ,
kidding.
Bruh
Info for noobs.
“What design resonates with you” makes me instantly think of @teej_dv ‘s comment about int length.
You might love some of the more exotic designs, but your system probably doesn’t need it.
How about Service Oriented Architecture? @bytebytego
Is not that micro services architecture?
@@marflage They share some of the same ideas (e.g. having independent services). Some of the differences stem from their age and intent - SOA almost always use SOAP / Webservices to offer functions, whilst microservices tend to use REST API & JSON (but not exclusively) and tend to be resource-based; SOA requires a centralized broker or service registry, which microservices do not; in SOA the services often tie back to parts of the business (e.g. sales), where as microservices are not bound by that intent; microservices are more likely to be stateless (depending on how purist you want to be) compared to SOA services.