SlideShare a Scribd company logo
1 of 123
Download to read offline
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
Microservices


With Spring Boot and Spring Cloud
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
2
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
3
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
4
Microservices
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
5
Start with Problems
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
6
Evolution of


components and services
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
7
Times
V1
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
8
Times
V1
V2
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
9
Times
V1
V2
V3
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
10
Centralization Dilemma
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
11
Big ball of mud
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
12
Big ball of mud
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
13
Separation of Concern
Coupling and Cohesion
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
14
Times
No structure
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
15
Times
No structure
Package/namespace
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
16
Times
No structure
Package/namespace
Application + libraries
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
17
Times
Application + libraries
Application + libraries + services
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
18
Times
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
19
Times
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
20
Times
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
21
Times
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
22
Times
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
23
Customers
Business Tech
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
24
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
25
New Architecture ?
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
26
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
27
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
28
Microservices
Maintainable and testable
Loosely couple
Small, Do one thing (Single Responsibility)
Independently deploy and scale
Organized around business values
Owned by small team
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
29
Characteristics
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
30
1. Responsible for a single
capability
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
31
Types of capabilities
Business capability
Technical capability
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
32
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
33
2. Individually deployable
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
34
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
35
3. Consists of one or more
processes ?
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
36
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
37
4. Own data store
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
38
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
39
5. Small team can maintain
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
40
Enabled system …
Flexible
Scalable
Resilient
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
41
Failure !!
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
42
Cascading Failure !!
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
43
Enable continuous delivery
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
44
Challenges …
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
45
Infrastructure
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
46
Distributed system !!
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
47
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
48
Distributed system
Harder to testing
Communication across process/network
Easy to failure
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
49
Many services, Many deploy =>
Complexity !!
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
50
Questions ?
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
51
1. How to define the boundaries
of each microservices ?
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
52
Legacy
Database
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
53
Legacy
Database
New
ยั
ด
มั
นเ
ข้
าไป !!!
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
54
Legacy
Database
New
Modular
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
55
Legacy
Database
New


Library
New Library
Reference
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
56
Legacy
Database
New


Service
New component/service
Call
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
57
Legacy
Database
New


Service
Service-to-service communication
Call
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
58
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
59
Drawbacks of Microservice
Deploy feature that required multiple
service ?
S1 S2 S3
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
60
Circuit Breaker pattern
Track the number of success and failure
If error rate exceed some threshold


then enable circuits breaker
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
61
Legacy
New


Service
How to use a new service ?
Call
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
62
Legacy
New


Service
How to use a new service ?
Call
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
63
Legacy
New


Service
Gateway/Proxy/BFF
Call
Gateway
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
64
Legacy
Database
New


Service
Database per service ?
Call
Database


For new
service
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
65
Legacy
Database
New


Service
Data consistency and Query ?
Call
Database


For new
service
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
66
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
67
Popular solutions
Composition service
CORS with query/read tables
Cold data in centralize database
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
68
Security by design
Authentication, Authorization, Secret management,


Secure communication .. etc.
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
69
Observability patterns ?
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
70
Observability
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
71
Observability
Centralize log
Application metric
Distributed tracing
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
72
Observability
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
73
Observability for system
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
74
Centralize log
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
75
Centralize log
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
76
Application metric
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
77
Distributed tracing
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
78
Distributed tracing
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
79
Microservices patterns
https://microservices.io/
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
80
https://microservices.io/
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
81
Develop and Testing ?
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
82
Why What How
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
83
Properties of Microservices
Microservice
API Discovery
Invocation
Elasticity
Resilience
Pipeline
Authentication
Logging
Metric
Tracing
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
84
Spring Boot and Spring Cloud
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
85
Microservices with Spring
Spring Boot
Spring Cloud
https://spring.io/microservices
Spring Native
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
86
Spring Boot
Standalone spring application
Starter dependencies
Automatic configuration
Production-ready environment
Distributed tracing
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
87
Spring Boot supports
REST and WebFlux
SQL and NoSQL
Messaging
New technologies …
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
88
Microservices with Spring
https://spring.io/microservices
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
89
Create new project !!
https://start.spring.io/
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
90
Properties of Microservices
Microservice
API Discovery
Invocation
Elasticity
Resilience
Pipeline
Authentication
Logging
Metric
Tracing
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
91
Microservices with Spring
Microservice
API Discovery
Invocation
Elasticity
Resilience
Pipeline
Authentication
Logging
Metric
Tracing
Spring
cloud
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
92
Spring Configuration
Infrastructure
Spring Cloud


