00:00 - 00:03

monolithic architecture is a traditional

00:02 - 00:05

software design approach where all

00:03 - 00:08

components of an application are tightly

00:05 - 00:09

integrated into a single unit this

00:08 - 00:13

method simplifies initial development

00:09 - 00:16

and deployment particularly for small

00:13 - 00:19

applications however as applications

00:16 - 00:21

grow scaling a single component often

00:19 - 00:23

requires scaling the entire system

00:21 - 00:26

additionally even minor modifications

00:23 - 00:28

May necessitate rebuilding testing and

00:26 - 00:30

redeploying the entire application this

00:28 - 00:33

approach can also lead to technology

00:30 - 00:35

lock it making it difficult to adopt new

00:33 - 00:37

technologies without extensive

00:35 - 00:39

refactoring a failure in one component

00:37 - 00:42

can potentially bring down the entire

00:39 - 00:44

system Additionally the growing

00:42 - 00:45

complexity of Monolithic code basis

00:44 - 00:48

increases the cognitive load on

00:45 - 00:49

developers making collaboration and

00:48 - 00:51

maintenance more

00:49 - 00:54

challenging service oriented

00:51 - 00:56

architecture or SOA emerged as a way to

00:54 - 00:58

address the limitations of monoliths by

00:56 - 01:00

breaking down applications into Loosely

00:58 - 01:03

covered services that communicate over a

01:00 - 01:05

network consider a banking application

01:03 - 01:07

in a monistic architecture all

01:05 - 01:10

functionalities like account management

01:07 - 01:12

transfers loan processing Etc would be

01:10 - 01:13

tightly coupled with s SOA each of these

01:12 - 01:16

functionalities would be a separate

01:13 - 01:17

service communicating with each other

01:16 - 01:20

through standard protocols like soap or

01:17 - 01:23

rest Services can be independently

01:20 - 01:25

developed deployed and skilled allowing

01:23 - 01:28

for greater agility and responsiveness

01:25 - 01:30

to changing business needs however SOS

01:28 - 01:33

distributed nature introduced

01:30 - 01:36

complexities in many SOA applications

01:33 - 01:38

the es or Enterprise service bus served

01:36 - 01:40

as a central hub for message routing

01:38 - 01:42

transformation and orchestration the ESP

01:40 - 01:44

itself became a complex piece of

01:42 - 01:47

middleware requiring specialized skills

01:44 - 01:50

to configure and maintain a failure in

01:47 - 01:53

the ESP disrupted communication between

01:50 - 01:55

Services potentially causing systemwide

01:53 - 01:58

outages furthermore in a distributed

01:55 - 02:01

system Services need to find each other

01:58 - 02:03

dynamically often requiring a service

02:01 - 02:05

registry or Discovery mechanism and this

02:03 - 02:08

adds complexity in terms of maintaining

02:05 - 02:10

an upto-date registry and ensuring

02:08 - 02:12

Services can find each other reliably

02:10 - 02:14

furthermore communication over a

02:12 - 02:17

networking SOA introduced latency

02:14 - 02:19

compared to the inprocess communication

02:17 - 02:21

that happens within a monolith modular

02:19 - 02:23

monolith emerged as a way to address the

02:21 - 02:25

limitations of traditional monolithic

02:23 - 02:28

architectures while avoiding some of the

02:25 - 02:29

complexities introduced by S SOA the

02:28 - 02:31

modular monolith with a single

02:29 - 02:33

deployment unit and inprocess

02:31 - 02:36

communication offered a simpler

02:33 - 02:38

operational model communication between

02:36 - 02:41

services in s SOA relied on network

02:38 - 02:44

calls which introduce latency compared

02:41 - 02:46

to the inprocess calls within a monolith

02:44 - 02:48

the modular monolith by keeping all the

02:46 - 02:51

modules within the same process

02:48 - 02:53

eliminated this network overhead also

02:51 - 02:56

maintaining data consistency across

02:53 - 02:58

multiple Services Ina was complex often

