際際滷

際際滷Share a Scribd company logo
2018.11
??? ??
resious@gmail.com
Microservices
2
Contents
1 ???????? ??
0 Warm-up
3 ??????? ?? ?? ? ???
4 ???????? ?? ? ??
2 ???????? ??
5 ??????? ?? ?? ? ???
6 MSA ??
3
Infrastructure Evolution
? IT ???????? ??
Electronic accounting
machine
1930 ~ 1950
? ??? ??? ?? ?? ??? ??? ??
? ?? ???? ?????
General-Purpose
Mainframe and
minicomputer
1950 ~ ??
? 1958: IBM ?????
? 1965: DEC ???
Personal computer 1981 ~ ??
? 1981: IBM PC
? 80~90?? PC ? SW ??
Client Server 1983 ~ ??
? ??? ?????? ????? ?? ?? ??
? N-tier
? ??? ??? ??: ????, ??????, Web
Enterprise Internet 1992 ~ ??
? ?? ????
? ??? ?? ? ?????? ??????
Cloud and mobile
computing
2000 ~ ??
? ??? ? ??????? ????? ?????
?? ??
? ?? ??? ???? ??? ??
4
Software Development Methodology
? Waterfall ? Agile ? DevOps
Waterfall
Agile
DevOps
Analysis Development Build Test Deployment
DEV QA OPS
Test Deployment
DEV QA OPS
A D B A D B A D B
Sprint Sprint Sprint
A D B T D
Sprint
DEV/QA/OPS
A D B T D
Sprint
DEV/QA/OPS
A D B T D
Sprint
DEV/QA/OPS
5
Prolog - History
Innovation
1985 1995 2005 2015 2025
OO application
(offline, monolith)
Online systems
(offline, monolith)
Distributed systems
(distributed monolith)
Microservices Technology X
Challenge:
Reaching customers
(diskettes, CDs)
Challenge:
Scaling
Performance
Challenge:
Zero downtime
Upgrade
Challenge:
Comprehension
Monolith
Single unit
SOQ
Coarse-grained
Microservices
Fine-grained
6
Prolog - AOP
AOP(Aspect Oriented Programming)? ??? ?? ???? ??? ?? ??? ????, ??
??? ??? ?? ???? ?? ?? ??? ?? ??? ????? ??? ???? ????.
?? ???? ?? ??? ?? ?, ?? ??? ???? ??? ???? ?? ????.
OOP AOP
?? ??
?? ??
????
?? ??
?? ??
?? ?? ?? ?? ?? ??
?? ?? ?? ?? ?? ??
???? ?? ???? ??
???? ?? ???? ??
???
?? ??
?? ??
????
?? ??
?? ??
Application
Primary
Concern
Cross-Cutting
Concern
Application
Primary
Concern
Code
Aspect
Point-cut
Cross-Cutting
Concern
Advise
Primary(Core) Concern: ???? ??? ??? ??
Cross-Cutting Concern: ???? ???? ??? ??? ???? ???? ??
Code: primary Concen?? ??? ?? ??
Join Point: ?? ?? ?? ??? ???? ??? ? ?? ?? ??? ?? ??
Point-Cut: ?? ???? Join Point? ??? ??? ???? ?? ??
Advise: ? Join-Point? ???? ??? ? ?? ??
7
Prolog - SOA
? Service Oriented Architecture ´
? ??? ???(Client)? ???? ???? ?????? ?? ??
? ?? ??? ?? ??(???)? ??? ????? ??? ?? ???? ??
?????? ????? ???? ????
Service Orientation Architecture
? Open ? ?? ???? ?? ????? ??
? ?????? ??? Description? ?? ???? Dynamic
Discovery ???? ?? ?? ??? ??
? ???? ??? ???? ?? ????? ???? ???
?
? Layer? ?? ???? ?????? ?? ?????
Blueprint? ????? ?? ? ??, ????, ?? ???
??
Service
Consumer
Service
Provider
Service
Broker
Find Register
Bind
Message
Client Service
Service
Contract
?? ???? ?????? ??
???? ??? ???? XML ???
? ????, Service Broker? ??
???? ???? ????,
??????? ???? ???? ??
? ?? ??? ????.
8
Prolog - Service
? ???
? ????? ??? ??? ??? ??? ????? ??? ? ?? SW ????
? ??? ???, ?? ?? ? ??, Self-contained
? ???? ??? ?? ??? ??? ???, ??? ?????? ???? ??
????? ??? ??? ????? ????
Service Implementation
? ?? ??? ??
Service Interface
? Request? ????
? ??? ??
Infrastructure
Service
Existing
Application
External
Services
Existing
Application
Service
Wrapper
Service
Wrapper
Coarse Grained Business
Service
(Business Service Bus)
Aggregation
Fine Grained
Implementation-Based
Service
???
9
???????? ??
10
Monolithic Architecture vs. MSA
11
Microservices - Definition
? Microservices is ´
A software architecture style in which complex applications are composed of small, Independent process
communicating with each other using language-agnostic APIs.
These services are small, highly decupled and focus on doing a small task, facilitating a modular approach
to system-build - Wikipedia
??? ??? ????? ?? ???? ??? ?? ??? ??????? ???? ????, ??? ????
???? ???? ????, ??? ??? ? ??/????? ?? ?? ????? ??? ? ??. ????
???? ?? ??? ???, ? ???? ?? ?? ????? ??, ?? ??? ???? ??? ??? ???
?. - Martin Fowler at ThoughWorks
Data Store
Public API
Software Modules: Application code, libraries, ´
Microservices = Fine-grained service-oriented architecture + ^small ̄ public API
Microservice
12
Microservices C Pros, & Cons.
Data
Business Logic
Web
Monolithic Design Microservices Design
Http Listener Page Content
ReportingOrder ManagementUsage Analytics
AuthenticationOrderSearching
Monolithic Style Microservices
Single Unit with all components interwoven Applications are suite of service
Overall Scaling of the structure required Each service independently scalable
Overall deployment Independently deployable
Increases complexity for developers More developer friendly
One errant component crashes the whole system Fault diagnosis and isolation is easier
Testing is streamlined Difficult to test
13
Microservices - Size
? ???????? ??? ??? ?? ???
????????
???? ?? ?
? ?? (?? ??)
???
?? ???
????? ???
???????
?? ??
???????? ?? ?? ??? ??? ?? ???? ???
??? ????? ???? ?????? ?? ? ? ??? ??
???? ???? ???? ??? ???? ??? ??
?? ???? ???????? ??? ?????
????? ???? ??? ?????????? ????
??? ??? ??? ?? ??, ???????? ??? ????
???????? ???? ?? ??? ????
14
Microservices C Organization: Conway¨s law
Organizations which design system (in the board sense used here) are
constrained to produce design which are copies of the communications
structures of these organizations
- Melvin Conway, Datamation, 1968
15
Microservices C Most Important thing!
? Only rely on each other¨s public API
? ?? ?? ??? ?????? ?? ???? ???? ??? ????
? ??? ??? ?????? ?? ?? ????
? ?? ??? ?????? ?? ?? ???? ??? ????? ????? ??
Microservice A Microservice B
16
???????? ??
17
MSA
? Microservices Architecture
? ???? ???? ?? ??? ?? ????? ??? ??
? Inner Architecture C ?? ???????? ????
? Outer Architecture C ???????? ??? ???? ????
??? ?? ??? ??
Inner Architecture Outer Architecture
? Single Purpose
? Loosely coupled
? Independently
deployable
? Independently
disposable
? Focused Business
Capabilities
? Decentralized Data
Management
? Heterogeneous
Technology
? Logging & Monitoring
? Stateless
? Managed APIs
? Expose services
? Route messages
? Asynchronous
communication
? Load Balancing
? Service Discovery
? Shared Configuration
? Dependency
management
? Transaction Analysis
? Logging & Monitoring
18
Microservices - Implementation
? MSA ??
? ????? ??? ?? 4??? ??
???? ???
?????? ??
??? ??? ??
???????
??? ??? ??
????
?? ? ??1 2 3 4
??? ????
? ?? ?? ??? ???
? ???? ??? ???
?? ??? ??, ??? ?
?? ?????? ??
?? ?? ???
??????, ????? ?
?? ?????
??? = Σ ??? ????
??? ?? ???
???? ??
? ???? ?? ??? ??
? ???? VM?? ??
? ???? ?????? ??
? API Gateway
- ???/???? I/O
? IPC
- ??(??? ??)
- ???(Request) ? Client Side Discovery Pattern
? Server Side Discovery Pattern
- ?? ???? ??
??? ???? ?? ?????
????, ?????? IP? ??
Service Discovery
?? ????
?? ??
19
20
??????? ?? ?? ? ???
21
Microservices - Benefits
? ??????? ?? ? ??
?? ?? ?? ?? ???? ??
? ?? ???
? ?? ??? ??
? ??? ??
? ???? ?? ??
? ???
? ???
? ???? ?? ??
? ???
? ?? ???
? ?? ???
? ??? ????
? ?? ?? ??
? ??? ????? ??
? ??? ???? ??? ????
??
???? ?? ???? ??????? ?? ????
??? App ?? ?????
?? ??? ??
?? ??? ??
?? ??? ??
?? ??? ??
??? ??? ?? ?????
22
Microservices C Challenges
? ??????? ?? ? ????
???? ??? ??? ?? ?? ?? API? ?? ?? ? ?? ??
??? ?? ? ?? ?? ??? ? ??? ?? ?? ? ?? ??
???? ???? ?? ??? ??
23
???????? ?? ? ??
24
Microservice Architecture
25
API Gateway
? API Gateway
? ??? ?? ??? ???? ???
? ?? ??? ???? ??, ??? ? ???? ???? ??
? API Gateway ?? ?? ? ??? ??? ??
? API Gateway? ?????, ??, ???? ? ??? ??? ?? ? ??
? ?? ??? ? ???? ??.
26
IPC
? Inter-Process Communication
? ??????? ??? = ?? ???
? ??? ? ??? ??(1:1, 1:N)
? IPC ??
? ?? ??/?? ?? : REST, ´
? ??? ??? ?? : AMQP, ´
? ??? ??
? ??? ?? : JSON, XML, ´
? ???? : Protocol Buffers, ´
1:1 1:N
Synchronous Request/response -
Asynchronous
Notification
Request/async response
Publish/subscribe
Publish/async response
Channel
??? ???? ??
27
Service Discovery
? Why ?
? Request? ??? ???? ??? ????? ???? ??? ??? ??? ?
? IP? Port ??? ??
? ??? ?????? ? ??? ????? ???? ??? ???? ??????
? ?? ?? ??? ????, ????? ??
? Netflix Eureka, etcd, Consul, Apache Zookeeper
? ??? ??? Self-Registration Pattern? Third-Party Registration Pattern
28
Event Driven
? ?? ???
? CAP(Consistency, Availability, Partition tolerance)? ???? ??
Two-phase commit protocol
Event Sourcing
??? ?? ??? ???? ??
??? ???? ??? ??? ???? ??
??? ??? ???? ?? ??? ???
CQRS(Command Query Responsibility Segregation)
??(???? ???? Create/Delete/Update)?
??(???? ???? Read)? ??
29
??????? ?? ?? ? ???
30
V-Model & Test Pyramid
? Each phase has corresponding test or validation counterpart
Requirements
Analysis
System
Design
Program
Design
Implementation
Unit Test
Integration
Test
Acceptance
Test
Nested V-Model
Nested multiple V-Model
31
Microservice Deploy
? Use Continuous Integration/Delivery/Deployment
? Decreased lead times and higher quality with smaller batches
Monitoring
32
Deployment Strategy
33
MSA ??
34
Best Practices #1
? A? ?? ??
????
???? ??
?????
?? ??
??
??
??
??
??
??
???????
???? ??
?????
???????
???? ??
?????
???????
???? ??
?????
?? ???? ??
????? ??
??? ?? ??? ????.
35
Best Practices #2
? ???? ???(Signal Inc.)
? ??? ??? HW -> ??? ???? ??
? ?? ?? ??? ?? ?? ? ? ? ?? ??? ??
? ?? ???
?
?
?
?
?
Processing
Processing
Processing
Sensor
Sensor
Sensor
Sensor
36
Microservice Reference Model
37