Config Server
Service 2
Config
Service 1
Config
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
93
Service Discovery with Eureka
Infrastructure
Spring Cloud


Config Server
Service 2
Config
Service 1
Config
Service discovery Service discovery
Netflix Eureka
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
94
Dynamic routing
Infrastructure
Spring Cloud


Config Server
Service 2
Config
Service 1
Config
Service discovery Service discovery
Netflix Eureka
Routing Routing
Netflix Zuul
Server/


Spring cloud
gateway
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
95
Fault Tolerance
Infrastructure
Spring Cloud


Config Server
Service 2
Config
Service 1
Config
Service discovery Service discovery
Netflix Eureka
Routing Routing
Netflix Zuul
Server/


Spring cloud
gateway Circuit breaker Circuit breaker
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
96
Client-Load balancing with Ribbon
Infrastructure
Spring Cloud


Config Server
Service 2
Config
Service 1
Config
Service discovery Service discovery
Netflix Eureka
Routing Routing
Netflix Zuul
Server/


Spring cloud
gateway Circuit breaker Circuit breaker
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
97
Tracing and Visibility
Infrastructure
Spring Cloud


Config Server
Service 2
Config
Service 1
Config
Service discovery Service discovery
Netflix Eureka
Routing Routing
Netflix Zuul
Server
Circuit breaker Circuit breaker
Tracing Server Client Client
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
98
Tracing server
https://zipkin.io/
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
99
Tracing server
https://www.jaegertracing.io/
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
100
Metric with Actuator and Micrometer
Infrastructure
Spring Cloud


Config Server
Service 2
Config
Service 1
Config
Service discovery Service discovery
Netflix Eureka


Netflix Ribbon
Routing Routing
Netflix Zuul
Server
Circuit breaker Circuit breaker
Tracing Server
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
101
Logging
Infrastructure
Spring Cloud


Config Server
Service 2
Config
Service 1
Config
Service discovery Service discovery
Netflix Eureka


Netflix Ribbon
Routing Routing
Netflix Zuul
Server
Circuit breaker Circuit breaker
Tracing Server
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
102
Service versioning ?
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
103
Deploy ?
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
104
More …
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
105
Microservices
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
106
Good for business site ?
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
107
Good for technical site ?
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
108
Good for customers site ?
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
109
Cost and Benefit ?
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
110
Problem of Microservices
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
111
Increase complexity for
developer
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
112
Increase complexity for
operation
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
113
Poor define boundary of
services
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
114
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
115
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
116
ปิ
ด
ท้
าย
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
117
What is your problem ?
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
118
Let’s solve, learn and repeat
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
119
Sharing :: Developer 101


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
120
Sharing :: Developer 101


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
121
Microservices


© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
122
Develop and Testing


with Microservices
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
123

More Related Content

Similar to Microservices Architecture and Design Patterns

Cisco Connect 2018 Singapore - delivering intent for data center networking
Cisco Connect 2018 Singapore -   delivering intent for data center networkingCisco Connect 2018 Singapore -   delivering intent for data center networking
Cisco Connect 2018 Singapore - delivering intent for data center networkingNetworkCollaborators
 
Martin Hinshelwood - A Devops Story from the Trenches
Martin Hinshelwood - A Devops Story from the TrenchesMartin Hinshelwood - A Devops Story from the Trenches
Martin Hinshelwood - A Devops Story from the TrenchesScrumDayLondon
 
Intro to service mesh & Istio
Intro to service mesh & IstioIntro to service mesh & Istio
Intro to service mesh & IstioRinor Maloku
 
Cisco Connect 2018 Singapore - Do more than keep the lights on
Cisco Connect 2018 Singapore - Do more than keep the lights onCisco Connect 2018 Singapore - Do more than keep the lights on
Cisco Connect 2018 Singapore - Do more than keep the lights onNetworkCollaborators
 
MongoDB World 2018: From Disruption to Transformation: Document Databases, Do...
MongoDB World 2018: From Disruption to Transformation: Document Databases, Do...MongoDB World 2018: From Disruption to Transformation: Document Databases, Do...
MongoDB World 2018: From Disruption to Transformation: Document Databases, Do...MongoDB
 