02:56 - 03:01

requiring distributed transactions or

02:58 - 03:04

eventual consistency models the modular

03:01 - 03:05

monolith simplified data management by

03:04 - 03:08

keeping all the data within a single

03:05 - 03:10

database and transaction boundary a

03:08 - 03:12

smaller development team with limited

03:10 - 03:15

experience and disted systems might find

03:12 - 03:18

it easier to adopt a modular monolith

03:15 - 03:20

than a fully fledged s SOA organizations

03:18 - 03:23

with large Legacy monolith applications

03:20 - 03:25

might gradually introduce modularity

03:23 - 03:27

through a modular monolith as a stepping

03:25 - 03:29

stone towards microservices in the

03:27 - 03:31

future speaking of microservices

03:29 - 03:33

microservices architecture further

03:31 - 03:36

refined the concept of s SOA instead of

03:33 - 03:39

enterprise-wide scope it focused on

03:36 - 03:41

smaller even more fine Grant Services

03:39 - 03:42

each responsible for a specific business

03:41 - 03:45

capability this allowed for greater

03:42 - 03:48

flexibility and scalability both s so

03:45 - 03:50

and microservices share a common goal

03:48 - 03:52

decomposing large applications into

03:50 - 03:54

smaller more manageable components but

03:52 - 03:57

while s SOA in for loose coupling shared

03:54 - 03:59

databases and complex ESP configurations

03:57 - 04:01

led to Hidden dependencies micros

03:59 - 04:03

services with their independent

04:01 - 04:05

databases and Direct Communications

04:03 - 04:08

enforce stricter boundaries and promote

04:05 - 04:10

loose coupling SOS Reliance on ESP for

04:08 - 04:13

communication and orchestration

04:10 - 04:15

introduced unnecessary complexity which

04:13 - 04:17

became a bottleneck microservices

04:15 - 04:20

communicate directly typically using

04:17 - 04:23

simpler protocols reducing the

04:20 - 04:24

complexity now micr front friends are an

04:23 - 04:26

extension of the microservices

04:24 - 04:29

principles to the front end W in

04:26 - 04:31

microservices these are backend Services

04:29 - 04:34

while in micro front ends they are UI

04:31 - 04:35

components microservices however

04:34 - 04:37

typically have a high degree of

04:35 - 04:40

isolation than micr front ends as they

04:37 - 04:43

are completely independent systems with

04:40 - 04:44

their own run times and data stores micr

04:43 - 04:46

front ends on the other hand while

04:44 - 04:48

modular often need to share some

04:46 - 04:50

resources and collaborate to create a

04:48 - 04:53

cohesive user interface so while

04:50 - 04:55

microservices priortize team autonomy

04:53 - 04:57

micr frontend teams often need to

04:55 - 04:59

collaborate more closely to ensure

04:57 - 05:01

consistency in the overall user

04:59 - 05:04

experience this might involve sharing

05:01 - 05:07

design guidelines UI components or even

05:04 - 05:09

collaborating on shared libraries now I

05:07 - 05:11

have explain the concept of micr front

05:09 - 05:13

rends in depth from scratch with

05:11 - 05:14

clear-cut examples it is quite

05:13 - 05:16

interesting concept even if you are a

05:14 - 05:18

backend engineer I would highly

05:16 - 05:21

encourage you to check it out now

05:18 - 05:23

microservices and micro front ends may

05:21 - 05:26

not be suitable for startups and smaller

05:23 - 05:28

teams due to the high initial investment

05:26 - 05:30

required for the infrastructure tooling

05:28 - 05:31

and expertise composable architecture

05:30 - 05:33

buils upon the principles of

05:31 - 05:36

microservices but it takes a broader

05:33 - 05:38

view incap passing various types of

05:36 - 05:40

components Beyond just microservices

05:38 - 05:41

microservices are still fundamental

05:40 - 05:43

building block in composable

05:41 - 05:46

architecture handling specific business

05:43 - 05:49

capabilities the composable architecture

05:46 - 05:51

