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.
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!
> onion/hexagonal/ports-and-adaptors He mentioned layered architecture. " onion/hexagonal" are just goofy names for the same thing. "Hexagonal" architecture doesn't even have 6 components and is a terrible name.
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.
Great insights! Concise breakdown of key architecture patterns. Valuable resource for navigating complex systems. Appreciate the clarity and relevance. Thank you for sharing!
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.
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.
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
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.
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.
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.
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.
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.
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
pure gold for junior devs, thank you
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
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
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??
Hey @askholia, any updates? I'm a curious junior dev
Excellent content, very very high quality stuff. Thankyou so much for sharing
Amazing video! I am a Computers and Systems Enginering student and those resources are pretty useful
Happy to see you mentioned the modular monilith!
I feel that onion/hexagonal/ports-and-adaptors is missing though.
> onion/hexagonal/ports-and-adaptors
He mentioned layered architecture. " onion/hexagonal" are just goofy names for the same thing. "Hexagonal" architecture doesn't even have 6 components and is a terrible name.
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
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.
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.
Great insights! Concise breakdown of key architecture patterns. Valuable resource for navigating complex systems. Appreciate the clarity and relevance. Thank you for sharing!
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.
Even i dont need voice images explains alot superb content
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.
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
🎉 Getting close to a half-million subscribers! Impressive work! 😎✌️
The spaghetti approach is what resonates with me on a deep level
Thank you for providing examples for the architectures mentioned
2:09 The right hand side boxes should be an event consumer and not an event producer. Left hand side boxes are actually an event producer.
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 for this lesson! I have been watching your videos since I found your channel, amazing!
Felicitaciones, son excelentes profesores.... siempre difundo su canal.
Barukjim
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.
Excellent content in your channel, thank you very much for sharing!
Thank you, thank you, thank you!!! ❤🙏
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.
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.
does all those types of architectures use databases?
Great video btw!
How did you highlight with colors the UA-cam subscribe button on your page when you say 'subscribe' during event driven arch explanation at 1:42 sec
Thank you for these high quality materials. it's really helpful
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.
That is awesome video, thank you so much 😊
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.
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.
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.
Good video, as usually, but kindly where is Space-Based one? ;-)
Wish you all the best!
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
Remarkable🎉❤!
Really like these videos., which presentation & Architecture diagram software does Alex Xu use to present the topics?
thanks, great video!
Graphics tell more than one thousand words this is awesome 😎🤌🏼 thank you
Love this content
Could I know what is the tool to make the video with animation like this video
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.
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?
thank you!
This is great :)
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?
How did you use your dinamyc slides?
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 software do you use to make these nice animation slides? After Effect?
which tools you used for the diagrams animation ?
Modular monolith and Event driven
A good book is "Software Architecture Patterns" by Mark Richards.
how you edit video ?
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 ;)
What tool do you use to generate these graphics? Pls share.
Excellent info. Zoom effect in presentation is too much, it would be betther without zoom.
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 😂😂
Is there anywhere we can get the image shared on LinkedIn in high resolution, please?
I've only ever used the layered pattern D:
, 1:04 👎👎👎Mvp is part of presentation layer
I wasn't a fan of the zooming in animations. Nausea inducing!
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
🤌👌🙏
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.