[Cisco Connect 2018 - Vietnam] Jijun cai present - cisco connect 2018 vn- c...
[Cisco Connect 2018 - Vietnam] Jijun cai   present - cisco connect 2018 vn- c...[Cisco Connect 2018 - Vietnam] Jijun cai   present - cisco connect 2018 vn- c...
[Cisco Connect 2018 - Vietnam] Jijun cai present - cisco connect 2018 vn- c...Nur Shiqim Chok
 
The future of work
The future of workThe future of work
The future of workXylos
 
Cisco Connect 2018 Philippines - do more than keeping the lights on
Cisco Connect 2018 Philippines - do more than keeping the lights onCisco Connect 2018 Philippines - do more than keeping the lights on
Cisco Connect 2018 Philippines - do more than keeping the lights onNetworkCollaborators
 
Cisco Connect 2018 Indonesia - Do More Than Keep The Lights On
Cisco Connect 2018 Indonesia - Do More Than Keep The Lights OnCisco Connect 2018 Indonesia - Do More Than Keep The Lights On
Cisco Connect 2018 Indonesia - Do More Than Keep The Lights OnNetworkCollaborators
 
Cisco Connect 2018 Vietnam - Cisco services
Cisco Connect 2018 Vietnam - Cisco servicesCisco Connect 2018 Vietnam - Cisco services
Cisco Connect 2018 Vietnam - Cisco servicesNetworkCollaborators
 
[Cisco Connect 2018 - Vietnam] Jinjun cai print -cisco connect 2018 vn-cisc...
[Cisco Connect 2018 - Vietnam] Jinjun cai   print -cisco connect 2018 vn-cisc...[Cisco Connect 2018 - Vietnam] Jinjun cai   print -cisco connect 2018 vn-cisc...
[Cisco Connect 2018 - Vietnam] Jinjun cai print -cisco connect 2018 vn-cisc...Nur Shiqim Chok
 
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...Fastly
 
Cisco Connect 2018 Indonesia - Delivering intent for data center networking
Cisco Connect 2018 Indonesia - Delivering intent for data center networking Cisco Connect 2018 Indonesia - Delivering intent for data center networking
Cisco Connect 2018 Indonesia - Delivering intent for data center networking NetworkCollaborators
 
Focus on Outcomes, Not Features, For Better Product Results
Focus on Outcomes, Not Features, For Better Product ResultsFocus on Outcomes, Not Features, For Better Product Results
Focus on Outcomes, Not Features, For Better Product ResultsKurt Bittner
 

Similar to Microservices Architecture and Design Patterns (20)

Next of Java 2022
Next of Java 2022Next of Java 2022
Next of Java 2022
 
Cisco Connect 2018 Singapore - delivering intent for data center networking
Cisco Connect 2018 Singapore -   delivering intent for data center networkingCisco Connect 2018 Singapore -   delivering intent for data center networking
Cisco Connect 2018 Singapore - delivering intent for data center networking
 
Sck spring-reactive
Sck spring-reactiveSck spring-reactive
Sck spring-reactive
 
Martin Hinshelwood - A Devops Story from the Trenches
Martin Hinshelwood - A Devops Story from the TrenchesMartin Hinshelwood - A Devops Story from the Trenches
Martin Hinshelwood - A Devops Story from the Trenches
 
Intro to service mesh & Istio
Intro to service mesh & IstioIntro to service mesh & Istio
Intro to service mesh & Istio
 
Cisco Connect 2018 Singapore - Do more than keep the lights on
Cisco Connect 2018 Singapore - Do more than keep the lights onCisco Connect 2018 Singapore - Do more than keep the lights on
Cisco Connect 2018 Singapore - Do more than keep the lights on
 
Cyient presentation commsDay, Sydney 2018
Cyient presentation commsDay, Sydney 2018Cyient presentation commsDay, Sydney 2018
Cyient presentation commsDay, Sydney 2018
 
Shared code between projects
Shared code between projectsShared code between projects
Shared code between projects
 
MongoDB World 2018: From Disruption to Transformation: Document Databases, Do...
MongoDB World 2018: From Disruption to Transformation: Document Databases, Do...MongoDB World 2018: From Disruption to Transformation: Document Databases, Do...
MongoDB World 2018: From Disruption to Transformation: Document Databases, Do...
 