leverages apis extensively to integrate

05:49 - 05:53

different components whether they are

05:51 - 05:55

microservices packaged business

05:53 - 05:57

capabilities or Legacy systems older

05:55 - 05:59

monolithic applications can be

05:57 - 06:00

integrated into composable architecture

05:59 - 06:03

as long long as they expose their

06:00 - 06:04

functionalities through apis this allows

06:03 - 06:06

organizations to gradually modernize

06:04 - 06:09

their systems without requiring a

06:06 - 06:11

complete rewrite in addition to API

06:09 - 06:13

composable architecture also use event

06:11 - 06:16

driven communication patterns where

06:13 - 06:17

components react to events and Trigger

06:16 - 06:20

actions in other

06:17 - 06:22

components PVCs or packaged business

06:20 - 06:24

capabilities are pre-built software

06:22 - 06:26

components that encapsulate business

06:24 - 06:29

functions such as a dedicated search

06:26 - 06:31

engine or a Content management system

06:29 - 06:33

they can can also represent any

06:31 - 06:36

well-defined business capability such as

06:33 - 06:38

shopping cart or order management ppcs

06:36 - 06:39

encapsulate their data to maintain

06:38 - 06:42

autonomy and reduce dependencies on

06:39 - 06:45

other components by owning their data

06:42 - 06:48

pbcs can ensure data consistency and

06:45 - 06:51

integrity within their domain of

06:48 - 06:52

responsibilities so PVCs expose apis

06:51 - 06:55

that allow other components to read or

06:52 - 06:57

write data in a controlled and secure

06:55 - 07:00

manner so they can be easily integrated

06:57 - 07:02

into composable architecture through API

07:00 - 07:05

now while APS are the primary mechanism

07:02 - 07:08

for integrating pbcs into composable

07:05 - 07:10

architecture pbcs can also leverage

07:08 - 07:12

event driven architecture or Eda and

07:10 - 07:15

data streaming for communication and

07:12 - 07:18

interaction bbcs can also publish events

07:15 - 07:18

to notify other components of changes in

07:18 - 07:21

their

07:18 - 07:23

data many online retailers and

07:21 - 07:25

marketplaces leverage pbcs to handle

07:23 - 07:27

Payment Processing Inventory management

07:25 - 07:29

and customer support Financial

07:27 - 07:32

Industries can harness the power of PV

07:29 - 07:35

pbcs for risk management fraud deduction

07:32 - 07:37

and more so pbcs allow them to focus on

07:35 - 07:39

their Core Business functionalities

07:37 - 07:41

Without investing heavily in developing

07:39 - 07:43

these functionalities from scratch the

07:41 - 07:46

key difference between microservice and

07:43 - 07:49

pbcs is that micr services are an

07:46 - 07:51

architectural style that Define how we

07:49 - 07:53

break down the application into Services

07:51 - 07:55

these Services can communicate through

07:53 - 07:59

apis each can be developed deployed and

07:55 - 08:01

scaled independently however PVCs are

07:59 - 08:03

custom combinations of certain

08:01 - 08:05

microservices that work together to

08:03 - 08:07

carry out a specific business function

08:05 - 08:09

so a microservice might be responsible

08:07 - 08:11

for handling user registration another

08:09 - 08:14

one for login and maybe a third

08:11 - 08:17

microservice for managing user profiles

08:14 - 08:19

however a PVC might take our entire user

08:17 - 08:21

authentication flow composable

08:19 - 08:23

architecture is an architecture style

08:21 - 08:25

that emphasizes building applications by

08:23 - 08:28

assembling Loosely coupled reusable

08:25 - 08:30

components these components can be ppcs

08:28 - 08:33

microservices

08:30 - 08:35

apis or other software modules so pbcs

08:33 - 08:36

provide the building blocks while

08:35 - 08:38

composable architecture provide the

08:36 - 08:40

framework for assembling those blocks

08:38 - 08:42

into cohesive and functional Solutions

08:40 - 08:44