More Related Content

What's hot (20)

? ?? ???? ?? ? ??????? ? ???
? ?? ???? ?? ? ??????? ? ???? ?? ???? ?? ? ??????? ? ???
? ?? ???? ?? ? ??????? ? ???
Arawn Park
?
Micro Service Architecture? ??
Micro Service Architecture? ??Micro Service Architecture? ??
Micro Service Architecture? ??
Terry Cho
?
AWS DMS? ?? ??? DB ?????? ?? - AWS Summit Seoul 2017
AWS DMS? ?? ??? DB ?????? ?? - AWS Summit Seoul 2017AWS DMS? ?? ??? DB ?????? ?? - AWS Summit Seoul 2017
AWS DMS? ?? ??? DB ?????? ?? - AWS Summit Seoul 2017
Amazon Web Services Korea
?
??? ????? (Kubernetes for everyone)
??? ????? (Kubernetes for everyone)??? ????? (Kubernetes for everyone)
??? ????? (Kubernetes for everyone)
Eunwoo Cho
?
[OpenStack Days Korea 2016] Track1 - Monasca? ??? Cloud ????
[OpenStack Days Korea 2016] Track1 - Monasca? ??? Cloud ????[OpenStack Days Korea 2016] Track1 - Monasca? ??? Cloud ????
[OpenStack Days Korea 2016] Track1 - Monasca? ??? Cloud ????
OpenStack Korea Community
?
DEVOPS ? ?? ???? ?? ? ???? ??
DEVOPS ? ?? ???? ?? ? ???? ??DEVOPS ? ?? ???? ?? ? ???? ??
DEVOPS ? ?? ???? ?? ? ???? ??
?? ?
?
[SW ???? ????] ???? ???? ??
[SW ???? ????] ???? ???? ??[SW ???? ????] ???? ???? ??
[SW ???? ????] ???? ???? ??
Alex Hahn
?
[???????] Open Stack Ceph, Neutron, HA, Multi-Region
[???????] Open Stack Ceph, Neutron, HA, Multi-Region[???????] Open Stack Ceph, Neutron, HA, Multi-Region
[???????] Open Stack Ceph, Neutron, HA, Multi-Region
Ji-Woong Choi
?
??? ?? ???? ?? #2 ??? ?? ??? ???? ??? ??
??? ?? ???? ?? #2 ??? ?? ??? ???? ??? ????? ?? ???? ?? #2 ??? ?? ??? ???? ??? ??
??? ?? ???? ?? #2 ??? ?? ??? ???? ??? ??
Terry Cho
?
???? ???? IT? ?? 4?? ??? ???? - DevOps, CI/CD, Container, ??? MSA
???? ???? IT? ?? 4?? ??? ???? - DevOps, CI/CD, Container, ??? MSA???? ???? IT? ?? 4?? ??? ???? - DevOps, CI/CD, Container, ??? MSA
???? ???? IT? ?? 4?? ??? ???? - DevOps, CI/CD, Container, ??? MSA
VMware Tanzu Korea
?
AWS ??? ???? ??? ???? ?? ?? :: ??? :: AWS Summit Seoul 20
AWS ??? ???? ??? ???? ?? ?? :: ??? :: AWS Summit Seoul 20AWS ??? ???? ??? ???? ?? ?? :: ??? :: AWS Summit Seoul 20
AWS ??? ???? ??? ???? ?? ?? :: ??? :: AWS Summit Seoul 20
Amazon Web Services Korea
?
Apiworld
ApiworldApiworld
Apiworld
Owen Rubel
?
(????) CentOS EOL? ?? ?? OS ?? ? ?? ??.pdf
(????) CentOS EOL? ?? ?? OS ?? ? ?? ??.pdf(????) CentOS EOL? ?? ?? OS ?? ? ?? ??.pdf
(????) CentOS EOL? ?? ?? OS ?? ? ?? ??.pdf
ssuserf8b8bd1
?
??????? ?? ???? ???? ?? ?? ?? - ??? (AWS ????????)
??????? ?? ???? ???? ?? ?? ?? - ??? (AWS ????????) ??????? ?? ???? ???? ?? ?? ?? - ??? (AWS ????????)
??????? ?? ???? ???? ?? ?? ?? - ??? (AWS ????????)
Amazon Web Services Korea
?
Pivotal 101??? ???? (PAS,PKS)
Pivotal 101??? ???? (PAS,PKS) Pivotal 101??? ???? (PAS,PKS)
Pivotal 101??? ???? (PAS,PKS)
VMware Tanzu Korea
?
??? ?? ?? ???? ?? ??
??? ?? ?? ???? ?? ????? ?? ?? ???? ?? ??
??? ?? ?? ???? ?? ??
Arawn Park
?
AWS ?? ???? ????? ???? ????
AWS ?? ???? ????? ???? ????AWS ?? ???? ????? ???? ????
AWS ?? ???? ????? ???? ????
Eunsu Kim
?
??? ?? AWS ?????? ??? ???? :: ??? :: AWS Summit Seoul 2016
??? ?? AWS ?????? ??? ???? :: ??? :: AWS Summit Seoul 2016??? ?? AWS ?????? ??? ???? :: ??? :: AWS Summit Seoul 2016
??? ?? AWS ?????? ??? ???? :: ??? :: AWS Summit Seoul 2016
Amazon Web Services Korea
?
Zero Data Loss Recovery Applianceによるデ`タベ`ス隠oのア`キテクチャ
Zero Data Loss Recovery Applianceによるデ`タベ`ス隠oのア`キテクチャZero Data Loss Recovery Applianceによるデ`タベ`ス隠oのア`キテクチャ
Zero Data Loss Recovery Applianceによるデ`タベ`ス隠oのア`キテクチャ
オラクルエンジニア宥佚
?
? ?? ???? ?? ? ??????? ? ???
? ?? ???? ?? ? ??????? ? ???? ?? ???? ?? ? ??????? ? ???
? ?? ???? ?? ? ??????? ? ???
Arawn Park
?
Micro Service Architecture? ??
Micro Service Architecture? ??Micro Service Architecture? ??
Micro Service Architecture? ??
Terry Cho
?
AWS DMS? ?? ??? DB ?????? ?? - AWS Summit Seoul 2017
AWS DMS? ?? ??? DB ?????? ?? - AWS Summit Seoul 2017AWS DMS? ?? ??? DB ?????? ?? - AWS Summit Seoul 2017
AWS DMS? ?? ??? DB ?????? ?? - AWS Summit Seoul 2017
Amazon Web Services Korea
?
??? ????? (Kubernetes for everyone)
??? ????? (Kubernetes for everyone)??? ????? (Kubernetes for everyone)
??? ????? (Kubernetes for everyone)
Eunwoo Cho
?
[OpenStack Days Korea 2016] Track1 - Monasca? ??? Cloud ????
[OpenStack Days Korea 2016] Track1 - Monasca? ??? Cloud ????[OpenStack Days Korea 2016] Track1 - Monasca? ??? Cloud ????
[OpenStack Days Korea 2016] Track1 - Monasca? ??? Cloud ????
OpenStack Korea Community
?
DEVOPS ? ?? ???? ?? ? ???? ??
DEVOPS ? ?? ???? ?? ? ???? ??DEVOPS ? ?? ???? ?? ? ???? ??
DEVOPS ? ?? ???? ?? ? ???? ??
?? ?
?
[SW ???? ????] ???? ???? ??
[SW ???? ????] ???? ???? ??[SW ???? ????] ???? ???? ??
[SW ???? ????] ???? ???? ??
Alex Hahn
?
[???????] Open Stack Ceph, Neutron, HA, Multi-Region
[???????] Open Stack Ceph, Neutron, HA, Multi-Region[???????] Open Stack Ceph, Neutron, HA, Multi-Region
[???????] Open Stack Ceph, Neutron, HA, Multi-Region
Ji-Woong Choi
?
??? ?? ???? ?? #2 ??? ?? ??? ???? ??? ??
??? ?? ???? ?? #2 ??? ?? ??? ???? ??? ????? ?? ???? ?? #2 ??? ?? ??? ???? ??? ??
??? ?? ???? ?? #2 ??? ?? ??? ???? ??? ??
Terry Cho
?
???? ???? IT? ?? 4?? ??? ???? - DevOps, CI/CD, Container, ??? MSA
???? ???? IT? ?? 4?? ??? ???? - DevOps, CI/CD, Container, ??? MSA???? ???? IT? ?? 4?? ??? ???? - DevOps, CI/CD, Container, ??? MSA
???? ???? IT? ?? 4?? ??? ???? - DevOps, CI/CD, Container, ??? MSA
VMware Tanzu Korea
?
AWS ??? ???? ??? ???? ?? ?? :: ??? :: AWS Summit Seoul 20
AWS ??? ???? ??? ???? ?? ?? :: ??? :: AWS Summit Seoul 20AWS ??? ???? ??? ???? ?? ?? :: ??? :: AWS Summit Seoul 20
AWS ??? ???? ??? ???? ?? ?? :: ??? :: AWS Summit Seoul 20
Amazon Web Services Korea
?
(????) CentOS EOL? ?? ?? OS ?? ? ?? ??.pdf
(????) CentOS EOL? ?? ?? OS ?? ? ?? ??.pdf(????) CentOS EOL? ?? ?? OS ?? ? ?? ??.pdf
(????) CentOS EOL? ?? ?? OS ?? ? ?? ??.pdf
ssuserf8b8bd1
?
??????? ?? ???? ???? ?? ?? ?? - ??? (AWS ????????)
??????? ?? ???? ???? ?? ?? ?? - ??? (AWS ????????) ??????? ?? ???? ???? ?? ?? ?? - ??? (AWS ????????)
??????? ?? ???? ???? ?? ?? ?? - ??? (AWS ????????)
Amazon Web Services Korea
?
??? ?? ?? ???? ?? ??
??? ?? ?? ???? ?? ????? ?? ?? ???? ?? ??
??? ?? ?? ???? ?? ??
Arawn Park
?
AWS ?? ???? ????? ???? ????
AWS ?? ???? ????? ???? ????AWS ?? ???? ????? ???? ????
AWS ?? ???? ????? ???? ????
Eunsu Kim
?
??? ?? AWS ?????? ??? ???? :: ??? :: AWS Summit Seoul 2016
??? ?? AWS ?????? ??? ???? :: ??? :: AWS Summit Seoul 2016??? ?? AWS ?????? ??? ???? :: ??? :: AWS Summit Seoul 2016
??? ?? AWS ?????? ??? ???? :: ??? :: AWS Summit Seoul 2016
Amazon Web Services Korea
?
Zero Data Loss Recovery Applianceによるデ`タベ`ス隠oのア`キテクチャ
Zero Data Loss Recovery Applianceによるデ`タベ`ス隠oのア`キテクチャZero Data Loss Recovery Applianceによるデ`タベ`ス隠oのア`キテクチャ
Zero Data Loss Recovery Applianceによるデ`タベ`ス隠oのア`キテクチャ
オラクルエンジニア宥佚
?