[Cisco Connect 2018 - Vietnam] Jijun cai present - cisco connect 2018 vn- c...
[Cisco Connect 2018 - Vietnam] Jijun cai   present - cisco connect 2018 vn- c...[Cisco Connect 2018 - Vietnam] Jijun cai   present - cisco connect 2018 vn- c...
[Cisco Connect 2018 - Vietnam] Jijun cai present - cisco connect 2018 vn- c...
 
The future of work
The future of workThe future of work
The future of work
 
Containers for Startups
Containers for StartupsContainers for Startups
Containers for Startups
 
Cisco Connect 2018 Philippines - do more than keeping the lights on
Cisco Connect 2018 Philippines - do more than keeping the lights onCisco Connect 2018 Philippines - do more than keeping the lights on
Cisco Connect 2018 Philippines - do more than keeping the lights on
 
Cisco Connect 2018 Indonesia - Do More Than Keep The Lights On
Cisco Connect 2018 Indonesia - Do More Than Keep The Lights OnCisco Connect 2018 Indonesia - Do More Than Keep The Lights On
Cisco Connect 2018 Indonesia - Do More Than Keep The Lights On
 
Cisco Connect 2018 Vietnam - Cisco services
Cisco Connect 2018 Vietnam - Cisco servicesCisco Connect 2018 Vietnam - Cisco services
Cisco Connect 2018 Vietnam - Cisco services
 
[Cisco Connect 2018 - Vietnam] Jinjun cai print -cisco connect 2018 vn-cisc...
[Cisco Connect 2018 - Vietnam] Jinjun cai   print -cisco connect 2018 vn-cisc...[Cisco Connect 2018 - Vietnam] Jinjun cai   print -cisco connect 2018 vn-cisc...
[Cisco Connect 2018 - Vietnam] Jinjun cai print -cisco connect 2018 vn-cisc...
 
Infodream
InfodreamInfodream
Infodream
 
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
 
Cisco Connect 2018 Indonesia - Delivering intent for data center networking
Cisco Connect 2018 Indonesia - Delivering intent for data center networking Cisco Connect 2018 Indonesia - Delivering intent for data center networking
Cisco Connect 2018 Indonesia - Delivering intent for data center networking
 
Focus on Outcomes, Not Features, For Better Product Results
Focus on Outcomes, Not Features, For Better Product ResultsFocus on Outcomes, Not Features, For Better Product Results
Focus on Outcomes, Not Features, For Better Product Results
 

More from Somkiat Puisungnoen (20)

Lesson learned from React native and Flutter
Lesson learned from React native and FlutterLesson learned from React native and Flutter
Lesson learned from React native and Flutter
 
devops
devops devops
devops
 
Angular :: basic tuning performance
Angular :: basic tuning performanceAngular :: basic tuning performance
Angular :: basic tuning performance
 
RobotFramework Meetup at Thailand #2
RobotFramework Meetup at Thailand #2RobotFramework Meetup at Thailand #2
RobotFramework Meetup at Thailand #2
 
Visual testing
Visual testingVisual testing
Visual testing
 
Cloud Native App
Cloud Native AppCloud Native App
Cloud Native App
 
Wordpress for Newbie
Wordpress for NewbieWordpress for Newbie
Wordpress for Newbie
 
Sck Agile in Real World
Sck Agile in Real WorldSck Agile in Real World
Sck Agile in Real World
 
Clean you code
Clean you codeClean you code
Clean you code
 
SCK Firestore at CNX
SCK Firestore at CNXSCK Firestore at CNX
SCK Firestore at CNX
 
Unhappiness Developer
Unhappiness DeveloperUnhappiness Developer
Unhappiness Developer
 
The Beauty of BAD code
The Beauty of  BAD codeThe Beauty of  BAD code
The Beauty of BAD code
 
React in the right way
React in the right wayReact in the right way
React in the right way
 
Rise of Container (RoC)
Rise of Container (RoC)Rise of Container (RoC)
Rise of Container (RoC)
 
SCK :: Scrum is NOT Enough
SCK :: Scrum is NOT EnoughSCK :: Scrum is NOT Enough
SCK :: Scrum is NOT Enough
 
Software Development Trends 2017 at IMC
Software Development Trends 2017 at IMCSoftware Development Trends 2017 at IMC
Software Development Trends 2017 at IMC
 