in recent years the tooling landscape

08:42 - 08:47

for composable architecture has evolved

08:44 - 08:49

significantly making it more accessible

08:47 - 08:51

and easier to implement mature API

08:49 - 08:53

management platforms like AP Kong and mu

08:51 - 08:56

soft provided robust features for

08:53 - 08:58

Designing publishing and securing apis

08:56 - 09:00

Cloud providers like AWS Azure and

08:58 - 09:02

Google Cloud offer manage services for

09:00 - 09:05

container orchestration for example

09:02 - 09:06

kubernetes serverless Computing and API

09:05 - 09:09

gateways further simplifying the

09:06 - 09:11

deployment and scaling of composable

09:09 - 09:14

systems observability tools like data

09:11 - 09:15

dog and neur provide deep insights into

09:14 - 09:18

the performance and behavior of

09:15 - 09:20

distributed systems helping to identify

09:18 - 09:23

and resolve issues quickly now speaking

09:20 - 09:25

of cost developing microservices from

09:23 - 09:27

scratch typically requires more

09:25 - 09:30

engineering resources and time compared

09:27 - 09:32

to integrating a pre-built component

09:30 - 09:34

leveraging pre-build components or pbcs

09:32 - 09:36

and services can significantly reduce

09:34 - 09:38

development time and effort leading to

09:36 - 09:40

lower development cost and you don't

09:38 - 09:43

need to build everything from scratch

09:40 - 09:46

saving on engineering resources and time

09:43 - 09:48

to Market however using thirdparty

09:46 - 09:51

systems can often involve subscription

09:48 - 09:53

fees which can also add up over time

09:51 - 09:55

with careful planning the right tools

09:53 - 09:57

and a willingness to invest in learning

09:55 - 09:59

composable architecture can be a

09:57 - 10:01

powerful enabler for both startups and

09:59 - 10:03

large Enterprises allowing them to build

10:01 - 10:06

agile scalable and future proof

10:03 - 10:06

applications

10:07 - 10:16

[Music]

#Exploring Composable Architecture: From Microservices to Micro Frontends

This article delves into the evolution of software architecture, from monolithic structures to service-oriented architecture (SOA), modular monoliths, microservices, and finally, micro frontends. Initially, monolithic architecture integrated all components into a single unit, simplifying development but posing challenges for scalability and maintenance as applications grew.

To address these limitations, SOA broke applications into loosely coupled services communicating over a network. However, the Enterprise Service Bus (ESB) in SOA introduced complexities with maintenance, leading to system disruptions.

In response, the modular monolith emerged, combining the simplicity of monoliths with in-process communication to minimize network overhead. This approach streamlined data management by keeping all data within a single database boundary.

Microservices architecture further refined SOA principles by focusing on smaller, more fine-grained services for enhanced flexibility and scalability. In contrast, micro frontends extend microservices principles to the front end, emphasizing collaboration for cohesive user experiences.

Composable architecture utilizes APIs, event-driven patterns, and Packaged Business Capabilities (PBCs) to integrate various components beyond microservices. PBCs encapsulate specific business functions, enabling autonomy, data consistency, and integration into composable architecture through APIs or event-driven communication.

While adopting microservices or PBCs entails initial investments, composable architecture offers agility, scalability, and future-proofing. With evolving tooling landscapes and mature API management platforms, implementing composable architecture has become more accessible, empowering startups and enterprises to build agile and scalable applications efficiently.

By embracing composable architecture, organizations can leverage pre-built components, reduce development costs, and focus on core business functionalities, ultimately fostering innovation and competitiveness in the digital landscape.

In conclusion, the shift towards composable architecture signifies a paradigmatic evolution in software design, offering a versatile framework for assembling diverse components into cohesive and functional solutions. Embracing this architectural style can propel organizations towards agility, scalability, and innovation in the fast-paced realm of technology.

So, whether you're a backend engineer exploring new horizons or a tech enthusiast keen on architectural innovations, delving into composable architecture could open up a realm of possibilities for your next project.