Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
And what if microservices are just the beginning?Micro... frontends?
Aleksander Orchowski
October 23, 2019
Aleksander Orchowski And what if microservices are just the beginning? 1 / 24
Frontend that we know
Now we are going to talk about approaches used at today’ssystems.
I use the example of the blog app:
I Service which manage users, authentication etc.
I Service for articles (listing, creating, editing, etc.)
I Frontend is SPA/SPA like
Aleksander Orchowski And what if microservices are just the beginning? 2 / 24
Monolith
It’s important to understand something about structure ofapplication. So, we have one big block of code:
Aleksander Orchowski And what if microservices are just the beginning? 3 / 24
Pros&Cons
+
I Everything at one place
I Probably - at one pullrequest we can add newfeature
I Deployed once with afrontend. We are sure thatboth layers work finetogether
–
I Vertical scalability
I Complex inside
I A lot of legacy code canexist
I High entry threshold
Aleksander Orchowski And what if microservices are just the beginning? 4 / 24
Pros&Cons
+
I Everything at one place
I Probably - at one pullrequest we can add newfeature
I Deployed once with afrontend. We are sure thatboth layers work finetogether
–
I Vertical scalability
I Complex inside
I A lot of legacy code canexist
I High entry threshold
Aleksander Orchowski And what if microservices are just the beginning? 4 / 24
Microservices
Aleksander Orchowski And what if microservices are just the beginning? 5 / 24
Pros&Cons
+
I Working parallel
I Many smaller codebases
I This codebases are reallysmall
I Microservices are trendy now
I We can use a lot of cooltools
I We are skippingperformance and scalability
–
I Many codebases - additionalautomation costs
I Integration needed (+ moretesting etc.)
I Infrastructural costs
I Eventual consistency
I ...
I Just a lot of work more
Aleksander Orchowski And what if microservices are just the beginning? 6 / 24
Pros&Cons
+
I Working parallel
I Many smaller codebases
I This codebases are reallysmall
I Microservices are trendy now
I We can use a lot of cooltools
I We are skippingperformance and scalability
–
I Many codebases - additionalautomation costs
I Integration needed (+ moretesting etc.)
I Infrastructural costs
I Eventual consistency
I ...
I Just a lot of work more
Aleksander Orchowski And what if microservices are just the beginning? 6 / 24
Pros&Cons
+
I Working parallel
I Many smaller codebases
I This codebases are reallysmall
I Microservices are trendy now
I We can use a lot of cooltools
I We are skippingperformance and scalability
–
I Many codebases - additionalautomation costs
I Integration needed (+ moretesting etc.)
I Infrastructural costs
I Eventual consistency
I ...
I Just a lot of work more
Aleksander Orchowski And what if microservices are just the beginning? 6 / 24
Pros&Cons
+
I Working parallel
I Many smaller codebases
I This codebases are reallysmall
I Microservices are trendy now
I We can use a lot of cooltools
I We are skippingperformance and scalability
–
I Many codebases - additionalautomation costs
I Integration needed (+ moretesting etc.)
I Infrastructural costs
I Eventual consistency
I ...
I Just a lot of work more
Aleksander Orchowski And what if microservices are just the beginning? 6 / 24
Pros&Cons
+
I Working parallel
I Many smaller codebases
I This codebases are reallysmall
I Microservices are trendy now
I We can use a lot of cooltools
I We are skippingperformance and scalability
–
I Many codebases - additionalautomation costs
I Integration needed (+ moretesting etc.)
I Infrastructural costs
I Eventual consistency
I ...
I Just a lot of work more
Aleksander Orchowski And what if microservices are just the beginning? 6 / 24
Pros&Cons
+
I Working parallel
I Many smaller codebases
I This codebases are reallysmall
I Microservices are trendy now
I We can use a lot of cooltools
I We are skippingperformance and scalability
–
I Many codebases - additionalautomation costs
I Integration needed (+ moretesting etc.)
I Infrastructural costs
I Eventual consistency
I ...
I Just a lot of work more
Aleksander Orchowski And what if microservices are just the beginning? 6 / 24
Pros&Cons
+
I Working parallel
I Many smaller codebases
I This codebases are reallysmall
I Microservices are trendy now
I We can use a lot of cooltools
I We are skippingperformance and scalability
–
I Many codebases - additionalautomation costs
I Integration needed (+ moretesting etc.)
I Infrastructural costs
I Eventual consistency
I ...
I Just a lot of work more
Aleksander Orchowski And what if microservices are just the beginning? 6 / 24
Why do we want to decouple everything?
Or in other words what’s wrong with monolithic systems?
I We can’t understand a big amount of code
I So, we can’t easily add new features
I They are complex
I One codebase can be developed effectively by 100 people?
I Let’s skip performance and scalability
Always? It depends. The good architecture also relates tomonoliths.
Aleksander Orchowski And what if microservices are just the beginning? 7 / 24
Why do we want to decouple everything?
Or in other words what’s wrong with monolithic systems?
I We can’t understand a big amount of code
I So, we can’t easily add new features
I They are complex
I One codebase can be developed effectively by 100 people?
I Let’s skip performance and scalability
Always? It depends. The good architecture also relates tomonoliths.
Aleksander Orchowski And what if microservices are just the beginning? 7 / 24
Why do we want to decouple everything?
Or in other words what’s wrong with monolithic systems?
I We can’t understand a big amount of code
I So, we can’t easily add new features
I They are complex
I One codebase can be developed effectively by 100 people?
I Let’s skip performance and scalability
Always? It depends. The good architecture also relates tomonoliths.
Aleksander Orchowski And what if microservices are just the beginning? 7 / 24
Why do we want to decouple everything?
Or in other words what’s wrong with monolithic systems?
I We can’t understand a big amount of code
I So, we can’t easily add new features
I They are complex
I One codebase can be developed effectively by 100 people?
I Let’s skip performance and scalability
Always? It depends. The good architecture also relates tomonoliths.
Aleksander Orchowski And what if microservices are just the beginning? 7 / 24
Why do we want to decouple everything?
Or in other words what’s wrong with monolithic systems?
I We can’t understand a big amount of code
I So, we can’t easily add new features
I They are complex
I One codebase can be developed effectively by 100 people?
I Let’s skip performance and scalability
Always? It depends. The good architecture also relates tomonoliths.
Aleksander Orchowski And what if microservices are just the beginning? 7 / 24
Why do we want to decouple everything?
Or in other words what’s wrong with monolithic systems?
I We can’t understand a big amount of code
I So, we can’t easily add new features
I They are complex
I One codebase can be developed effectively by 100 people?
I Let’s skip performance and scalability
Always? It depends. The good architecture also relates tomonoliths.
Aleksander Orchowski And what if microservices are just the beginning? 7 / 24
Why do we want to decouple everything?
Or in other words what’s wrong with monolithic systems?
I We can’t understand a big amount of code
I So, we can’t easily add new features
I They are complex
I One codebase can be developed effectively by 100 people?
I Let’s skip performance and scalability
Always? It depends. The good architecture also relates tomonoliths.
Aleksander Orchowski And what if microservices are just the beginning? 7 / 24
One of the biggest advantages of distributed systems is thatknowledge is also distributed through teams. They can focus on asingle part of business requirements.Also, It’s possible to easily replace each part.
Aleksander Orchowski And what if microservices are just the beginning? 8 / 24
But, everything is loosely coupled...
Aleksander Orchowski And what if microservices are just the beginning? 9 / 24
Architectuure!Do microservices solve your problems? ARE YOU SURE?
Aleksander Orchowski And what if microservices are just the beginning? 10 / 24
Okay... 500 Microservices but...
Let’s connect everything on UI...
Aleksander Orchowski And what if microservices are just the beginning? 11 / 24
Okay... 500 Microservices but...
Let’s connect everything on UI...
Aleksander Orchowski And what if microservices are just the beginning? 11 / 24
Microfrontends
Aleksander Orchowski And what if microservices are just the beginning? 12 / 24
Webcomponents
Additional HTML tags defined in java script files, which can beshared between a lot of pages.
Aleksander Orchowski And what if microservices are just the beginning? 13 / 24
Comparison
Aleksander Orchowski And what if microservices are just the beginning? 14 / 24
Multi-framework
Aleksander Orchowski And what if microservices are just the beginning? 15 / 24
Multi-framework
Aleksander Orchowski And what if microservices are just the beginning? 15 / 24
DEMO TIME
Aleksander Orchowski And what if microservices are just the beginning? 16 / 24
Components messaging
Aleksander Orchowski And what if microservices are just the beginning? 17 / 24
Component loading
Aleksander Orchowski And what if microservices are just the beginning? 18 / 24
UI Consistency
Many teams, many components. How to manage this mess?
Figure: IBM - color anatomy
Aleksander Orchowski And what if microservices are just the beginning? 19 / 24
UI Consistency
Many teams, many components. How to manage this mess?
Figure: IBM - color anatomy
Aleksander Orchowski And what if microservices are just the beginning? 19 / 24
UI Consistency
Figure: Material UI - menu height
Aleksander Orchowski And what if microservices are just the beginning? 20 / 24
For that - DevOps
Aleksander Orchowski And what if microservices are just the beginning? 21 / 24
Dev & Ops
DevOps culture is mandatory at the microservices environment,but is it sufficient with microfrontends?
Aleksander Orchowski And what if microservices are just the beginning? 22 / 24
Cross functional teams/Cross functional people
Aleksander Orchowski And what if microservices are just the beginning? 23 / 24
Cross functional teams/Cross functional people
Aleksander Orchowski And what if microservices are just the beginning? 23 / 24
Questions?
I My blog page: https://orchowskia.com
I Twitter: @orchowski
Aleksander Orchowski And what if microservices are just the beginning? 24 / 24