Design pattern with Java 8
Design pattern with Java 8Design pattern with Java 8
Design pattern with Java 8
 
Meetup :: Update Elastic Stack 5.0
Meetup :: Update Elastic Stack 5.0Meetup :: Update Elastic Stack 5.0
Meetup :: Update Elastic Stack 5.0
 
Git as NoSQL
Git as NoSQLGit as NoSQL
Git as NoSQL
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 

Recently uploaded

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Recently uploaded (20)

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

Microservices Architecture and Design Patterns

  • 1. © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. Microservices With Spring Boot and Spring Cloud
  • 2. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 2
  • 3. © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 3
  • 4. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 4 Microservices
  • 5. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 5 Start with Problems
  • 6. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 6 Evolution of components and services
  • 7. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 7 Times V1
  • 8. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 8 Times V1 V2
  • 9. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 9 Times V1 V2 V3
  • 10. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 10 Centralization Dilemma
  • 11. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 11 Big ball of mud
  • 12. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 12 Big ball of mud
  • 13. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 13 Separation of Concern Coupling and Cohesion
  • 14. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 14 Times No structure
  • 15. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 15 Times No structure Package/namespace
  • 16. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 16 Times No structure Package/namespace Application + libraries
  • 17. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 17 Times Application + libraries Application + libraries + services
  • 18. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 18 Times
  • 19. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 19 Times
  • 20. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 20 Times
  • 21. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 21 Times
  • 22. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 22 Times
  • 23. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 23 Customers Business Tech
  • 24. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 24
  • 25. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 25 New Architecture ?
  • 26. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 26
  • 27. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 27
  • 28. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 28 Microservices Maintainable and testable Loosely couple Small, Do one thing (Single Responsibility) Independently deploy and scale Organized around business values Owned by small team
  • 29. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 29 Characteristics
  • 30. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 30 1. Responsible for a single capability
  • 31. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 31 Types of capabilities Business capability Technical capability
  • 32. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 32
  • 33. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 33 2. Individually deployable
  • 34. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 34
  • 35. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 35 3. Consists of one or more processes ?
  • 36. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 36
  • 37. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 37 4. Own data store
  • 38. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 38
  • 39. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 39 5. Small team can maintain
  • 40. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 40 Enabled system … Flexible Scalable Resilient
  • 41. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 41 Failure !!
  • 42. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 42 Cascading Failure !!
  • 43. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 43 Enable continuous delivery
  • 44. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 44 Challenges …
  • 45. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 45 Infrastructure
  • 46. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 46 Distributed system !!
  • 47. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 47
  • 48. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 48 Distributed system Harder to testing Communication across process/network Easy to failure
  • 49. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 49 Many services, Many deploy => Complexity !!
  • 50. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 50 Questions ?
  • 51. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 51 1. How to define the boundaries of each microservices ?
  • 52. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 52 Legacy Database
  • 53. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 53 Legacy Database New ยั ด มั นเ ข้ าไป !!!
  • 54. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 54 Legacy Database New Modular
  • 55. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 55 Legacy Database New Library New Library Reference
  • 56. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 56 Legacy Database New Service New component/service Call
  • 57. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 57 Legacy Database New Service Service-to-service communication Call
  • 58. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 58
  • 59. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 59 Drawbacks of Microservice Deploy feature that required multiple service ? S1 S2 S3
  • 60. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 60 Circuit Breaker pattern Track the number of success and failure If error rate exceed some threshold then enable circuits breaker
  • 61. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 61 Legacy New Service How to use a new service ? Call
  • 62. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 62 Legacy New Service How to use a new service ? Call
  • 63. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 63 Legacy New Service Gateway/Proxy/BFF Call Gateway
  • 64. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 64 Legacy Database New Service Database per service ? Call Database For new service
  • 65. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 65 Legacy Database New Service Data consistency and Query ? Call Database For new service
  • 66. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 66
  • 67. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 67 Popular solutions Composition service CORS with query/read tables Cold data in centralize database
  • 68. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 68 Security by design Authentication, Authorization, Secret management, Secure communication .. etc.
  • 69. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 69 Observability patterns ?
  • 70. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 70 Observability
  • 71. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 71 Observability Centralize log Application metric Distributed tracing
  • 72. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 72 Observability
  • 73. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 73 Observability for system
  • 74. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 74 Centralize log
  • 75. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 75 Centralize log
  • 76. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 76 Application metric
  • 77. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 77 Distributed tracing
  • 78. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 78 Distributed tracing
  • 79. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 79 Microservices patterns https://microservices.io/
  • 80. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 80 https://microservices.io/
  • 81. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 81 Develop and Testing ?
  • 82. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 82 Why What How
  • 83. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 83 Properties of Microservices Microservice API Discovery Invocation Elasticity Resilience Pipeline Authentication Logging Metric Tracing
  • 84. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 84 Spring Boot and Spring Cloud
  • 85. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 85 Microservices with Spring Spring Boot Spring Cloud https://spring.io/microservices Spring Native
  • 86. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 86 Spring Boot Standalone spring application Starter dependencies Automatic configuration Production-ready environment Distributed tracing
  • 87. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 87 Spring Boot supports REST and WebFlux SQL and NoSQL Messaging New technologies …
  • 88. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 88 Microservices with Spring https://spring.io/microservices
  • 89. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 89 Create new project !! https://start.spring.io/
  • 90. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 90 Properties of Microservices Microservice API Discovery Invocation Elasticity Resilience Pipeline Authentication Logging Metric Tracing
  • 91. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 91 Microservices with Spring Microservice API Discovery Invocation Elasticity Resilience Pipeline Authentication Logging Metric Tracing Spring cloud
  • 92. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 92 Spring Configuration Infrastructure Spring Cloud Config Server Service 2 Config Service 1 Config
  • 93. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 93 Service Discovery with Eureka Infrastructure Spring Cloud Config Server Service 2 Config Service 1 Config Service discovery Service discovery Netflix Eureka
  • 94. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 94 Dynamic routing Infrastructure Spring Cloud Config Server Service 2 Config Service 1 Config Service discovery Service discovery Netflix Eureka Routing Routing Netflix Zuul Server/ Spring cloud gateway
  • 95. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 95 Fault Tolerance Infrastructure Spring Cloud Config Server Service 2 Config Service 1 Config Service discovery Service discovery Netflix Eureka Routing Routing Netflix Zuul Server/ Spring cloud gateway Circuit breaker Circuit breaker
  • 96. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 96 Client-Load balancing with Ribbon Infrastructure Spring Cloud Config Server Service 2 Config Service 1 Config Service discovery Service discovery Netflix Eureka Routing Routing Netflix Zuul Server/ Spring cloud gateway Circuit breaker Circuit breaker
  • 97. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 97 Tracing and Visibility Infrastructure Spring Cloud Config Server Service 2 Config Service 1 Config Service discovery Service discovery Netflix Eureka Routing Routing Netflix Zuul Server Circuit breaker Circuit breaker Tracing Server Client Client
  • 98. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 98 Tracing server https://zipkin.io/
  • 99. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 99 Tracing server https://www.jaegertracing.io/
  • 100. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 100 Metric with Actuator and Micrometer Infrastructure Spring Cloud Config Server Service 2 Config Service 1 Config Service discovery Service discovery Netflix Eureka Netflix Ribbon Routing Routing Netflix Zuul Server Circuit breaker Circuit breaker Tracing Server
  • 101. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 101 Logging Infrastructure Spring Cloud Config Server Service 2 Config Service 1 Config Service discovery Service discovery Netflix Eureka Netflix Ribbon Routing Routing Netflix Zuul Server Circuit breaker Circuit breaker Tracing Server
  • 102. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 102 Service versioning ?
  • 103. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 103 Deploy ?
  • 104. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 104 More …
  • 105. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 105 Microservices
  • 106. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 106 Good for business site ?
  • 107. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 107 Good for technical site ?
  • 108. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 108 Good for customers site ?
  • 109. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 109 Cost and Benefit ?
  • 110. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 110 Problem of Microservices
  • 111. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 111 Increase complexity for developer
  • 112. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 112 Increase complexity for operation
  • 113. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 113 Poor define boundary of services
  • 114. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 114
  • 115. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 115
  • 116. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 116 ปิ ด ท้ าย
  • 117. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 117 What is your problem ?
  • 118. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 118 Let’s solve, learn and repeat
  • 119. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 119
  • 120. Sharing :: Developer 101 © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 120
  • 121. Sharing :: Developer 101 © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 121
  • 122. Microservices © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 122 Develop and Testing with Microservices
  • 123. © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 123