Similar to Microservices (20)

Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
Yoonsung Jung
?
???? ??? ???? ?? ? ?? ??
???? ??? ???? ?? ? ?? ?????? ??? ???? ?? ? ?? ??
???? ??? ???? ?? ? ?? ??
Young Soo Lee
?
??? ???? ???? ??? (uEngine Microservice architecture Platform)
??? ???? ???? ??? (uEngine Microservice architecture Platform)??? ???? ???? ??? (uEngine Microservice architecture Platform)
??? ???? ???? ??? (uEngine Microservice architecture Platform)
uEngine Solutions
?
[OpenInfra Days Korea 2018] (Track 2) Microservice Architecture, DevOps ??? 5...
[OpenInfra Days Korea 2018] (Track 2) Microservice Architecture, DevOps ??? 5...[OpenInfra Days Korea 2018] (Track 2) Microservice Architecture, DevOps ??? 5...
[OpenInfra Days Korea 2018] (Track 2) Microservice Architecture, DevOps ??? 5...
OpenStack Korea Community
?
MSA ?? 2: ???????, ??? ??? ????
MSA ?? 2: ???????, ??? ??? ????MSA ?? 2: ???????, ??? ??? ????
MSA ?? 2: ???????, ??? ??? ????
VMware Tanzu Korea
?
Cloud migration pattern using microservices
Cloud migration pattern using microservicesCloud migration pattern using microservices
Cloud migration pattern using microservices
Seong-Bok Lee
?
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service Architecture
HEECHEOL YANG
?
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3
uEngine Solutions
?
Cloud native application ??
Cloud native application ??Cloud native application ??
Cloud native application ??
Seong-Bok Lee
?
??????? ??
??????? ????????? ??
??????? ??
Younghun Yun
?
???1?_?_?????????
???1?_?_????????????1?_?_?????????
???1?_?_?????????
VMware Tanzu Korea
?
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) ???? ????-????????@???...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) ???? ????-????????@???...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) ???? ????-????????@???...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) ???? ????-????????@???...
?? ?
?
[2017 AWS Startup Day] ???? ???????? ??? ???? ???
[2017 AWS Startup Day] ???? ???????? ??? ???? ???[2017 AWS Startup Day] ???? ???????? ??? ???? ???
[2017 AWS Startup Day] ???? ???????? ??? ???? ???
Amazon Web Services Korea
?
Sumologic Kubernetes technical demo deck
Sumologic Kubernetes technical demo deck Sumologic Kubernetes technical demo deck
Sumologic Kubernetes technical demo deck
Guenjun Yoo
?
Sumologic Kubernetes ?????
Sumologic Kubernetes ?????Sumologic Kubernetes ?????
Sumologic Kubernetes ?????
Guenjun Yoo
?
[OpenInfra Days Korea 2018] Day 2 - E6 - ???????? ?? Istio & Kubernetes [????...
[OpenInfra Days Korea 2018] Day 2 - E6 - ???????? ?? Istio & Kubernetes [????...[OpenInfra Days Korea 2018] Day 2 - E6 - ???????? ?? Istio & Kubernetes [????...
[OpenInfra Days Korea 2018] Day 2 - E6 - ???????? ?? Istio & Kubernetes [????...
OpenStack Korea Community
?
Data in Motion? ?? ??? ?? ??????? ???? ??
Data in Motion? ?? ??? ?? ??????? ???? ??Data in Motion? ?? ??? ?? ??????? ???? ??
Data in Motion? ?? ??? ?? ??????? ???? ??
confluent
?
designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...
uEngine Solutions
?
[??????] Container??? DevOps - ???? ????
[??????] Container??? DevOps - ???? ????[??????] Container??? DevOps - ???? ????
[??????] Container??? DevOps - ???? ????
Open Source Consulting
?
???? ??? ??? ??? ?? ???? ??? ??????? :: ??? ??
???? ??? ??? ??? ?? ???? ??? ??????? :: ??? ?????? ??? ??? ??? ?? ???? ??? ??????? :: ??? ??
???? ??? ??? ??? ?? ???? ??? ??????? :: ??? ??
Amazon Web Services Korea
?
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
Yoonsung Jung
?
???? ??? ???? ?? ? ?? ??
???? ??? ???? ?? ? ?? ?????? ??? ???? ?? ? ?? ??
???? ??? ???? ?? ? ?? ??
Young Soo Lee
?
??? ???? ???? ??? (uEngine Microservice architecture Platform)
??? ???? ???? ??? (uEngine Microservice architecture Platform)??? ???? ???? ??? (uEngine Microservice architecture Platform)
??? ???? ???? ??? (uEngine Microservice architecture Platform)
uEngine Solutions
?
[OpenInfra Days Korea 2018] (Track 2) Microservice Architecture, DevOps ??? 5...
[OpenInfra Days Korea 2018] (Track 2) Microservice Architecture, DevOps ??? 5...[OpenInfra Days Korea 2018] (Track 2) Microservice Architecture, DevOps ??? 5...
[OpenInfra Days Korea 2018] (Track 2) Microservice Architecture, DevOps ??? 5...
OpenStack Korea Community
?
Cloud migration pattern using microservices
Cloud migration pattern using microservicesCloud migration pattern using microservices
Cloud migration pattern using microservices
Seong-Bok Lee
?
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service Architecture
HEECHEOL YANG
?
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3
uEngine Solutions
?
Cloud native application ??
Cloud native application ??Cloud native application ??
Cloud native application ??
Seong-Bok Lee
?
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) ???? ????-????????@???...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) ???? ????-????????@???...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) ???? ????-????????@???...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) ???? ????-????????@???...
?? ?
?
[2017 AWS Startup Day] ???? ???????? ??? ???? ???
[2017 AWS Startup Day] ???? ???????? ??? ???? ???[2017 AWS Startup Day] ???? ???????? ??? ???? ???
[2017 AWS Startup Day] ???? ???????? ??? ???? ???
Amazon Web Services Korea
?
Sumologic Kubernetes technical demo deck
Sumologic Kubernetes technical demo deck Sumologic Kubernetes technical demo deck
Sumologic Kubernetes technical demo deck
Guenjun Yoo
?
Sumologic Kubernetes ?????
Sumologic Kubernetes ?????Sumologic Kubernetes ?????
Sumologic Kubernetes ?????
Guenjun Yoo
?
[OpenInfra Days Korea 2018] Day 2 - E6 - ???????? ?? Istio & Kubernetes [????...
[OpenInfra Days Korea 2018] Day 2 - E6 - ???????? ?? Istio & Kubernetes [????...[OpenInfra Days Korea 2018] Day 2 - E6 - ???????? ?? Istio & Kubernetes [????...
[OpenInfra Days Korea 2018] Day 2 - E6 - ???????? ?? Istio & Kubernetes [????...
OpenStack Korea Community
?
Data in Motion? ?? ??? ?? ??????? ???? ??
Data in Motion? ?? ??? ?? ??????? ???? ??Data in Motion? ?? ??? ?? ??????? ???? ??
Data in Motion? ?? ??? ?? ??????? ???? ??
confluent
?
designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...
uEngine Solutions
?

More from ?? ? (20)

Ms Azure fundamentals
Ms Azure fundamentalsMs Azure fundamentals
Ms Azure fundamentals
?? ?
?
AWS Certified Cloud Practitioner
AWS Certified Cloud PractitionerAWS Certified Cloud Practitioner
AWS Certified Cloud Practitioner
?? ?
?
Dev ops Introduction
Dev ops IntroductionDev ops Introduction
Dev ops Introduction
?? ?
?
??(Kanban)
??(Kanban)??(Kanban)
??(Kanban)
?? ?
?
? ????? ??(Lean software development)
? ????? ??(Lean software development)? ????? ??(Lean software development)
? ????? ??(Lean software development)
?? ?
?
What is agile
What is agileWhat is agile
What is agile
?? ?
?
??? ???
??? ?????? ???
??? ???
?? ?
?
????? ???? ??(Atam)
????? ???? ??(Atam)????? ???? ??(Atam)
????? ???? ??(Atam)
?? ?
?
???(Scrum)
???(Scrum)???(Scrum)
???(Scrum)
?? ?
?
???? ?????(Xp)
???? ?????(Xp)???? ?????(Xp)
???? ?????(Xp)
?? ?
?
??? ??
??? ????? ??
??? ??
?? ?
?
?????(Wcdma network)
?????(Wcdma network)?????(Wcdma network)
?????(Wcdma network)
?? ?
?
?????(Cdma network)
?????(Cdma network)?????(Cdma network)
?????(Cdma network)
?? ?
?
?????(Gprs network)
?????(Gprs network)?????(Gprs network)
?????(Gprs network)
?? ?
?
?????(Gsm network)
?????(Gsm network)?????(Gsm network)
?????(Gsm network)
?? ?
?
????? ????
????? ????????? ????
????? ????
?? ?
?
?????(Cellular concepts)
?????(Cellular concepts)?????(Cellular concepts)
?????(Cellular concepts)
?? ?
?
????? ???
????? ???????? ???
????? ???
?? ?
?
????? ????
????? ????????? ????
????? ????
?? ?
?
??? S/W ??
??? S/W ????? S/W ??
??? S/W ??
?? ?
?
Ms Azure fundamentals
Ms Azure fundamentalsMs Azure fundamentals
Ms Azure fundamentals
?? ?
?
AWS Certified Cloud Practitioner
AWS Certified Cloud PractitionerAWS Certified Cloud Practitioner
AWS Certified Cloud Practitioner
?? ?
?
Dev ops Introduction
Dev ops IntroductionDev ops Introduction
Dev ops Introduction
?? ?
?
??(Kanban)
??(Kanban)??(Kanban)
??(Kanban)
?? ?
?
? ????? ??(Lean software development)
? ????? ??(Lean software development)? ????? ??(Lean software development)
? ????? ??(Lean software development)
?? ?
?
What is agile
What is agileWhat is agile
What is agile
?? ?
?
??? ???
??? ?????? ???
??? ???
?? ?
?
????? ???? ??(Atam)
????? ???? ??(Atam)????? ???? ??(Atam)
????? ???? ??(Atam)
?? ?
?
???(Scrum)
???(Scrum)???(Scrum)
???(Scrum)
?? ?
?
???? ?????(Xp)
???? ?????(Xp)???? ?????(Xp)
???? ?????(Xp)
?? ?
?
??? ??
??? ????? ??
??? ??
?? ?
?
?????(Wcdma network)
?????(Wcdma network)?????(Wcdma network)
?????(Wcdma network)
?? ?
?
?????(Cdma network)
?????(Cdma network)?????(Cdma network)
?????(Cdma network)
?? ?
?
?????(Gprs network)
?????(Gprs network)?????(Gprs network)
?????(Gprs network)
?? ?
?
?????(Gsm network)
?????(Gsm network)?????(Gsm network)
?????(Gsm network)
?? ?
?
????? ????
????? ????????? ????
????? ????
?? ?
?
?????(Cellular concepts)
?????(Cellular concepts)?????(Cellular concepts)
?????(Cellular concepts)
?? ?
?
????? ???
????? ???????? ???
????? ???
?? ?
?
????? ????
????? ????????? ????
????? ????
?? ?
?
??? S/W ??
??? S/W ????? S/W ??
??? S/W ??
?? ?
?

Microservices

  • 2. 2 Contents 1 ???????? ?? 0 Warm-up 3 ??????? ?? ?? ? ??? 4 ???????? ?? ? ?? 2 ???????? ?? 5 ??????? ?? ?? ? ??? 6 MSA ??
  • 3. 3 Infrastructure Evolution ? IT ???????? ?? Electronic accounting machine 1930 ~ 1950 ? ??? ??? ?? ?? ??? ??? ?? ? ?? ???? ????? General-Purpose Mainframe and minicomputer 1950 ~ ?? ? 1958: IBM ????? ? 1965: DEC ??? Personal computer 1981 ~ ?? ? 1981: IBM PC ? 80~90?? PC ? SW ?? Client Server 1983 ~ ?? ? ??? ?????? ????? ?? ?? ?? ? N-tier ? ??? ??? ??: ????, ??????, Web Enterprise Internet 1992 ~ ?? ? ?? ???? ? ??? ?? ? ?????? ?????? Cloud and mobile computing 2000 ~ ?? ? ??? ? ??????? ????? ????? ?? ?? ? ?? ??? ???? ??? ??
  • 4. 4 Software Development Methodology ? Waterfall ? Agile ? DevOps Waterfall Agile DevOps Analysis Development Build Test Deployment DEV QA OPS Test Deployment DEV QA OPS A D B A D B A D B Sprint Sprint Sprint A D B T D Sprint DEV/QA/OPS A D B T D Sprint DEV/QA/OPS A D B T D Sprint DEV/QA/OPS
  • 5. 5 Prolog - History Innovation 1985 1995 2005 2015 2025 OO application (offline, monolith) Online systems (offline, monolith) Distributed systems (distributed monolith) Microservices Technology X Challenge: Reaching customers (diskettes, CDs) Challenge: Scaling Performance Challenge: Zero downtime Upgrade Challenge: Comprehension Monolith Single unit SOQ Coarse-grained Microservices Fine-grained
  • 6. 6 Prolog - AOP AOP(Aspect Oriented Programming)? ??? ?? ???? ??? ?? ??? ????, ?? ??? ??? ?? ???? ?? ?? ??? ?? ??? ????? ??? ???? ????. ?? ???? ?? ??? ?? ?, ?? ??? ???? ??? ???? ?? ????. OOP AOP ?? ?? ?? ?? ???? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???? ?? ???? ?? ???? ?? ???? ?? ??? ?? ?? ?? ?? ???? ?? ?? ?? ?? Application Primary Concern Cross-Cutting Concern Application Primary Concern Code Aspect Point-cut Cross-Cutting Concern Advise Primary(Core) Concern: ???? ??? ??? ?? Cross-Cutting Concern: ???? ???? ??? ??? ???? ???? ?? Code: primary Concen?? ??? ?? ?? Join Point: ?? ?? ?? ??? ???? ??? ? ?? ?? ??? ?? ?? Point-Cut: ?? ???? Join Point? ??? ??? ???? ?? ?? Advise: ? Join-Point? ???? ??? ? ?? ??
  • 7. 7 Prolog - SOA ? Service Oriented Architecture ´ ? ??? ???(Client)? ???? ???? ?????? ?? ?? ? ?? ??? ?? ??(???)? ??? ????? ??? ?? ???? ?? ?????? ????? ???? ???? Service Orientation Architecture ? Open ? ?? ???? ?? ????? ?? ? ?????? ??? Description? ?? ???? Dynamic Discovery ???? ?? ?? ??? ?? ? ???? ??? ???? ?? ????? ???? ??? ? ? Layer? ?? ???? ?????? ?? ????? Blueprint? ????? ?? ? ??, ????, ?? ??? ?? Service Consumer Service Provider Service Broker Find Register Bind Message Client Service Service Contract ?? ???? ?????? ?? ???? ??? ???? XML ??? ? ????, Service Broker? ?? ???? ???? ????, ??????? ???? ???? ?? ? ?? ??? ????.
  • 8. 8 Prolog - Service ? ??? ? ????? ??? ??? ??? ??? ????? ??? ? ?? SW ???? ? ??? ???, ?? ?? ? ??, Self-contained ? ???? ??? ?? ??? ??? ???, ??? ?????? ???? ?? ????? ??? ??? ????? ???? Service Implementation ? ?? ??? ?? Service Interface ? Request? ???? ? ??? ?? Infrastructure Service Existing Application External Services Existing Application Service Wrapper Service Wrapper Coarse Grained Business Service (Business Service Bus) Aggregation Fine Grained Implementation-Based Service ???
  • 11. 11 Microservices - Definition ? Microservices is ´ A software architecture style in which complex applications are composed of small, Independent process communicating with each other using language-agnostic APIs. These services are small, highly decupled and focus on doing a small task, facilitating a modular approach to system-build - Wikipedia ??? ??? ????? ?? ???? ??? ?? ??? ??????? ???? ????, ??? ???? ???? ???? ????, ??? ??? ? ??/????? ?? ?? ????? ??? ? ??. ???? ???? ?? ??? ???, ? ???? ?? ?? ????? ??, ?? ??? ???? ??? ??? ??? ?. - Martin Fowler at ThoughWorks Data Store Public API Software Modules: Application code, libraries, ´ Microservices = Fine-grained service-oriented architecture + ^small ̄ public API Microservice
  • 12. 12 Microservices C Pros, & Cons. Data Business Logic Web Monolithic Design Microservices Design Http Listener Page Content ReportingOrder ManagementUsage Analytics AuthenticationOrderSearching Monolithic Style Microservices Single Unit with all components interwoven Applications are suite of service Overall Scaling of the structure required Each service independently scalable Overall deployment Independently deployable Increases complexity for developers More developer friendly One errant component crashes the whole system Fault diagnosis and isolation is easier Testing is streamlined Difficult to test
  • 13. 13 Microservices - Size ? ???????? ??? ??? ?? ??? ???????? ???? ?? ? ? ?? (?? ??) ??? ?? ??? ????? ??? ??????? ?? ?? ???????? ?? ?? ??? ??? ?? ???? ??? ??? ????? ???? ?????? ?? ? ? ??? ?? ???? ???? ???? ??? ???? ??? ?? ?? ???? ???????? ??? ????? ????? ???? ??? ?????????? ???? ??? ??? ??? ?? ??, ???????? ??? ???? ???????? ???? ?? ??? ????
  • 14. 14 Microservices C Organization: Conway¨s law Organizations which design system (in the board sense used here) are constrained to produce design which are copies of the communications structures of these organizations - Melvin Conway, Datamation, 1968
  • 15. 15 Microservices C Most Important thing! ? Only rely on each other¨s public API ? ?? ?? ??? ?????? ?? ???? ???? ??? ???? ? ??? ??? ?????? ?? ?? ???? ? ?? ??? ?????? ?? ?? ???? ??? ????? ????? ?? Microservice A Microservice B
  • 17. 17 MSA ? Microservices Architecture ? ???? ???? ?? ??? ?? ????? ??? ?? ? Inner Architecture C ?? ???????? ???? ? Outer Architecture C ???????? ??? ???? ???? ??? ?? ??? ?? Inner Architecture Outer Architecture ? Single Purpose ? Loosely coupled ? Independently deployable ? Independently disposable ? Focused Business Capabilities ? Decentralized Data Management ? Heterogeneous Technology ? Logging & Monitoring ? Stateless ? Managed APIs ? Expose services ? Route messages ? Asynchronous communication ? Load Balancing ? Service Discovery ? Shared Configuration ? Dependency management ? Transaction Analysis ? Logging & Monitoring
  • 18. 18 Microservices - Implementation ? MSA ?? ? ????? ??? ?? 4??? ?? ???? ??? ?????? ?? ??? ??? ?? ??????? ??? ??? ?? ???? ?? ? ??1 2 3 4 ??? ???? ? ?? ?? ??? ??? ? ???? ??? ??? ?? ??? ??, ??? ? ?? ?????? ?? ?? ?? ??? ??????, ????? ? ?? ????? ??? = Σ ??? ???? ??? ?? ??? ???? ?? ? ???? ?? ??? ?? ? ???? VM?? ?? ? ???? ?????? ?? ? API Gateway - ???/???? I/O ? IPC - ??(??? ??) - ???(Request) ? Client Side Discovery Pattern ? Server Side Discovery Pattern - ?? ???? ?? ??? ???? ?? ????? ????, ?????? IP? ?? Service Discovery ?? ???? ?? ??
  • 19. 19
  • 21. 21 Microservices - Benefits ? ??????? ?? ? ?? ?? ?? ?? ?? ???? ?? ? ?? ??? ? ?? ??? ?? ? ??? ?? ? ???? ?? ?? ? ??? ? ??? ? ???? ?? ?? ? ??? ? ?? ??? ? ?? ??? ? ??? ???? ? ?? ?? ?? ? ??? ????? ?? ? ??? ???? ??? ???? ?? ???? ?? ???? ??????? ?? ???? ??? App ?? ????? ?? ??? ?? ?? ??? ?? ?? ??? ?? ?? ??? ?? ??? ??? ?? ?????
  • 22. 22 Microservices C Challenges ? ??????? ?? ? ???? ???? ??? ??? ?? ?? ?? API? ?? ?? ? ?? ?? ??? ?? ? ?? ?? ??? ? ??? ?? ?? ? ?? ?? ???? ???? ?? ??? ??
  • 25. 25 API Gateway ? API Gateway ? ??? ?? ??? ???? ??? ? ?? ??? ???? ??, ??? ? ???? ???? ?? ? API Gateway ?? ?? ? ??? ??? ?? ? API Gateway? ?????, ??, ???? ? ??? ??? ?? ? ?? ? ?? ??? ? ???? ??.
  • 26. 26 IPC ? Inter-Process Communication ? ??????? ??? = ?? ??? ? ??? ? ??? ??(1:1, 1:N) ? IPC ?? ? ?? ??/?? ?? : REST, ´ ? ??? ??? ?? : AMQP, ´ ? ??? ?? ? ??? ?? : JSON, XML, ´ ? ???? : Protocol Buffers, ´ 1:1 1:N Synchronous Request/response - Asynchronous Notification Request/async response Publish/subscribe Publish/async response Channel ??? ???? ??
  • 27. 27 Service Discovery ? Why ? ? Request? ??? ???? ??? ????? ???? ??? ??? ??? ? ? IP? Port ??? ?? ? ??? ?????? ? ??? ????? ???? ??? ???? ?????? ? ?? ?? ??? ????, ????? ?? ? Netflix Eureka, etcd, Consul, Apache Zookeeper ? ??? ??? Self-Registration Pattern? Third-Party Registration Pattern
  • 28. 28 Event Driven ? ?? ??? ? CAP(Consistency, Availability, Partition tolerance)? ???? ?? Two-phase commit protocol Event Sourcing ??? ?? ??? ???? ?? ??? ???? ??? ??? ???? ?? ??? ??? ???? ?? ??? ??? CQRS(Command Query Responsibility Segregation) ??(???? ???? Create/Delete/Update)? ??(???? ???? Read)? ??
  • 30. 30 V-Model & Test Pyramid ? Each phase has corresponding test or validation counterpart Requirements Analysis System Design Program Design Implementation Unit Test Integration Test Acceptance Test Nested V-Model Nested multiple V-Model
  • 31. 31 Microservice Deploy ? Use Continuous Integration/Delivery/Deployment ? Decreased lead times and higher quality with smaller batches Monitoring
  • 34. 34 Best Practices #1 ? A? ?? ?? ???? ???? ?? ????? ?? ?? ?? ?? ?? ?? ?? ?? ??????? ???? ?? ????? ??????? ???? ?? ????? ??????? ???? ?? ????? ?? ???? ?? ????? ?? ??? ?? ??? ????.
  • 35. 35 Best Practices #2 ? ???? ???(Signal Inc.) ? ??? ??? HW -> ??? ???? ?? ? ?? ?? ??? ?? ?? ? ? ? ?? ??? ?? ? ?? ??? ? ? ? ? ? Processing Processing Processing Sensor Sensor Sensor Sensor
  • 37. 37