SlideShare a Scribd company logo
1 of 27
Download to read offline
마이크로서비스 어떻게
구현할 것인가?
황주필
한국 피보탈
Cloud-Native Application
(SRE)
Cloud-Native Application
DevOps (SRE)
소프트웨어 전달과 인프라스트럭
처 변경 프로세스 자동화를 목표로
소프트웨어 개발자와 IT운영자가
협업, 신뢰성 있는 소프트웨어 생
성, 테스트, 릴리즈를 신속하게 자
주 진행할 수 있는 문화와 환경
Continuous Delivery
릴리스 작업을 단순하고 신뢰 가능
하게 만들어주므로 조직은 최종 배
포본이 비즈니스 프로세스와 엔터
프라이즈 경쟁력의 일부로 통합될
때까지 위험이 낮은 상황에서 자주
전달하고 최종 사용자로부터 빠르
게 피드백을 얻을 수 있다
Microservices
작은 서비스의 집합으로 애플리케
이션을 개발하는 아키텍처형 접근
법, 각 서비스는 비즈니스를 구현
하고 프로세스를 실행되면 API통신
한다.
Containers
운영시스템(OS)레벨의 가상화를
사용하여 하나 이상의 격리된 컨테
이너에 동적으로 분리되고, 각 컨
테이너는 고유의 프로세스와 리소
스 할당하고 높은 밀도로 결합된
컨테이너들를 개별 아이크로서비
스 배포수단으로 사용
● 속도와 안정성
● 협업 강화
● 문화
● 플랫폼 필요성 대두,
OnDemand Service
● SRE
● Agile
● 짧고 지속적 반복
● 지속적 통합/배포/제공
● 플랫폼/애플리케이션 배포
자동화
● API First
● 도메인 주도 설계
● 독립적 확장 가능
● 보다 빠르고 독립적인 배포
● 간편한 개발 및 유지관리
● Container Orchestration
● Self-containment
● Immutable Image
● Process Disposability
● Runtime Confinement
SRE : Site Reliability Engineering
마이크로서비스의 특징
• 분리된 서비스들의 집합 (Componentization via Services)
• 비즈니스 능력에 따른 조직 구성 (Organized around Business Capability)
• 프로젝트가 아닌 프로덕트 (Products not Projects)
• 똑똑한 엔드포인트와 멍청한 파이프 (Smart endpoints and dumb pipes)
• 분산된 운영 방식 (Decentralized Governance)
• 인프라스트럭쳐 자동화 (Infrastructure Automation)
• 실패에 대비한 디자인 (Design for failure)
• 점진적 디자인 (Evolutionary Design)
Design Principle
- 높은 응집과 낮은 결합 (High Cohesion and Loose Coupling)
- 탄력적이고 확장 가능 (Resilience & Scalability)
- 높은 가시성과 관측성 (Observability)
• SOLID by Robert C. Martin (aka Uncle Bob) – 객체지향 개발 5대 원리
• 단일 책임의 원칙(Single responsibility principle): only changes to one part of the software’s spe
cification should be able to affect the specification of the class
• 개방폐쇄의 원칙(Open-closed principle): should be open for extension, but closed for modificati
on
• 리스코브 치환의 원칙(Liskov substitution principle): Object in a program should be replaceable
with instances of their subtypes without altering their correctness of that program
• 인터페이스 분리의 원칙(Interface segregation principle): Many client-specific interfaces are bett
er than one general-purpose interface
• 의존성역전의 원칙(Dependency inversion principle): One should depend upon abstractions, not
concretions
https://dzone.com/articles/cloud-native-container-design-principles
Domain-Driven Design
Event Storming (비즈니스 로직 단위로 분해)
Boris (분해된 각 단위가 어떻게 상호 작용하는 지 정의)
SnapE 분석 (분해된 각 단위의 API,
데이터 처리, 로직 등을 정의)
- Bounded Context
- Context Map
- Related Patterns
12-Factor App - https://12factor.net/ko
코드베이스 종속성 설정 백엔드 서비스
빌드, 릴리즈, 실행 프로세스 포트 바인딩
동시성
(Concurrency)
폐기 가능
(Disposability)
개발/운영 환경 일치 로그 Admin 프로세스
https://12factor.net/ko/
마이크로서비스 아키텍처 구성
• 설정 (Configuration)
• 서비스 등록 및 감지 (Service Registration and discovery)
• 서비스 게이트웨이 (Service Gateway)
• 서킷 브레이커 (Circuit Breakers)
• 분산 트레이싱 (Distributed tracing)
[ Service Registry ] [ Circuit Breaker ]
Developing Service - Microframework
• Polyglot 은 꿈인가?
• Nodejs, Python, Go, Java, C#
• 프레임워크의 진화 à WAS의 종말
• Ktor
• Spark
• Micronaut
• javalin
• Spring WebFlux (former Spring Reactive Web)
fun main(args: Array<String>) {
val server = embeddedServer(Netty, port = 8080) {
routing {
get("/") {
call.respondText("Hello World!", ContentType.Text.Plain)
}
}
}
server.start(wait = true)
}
Developing Services
Access Apps
Cloud-Native Data
Running Microservices
Security
Non-Blocking
• Nodejs
• Vert.x
• Spring WebFlux
• RxJava, RxJs, Rx…..
• Coroutine for Kotlin
• Blocking persistence API (ex. Jdbc)
• Non-blocking nosql db (r2dbc : Reactive Relational Database Connectivity)
Developing Services
Access Apps
Cloud-Native Data
Running Microservices
Security
Scale to Zero / Functional
• GraalVM – Native-image
• Kotlin/Native
• Spring Fu (Kofu / Jafu) – Kotlin/Java micro-framework for creating lightweight Spring-powered appli
cations with functional APIs instead of annotations
Developing Services
Access Apps
Cloud-Native Data
Running Microservices
Security
Developing Services – MSA Framework
• Developer Tooling and Frameworks
• Netflix OSS
• Hystrix / Ribbon / Feign
• Eureka
• Spring Cloud Service
• Apache zookeeper
• Twitter zipkin
• Dropwizard
• Vert.x
• Microprofile
• Micronaut
Developing Services
Access Apps
Cloud-Native Data
Running Microservices
Security
스프링 클라우드(Spring cloud):
Coordinate anything
Distributed systems simplified
Developing Services
Access Apps
Cloud-Native Data
Running Microservices
Security
Accessing Apps
• 분산 서비스들 요청
• Service Registry and Discovery
• Consul
• Eureka
• Etcd
• Service Discovery with Kubernetes
• Circuit Breaker : Hystrix / Resilience4J
• Request retries
• Fallback logic
• Control loop
• API Gateways : Routing, Load-Balancing
• Service Mesh
Developing Services
Access Apps
Cloud-Native Data
Running Microservices
Security
Inter Service Communication
• 동기 통신
• REST
• gRPC
• GraphQL : 여러 마이크로서비스 요청을 한번에
• WebSocket
• Apache Thrift
• 메시지 포멧
• JSON
• XML : 스키마
• Protocol Buffer
• Avro
1:1 1:N
동기
요청/응답
(Request / Response)
비동기
알림
(Notification)
퍼블리시/구독
(Publish / Subscribe)
요청/비동기 응답
(Request / Async response)
퍼블리시/비동기 구독
(Publish / Async response)
Developing Services
Access Apps
Cloud-Native Data
Running Microservices
Security
Cloud-Native Data : Decentralized Data
• Monolithic Application and 공유 데이터베이스 à Decentralized Data with Microservices
• 마이크로서비스별 데이터베이스 (Polyglot Persistence) à Data Island
• Sharing Data Between Microservices
• 공유 테이블의 제거
• 데이터 공유
• 데이터 구성 (Composition)
Developing Services
Access Apps
Cloud-Native Data
Running Microservices
Security
Cloud-Native Data : Decentralized Data
• 캐싱 – 모든 마이크로서비스는 캐시가 필요하다
• Redis
• Pivotal Gemfire (Pivotal Cloud Cache)
• EVCache
[ Look-Aside Cache ]
1000s of transact
ions per second
100s of transacti
ons per second
[ In-line cache (Front-ending a DB) ] [ Client-Side Subscription ]
Developing Services
Access Apps
Cloud-Native Data
Running Microservices
Security
Cloud-Native Data : Event-driven
• 느슨한 결합으로 분산시스템(마이크로서비스) 간에 상호 의존성을 배제할 수 있음
• 서비스 정보를 몰라도 메세지 브로커간 메세지 교환이 가능
• Eventual Consistency
[ Events for Notification ]
Send Notification
[ Events for data duplication ]
• 간단한 구조
• 외부 서비스 요청 à 종속성 증대
• 외부 서비스 요청 감소 à 종속성 감소
• 로컬 복사본 à 서비스 자유도 증가
• 로컬 데이터셋을 유지/복사 하기 위한 복잡도 증가
[ Data Capture를 이용한 데이터 복제]
CDC
CDC
CDC
Event Handlers Event Handlers
https://www.confluent.io/
Distributed, replicated event log
Developing Services
Access Apps
Cloud-Native Data
Running Microservices
Security
Cloud-Native Data : Kafka Stream
• 예) Kafka-Stream + Cache + Materialized Views
https://www.infoq.com/articles/microservices-startup/
REST API
Materialized View as State Store
Table for enrichment
Stream
Stream-Table-Join
Kafka Streams API
- join
- filter
- group by
- aggregate
KStream
{key1, value1}, {key2, value2}, {key1, value3}
KTable
key1, value3
key2, value2
Microservices
REST API
Developing Services
Access Apps
Cloud-Native Data
Running Microservices
Security
Cloud-Native Data : Transaction
• 마이크로서비스에서 트랜잭션 처리 – 보상트랜잭션 (Compensating operations)
• Two-Phase Commit (2PC)
• Publishing Events Using Local Transactions : Saga
• Database Log Mining (CDC : Change Data Capture)
• Event Sourcing
• TCC (Try-confirm/cancel)
Developing Services
Access Apps
Cloud-Native Data
Running Microservices
Security
Deploying and Running Microservices
• VM vs 컨테이너
• 도커 (Docker)
• Container Orchestration
• 쿠베르네티스 (Kubernetes)
• 클라우드 파운드리 (Cloud Foundry)
• 지속적 통합과 배포 (Continuous Integration and Delivery/Deployment)
• 서비스 메시 (Service Mesh: Istio (Envoy) or Linkerd)
• Resiliency for Inter-Service-Communications
• Service Discovery
• Routing
• Observability
• Security
• Deployment
Developing Services
Access Apps
Cloud-Native Data
Running Microservices
Security
Observability
• Troubleshooting : Finding the needle in the haystack
• Application logging
• EFK
• Datadog
• Application Metric
• Prometheus
• InfluxDB
• Distributed tracing
• Spring Cloud Sleuth / Zipkin
• Jaeger
• Open Tracing using Zipkin or Jaeger
Developing Services
Access Apps
Cloud-Native Data
Running Microservices
Security
Securing Microservices
• Securing Service-to-Service Communication
• JSON Web Token(JWT)
• Transport Layer Security(TLS) Mutual Authentication
• The Edge Security
• OAuth 2.0
• Controlling Access to a Microservices
• Scope-Based Access Control (SBAC)
• Role-Based Access Control (RBAC)
• Access Token
Developing Services
Access Apps
Cloud-Native Data
Running Microservices
Security
Cloud-Native는 피보탈과 함께..
TECHNOLOGY
CULTURE Build with
empathy
PROCESS
Continuously
improve
TOOLS
Focus on developer
productivity
PLATFORM
Run any app, on every
cloud, using one platform
MODERN
SOFTWARE
PROCESS
고맙습니다.
황주필
jhwang@pivotal.io

More Related Content

What's hot

금융권 최신 AWS 도입 사례 총정리 – 신한 제주 은행, KB손해보험 사례를 중심으로 - 지성국 사업 개발 담당 이사, AWS / 정을용...
금융권 최신 AWS 도입 사례 총정리 – 신한 제주 은행, KB손해보험 사례를 중심으로 - 지성국 사업 개발 담당 이사, AWS / 정을용...금융권 최신 AWS 도입 사례 총정리 – 신한 제주 은행, KB손해보험 사례를 중심으로 - 지성국 사업 개발 담당 이사, AWS / 정을용...
금융권 최신 AWS 도입 사례 총정리 – 신한 제주 은행, KB손해보험 사례를 중심으로 - 지성국 사업 개발 담당 이사, AWS / 정을용...Amazon Web Services Korea
 
KB국민은행은 시작했다 -  쉽고 빠른 클라우드 거버넌스 적용 전략 - 강병억 AWS 솔루션즈 아키텍트 / 장강홍 클라우드플랫폼단 차장, ...
KB국민은행은 시작했다 -  쉽고 빠른 클라우드 거버넌스 적용 전략 - 강병억 AWS 솔루션즈 아키텍트 / 장강홍 클라우드플랫폼단 차장, ...KB국민은행은 시작했다 -  쉽고 빠른 클라우드 거버넌스 적용 전략 - 강병억 AWS 솔루션즈 아키텍트 / 장강홍 클라우드플랫폼단 차장, ...
KB국민은행은 시작했다 -  쉽고 빠른 클라우드 거버넌스 적용 전략 - 강병억 AWS 솔루션즈 아키텍트 / 장강홍 클라우드플랫폼단 차장, ...Amazon Web Services Korea
 
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) Amazon Web Services Korea
 
롯데이커머스의 마이크로 서비스 아키텍처 진화와 비용 관점의 운영 노하우-나현길, 롯데이커머스 클라우드플랫폼 팀장::AWS 마이그레이션 A ...
롯데이커머스의 마이크로 서비스 아키텍처 진화와 비용 관점의 운영 노하우-나현길, 롯데이커머스 클라우드플랫폼 팀장::AWS 마이그레이션 A ...롯데이커머스의 마이크로 서비스 아키텍처 진화와 비용 관점의 운영 노하우-나현길, 롯데이커머스 클라우드플랫폼 팀장::AWS 마이그레이션 A ...
롯데이커머스의 마이크로 서비스 아키텍처 진화와 비용 관점의 운영 노하우-나현길, 롯데이커머스 클라우드플랫폼 팀장::AWS 마이그레이션 A ...Amazon Web Services Korea
 
클라우드 세상에서 살아남기: 금융편 - 이한주 대표이사/공동창업자, 베스핀 글로벌 / 김민성 팀장, KB국민카드 :: AWS Summit ...
클라우드 세상에서 살아남기: 금융편 - 이한주 대표이사/공동창업자, 베스핀 글로벌 / 김민성 팀장, KB국민카드 :: AWS Summit ...클라우드 세상에서 살아남기: 금융편 - 이한주 대표이사/공동창업자, 베스핀 글로벌 / 김민성 팀장, KB국민카드 :: AWS Summit ...
클라우드 세상에서 살아남기: 금융편 - 이한주 대표이사/공동창업자, 베스핀 글로벌 / 김민성 팀장, KB국민카드 :: AWS Summit ...Amazon Web Services Korea
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축Ji-Woong Choi
 
AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017
AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017
AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017AWSKRUG - AWS한국사용자모임
 
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 2017Amazon Web Services Korea
 
네이버 클라우드 플랫폼의 서비스 전략(공공, Cloud Connect)
네이버 클라우드 플랫폼의 서비스 전략(공공, Cloud Connect)네이버 클라우드 플랫폼의 서비스 전략(공공, Cloud Connect)
네이버 클라우드 플랫폼의 서비스 전략(공공, Cloud Connect)KINX
 
쿠버네티스 ( Kubernetes ) 소개 자료
쿠버네티스 ( Kubernetes ) 소개 자료쿠버네티스 ( Kubernetes ) 소개 자료
쿠버네티스 ( Kubernetes ) 소개 자료Opennaru, inc.
 
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdfssuserf8b8bd1
 
Red Hat Ansible 적용 사례
Red Hat Ansible 적용 사례Red Hat Ansible 적용 사례
Red Hat Ansible 적용 사례Opennaru, inc.
 
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더Amazon Web Services Korea
 
모두의 쿠버네티스 (Kubernetes for everyone)
모두의 쿠버네티스 (Kubernetes for everyone)모두의 쿠버네티스 (Kubernetes for everyone)
모두의 쿠버네티스 (Kubernetes for everyone)Eunwoo Cho
 
금융 회사를 위한 클라우드 이용 가이드 – 신은수 AWS 솔루션즈 아키텍트, 김호영 AWS 정책협력 담당:: AWS Cloud Week ...
금융 회사를 위한 클라우드 이용 가이드 –  신은수 AWS 솔루션즈 아키텍트, 김호영 AWS 정책협력 담당:: AWS Cloud Week ...금융 회사를 위한 클라우드 이용 가이드 –  신은수 AWS 솔루션즈 아키텍트, 김호영 AWS 정책협력 담당:: AWS Cloud Week ...
금융 회사를 위한 클라우드 이용 가이드 – 신은수 AWS 솔루션즈 아키텍트, 김호영 AWS 정책협력 담당:: AWS Cloud Week ...Amazon Web Services Korea
 
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...Amazon Web Services Korea
 
세션 3: IT 담당자를 위한 Cloud 로의 전환
세션 3: IT 담당자를 위한 Cloud 로의 전환세션 3: IT 담당자를 위한 Cloud 로의 전환
세션 3: IT 담당자를 위한 Cloud 로의 전환Amazon Web Services Korea
 
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법Open Source Consulting
 
금융 서비스 패러다임의 전환 가속화 시대, 신한금융투자의 Cloud First 전략 - 신중훈 AWS 솔루션즈 아키텍트 / 최성봉 클라우...
금융 서비스 패러다임의 전환 가속화 시대, 신한금융투자의 Cloud First 전략  - 신중훈 AWS 솔루션즈 아키텍트 / 최성봉 클라우...금융 서비스 패러다임의 전환 가속화 시대, 신한금융투자의 Cloud First 전략  - 신중훈 AWS 솔루션즈 아키텍트 / 최성봉 클라우...
금융 서비스 패러다임의 전환 가속화 시대, 신한금융투자의 Cloud First 전략 - 신중훈 AWS 솔루션즈 아키텍트 / 최성봉 클라우...Amazon Web Services Korea
 

What's hot (20)

금융권 최신 AWS 도입 사례 총정리 – 신한 제주 은행, KB손해보험 사례를 중심으로 - 지성국 사업 개발 담당 이사, AWS / 정을용...
금융권 최신 AWS 도입 사례 총정리 – 신한 제주 은행, KB손해보험 사례를 중심으로 - 지성국 사업 개발 담당 이사, AWS / 정을용...금융권 최신 AWS 도입 사례 총정리 – 신한 제주 은행, KB손해보험 사례를 중심으로 - 지성국 사업 개발 담당 이사, AWS / 정을용...
금융권 최신 AWS 도입 사례 총정리 – 신한 제주 은행, KB손해보험 사례를 중심으로 - 지성국 사업 개발 담당 이사, AWS / 정을용...
 
KB국민은행은 시작했다 -  쉽고 빠른 클라우드 거버넌스 적용 전략 - 강병억 AWS 솔루션즈 아키텍트 / 장강홍 클라우드플랫폼단 차장, ...
KB국민은행은 시작했다 -  쉽고 빠른 클라우드 거버넌스 적용 전략 - 강병억 AWS 솔루션즈 아키텍트 / 장강홍 클라우드플랫폼단 차장, ...KB국민은행은 시작했다 -  쉽고 빠른 클라우드 거버넌스 적용 전략 - 강병억 AWS 솔루션즈 아키텍트 / 장강홍 클라우드플랫폼단 차장, ...
KB국민은행은 시작했다 -  쉽고 빠른 클라우드 거버넌스 적용 전략 - 강병억 AWS 솔루션즈 아키텍트 / 장강홍 클라우드플랫폼단 차장, ...
 
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
 
롯데이커머스의 마이크로 서비스 아키텍처 진화와 비용 관점의 운영 노하우-나현길, 롯데이커머스 클라우드플랫폼 팀장::AWS 마이그레이션 A ...
롯데이커머스의 마이크로 서비스 아키텍처 진화와 비용 관점의 운영 노하우-나현길, 롯데이커머스 클라우드플랫폼 팀장::AWS 마이그레이션 A ...롯데이커머스의 마이크로 서비스 아키텍처 진화와 비용 관점의 운영 노하우-나현길, 롯데이커머스 클라우드플랫폼 팀장::AWS 마이그레이션 A ...
롯데이커머스의 마이크로 서비스 아키텍처 진화와 비용 관점의 운영 노하우-나현길, 롯데이커머스 클라우드플랫폼 팀장::AWS 마이그레이션 A ...
 
클라우드 세상에서 살아남기: 금융편 - 이한주 대표이사/공동창업자, 베스핀 글로벌 / 김민성 팀장, KB국민카드 :: AWS Summit ...
클라우드 세상에서 살아남기: 금융편 - 이한주 대표이사/공동창업자, 베스핀 글로벌 / 김민성 팀장, KB국민카드 :: AWS Summit ...클라우드 세상에서 살아남기: 금융편 - 이한주 대표이사/공동창업자, 베스핀 글로벌 / 김민성 팀장, KB국민카드 :: AWS Summit ...
클라우드 세상에서 살아남기: 금융편 - 이한주 대표이사/공동창업자, 베스핀 글로벌 / 김민성 팀장, KB국민카드 :: AWS Summit ...
 
AWS Fargate on EKS 실전 사용하기
AWS Fargate on EKS 실전 사용하기AWS Fargate on EKS 실전 사용하기
AWS Fargate on EKS 실전 사용하기
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
 
AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017
AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017
AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017
 
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
 
네이버 클라우드 플랫폼의 서비스 전략(공공, Cloud Connect)
네이버 클라우드 플랫폼의 서비스 전략(공공, Cloud Connect)네이버 클라우드 플랫폼의 서비스 전략(공공, Cloud Connect)
네이버 클라우드 플랫폼의 서비스 전략(공공, Cloud Connect)
 
쿠버네티스 ( Kubernetes ) 소개 자료
쿠버네티스 ( Kubernetes ) 소개 자료쿠버네티스 ( Kubernetes ) 소개 자료
쿠버네티스 ( Kubernetes ) 소개 자료
 
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf
 
Red Hat Ansible 적용 사례
Red Hat Ansible 적용 사례Red Hat Ansible 적용 사례
Red Hat Ansible 적용 사례
 
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
 
모두의 쿠버네티스 (Kubernetes for everyone)
모두의 쿠버네티스 (Kubernetes for everyone)모두의 쿠버네티스 (Kubernetes for everyone)
모두의 쿠버네티스 (Kubernetes for everyone)
 
금융 회사를 위한 클라우드 이용 가이드 – 신은수 AWS 솔루션즈 아키텍트, 김호영 AWS 정책협력 담당:: AWS Cloud Week ...
금융 회사를 위한 클라우드 이용 가이드 –  신은수 AWS 솔루션즈 아키텍트, 김호영 AWS 정책협력 담당:: AWS Cloud Week ...금융 회사를 위한 클라우드 이용 가이드 –  신은수 AWS 솔루션즈 아키텍트, 김호영 AWS 정책협력 담당:: AWS Cloud Week ...
금융 회사를 위한 클라우드 이용 가이드 – 신은수 AWS 솔루션즈 아키텍트, 김호영 AWS 정책협력 담당:: AWS Cloud Week ...
 
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
 
세션 3: IT 담당자를 위한 Cloud 로의 전환
세션 3: IT 담당자를 위한 Cloud 로의 전환세션 3: IT 담당자를 위한 Cloud 로의 전환
세션 3: IT 담당자를 위한 Cloud 로의 전환
 
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
 
금융 서비스 패러다임의 전환 가속화 시대, 신한금융투자의 Cloud First 전략 - 신중훈 AWS 솔루션즈 아키텍트 / 최성봉 클라우...
금융 서비스 패러다임의 전환 가속화 시대, 신한금융투자의 Cloud First 전략  - 신중훈 AWS 솔루션즈 아키텍트 / 최성봉 클라우...금융 서비스 패러다임의 전환 가속화 시대, 신한금융투자의 Cloud First 전략  - 신중훈 AWS 솔루션즈 아키텍트 / 최성봉 클라우...
금융 서비스 패러다임의 전환 가속화 시대, 신한금융투자의 Cloud First 전략 - 신중훈 AWS 솔루션즈 아키텍트 / 최성봉 클라우...
 

Similar to MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?

Cloud native application 입문
Cloud native application 입문Cloud native application 입문
Cloud native application 입문Seong-Bok Lee
 
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)uEngine Solutions
 
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기Amazon Web Services Korea
 
[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
 
Microservices
Microservices Microservices
Microservices 영기 김
 
Spring cloud on kubernetes
Spring cloud on kubernetesSpring cloud on kubernetes
Spring cloud on kubernetesSangSun Park
 
클라우드 네이티브를 위한 Confluent Cloud
클라우드 네이티브를 위한 Confluent Cloud클라우드 네이티브를 위한 Confluent Cloud
클라우드 네이티브를 위한 Confluent Cloudconfluent
 
Deployment techniques for cloud native
Deployment techniques for cloud nativeDeployment techniques for cloud native
Deployment techniques for cloud nativeAlex Jeong
 
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
 
애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축rockplace
 
세션5_데보션테크데이_1_MSA와 오픈소스의 중요성 - OSC Korea(이제응) - v2...
세션5_데보션테크데이_1_MSA와 오픈소스의 중요성 - OSC Korea(이제응) - v2...세션5_데보션테크데이_1_MSA와 오픈소스의 중요성 - OSC Korea(이제응) - v2...
세션5_데보션테크데이_1_MSA와 오픈소스의 중요성 - OSC Korea(이제응) - v2...Jaesuk Ahn
 
Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos uEngine Solutions
 
Openshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud NativeOpenshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud Nativerockplace
 
[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native
[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native
[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud nativeOpenStack Korea Community
 
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) 기술동향 소개-박문기@메ᄀ...문기 박
 
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)Sang Don Kim
 
Cloud migration pattern using microservices
Cloud migration pattern using microservicesCloud migration pattern using microservices
Cloud migration pattern using microservicesSeong-Bok Lee
 
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_v3uEngine Solutions
 
[HashiCorp] IaC로 시작하는 하이브리드 클라우드 관리 전략 with Terraform, Consul, Nomad (June 2021)
[HashiCorp] IaC로 시작하는 하이브리드 클라우드 관리 전략 with Terraform, Consul, Nomad (June 2021)[HashiCorp] IaC로 시작하는 하이브리드 클라우드 관리 전략 with Terraform, Consul, Nomad (June 2021)
[HashiCorp] IaC로 시작하는 하이브리드 클라우드 관리 전략 with Terraform, Consul, Nomad (June 2021)Jin Sol Kim 김진솔
 
Intro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sIntro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sSeong-Bok Lee
 

Similar to MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가? (20)

Cloud native application 입문
Cloud native application 입문Cloud native application 입문
Cloud native application 입문
 
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
 
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
 
[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...
 
Microservices
Microservices Microservices
Microservices
 
Spring cloud on kubernetes
Spring cloud on kubernetesSpring cloud on kubernetes
Spring cloud on kubernetes
 
클라우드 네이티브를 위한 Confluent Cloud
클라우드 네이티브를 위한 Confluent Cloud클라우드 네이티브를 위한 Confluent Cloud
클라우드 네이티브를 위한 Confluent Cloud
 
Deployment techniques for cloud native
Deployment techniques for cloud nativeDeployment techniques for cloud native
Deployment techniques for cloud native
 
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...
 
애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축
 
세션5_데보션테크데이_1_MSA와 오픈소스의 중요성 - OSC Korea(이제응) - v2...
세션5_데보션테크데이_1_MSA와 오픈소스의 중요성 - OSC Korea(이제응) - v2...세션5_데보션테크데이_1_MSA와 오픈소스의 중요성 - OSC Korea(이제응) - v2...
세션5_데보션테크데이_1_MSA와 오픈소스의 중요성 - OSC Korea(이제응) - v2...
 
Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos
 
Openshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud NativeOpenshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud Native
 
[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native
[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native
[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native
 
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) 기술동향 소개-박문기@메ᄀ...
 
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
 
Cloud migration pattern using microservices
Cloud migration pattern using microservicesCloud migration pattern using microservices
Cloud migration pattern using microservices
 
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
 
[HashiCorp] IaC로 시작하는 하이브리드 클라우드 관리 전략 with Terraform, Consul, Nomad (June 2021)
[HashiCorp] IaC로 시작하는 하이브리드 클라우드 관리 전략 with Terraform, Consul, Nomad (June 2021)[HashiCorp] IaC로 시작하는 하이브리드 클라우드 관리 전략 with Terraform, Consul, Nomad (June 2021)
[HashiCorp] IaC로 시작하는 하이브리드 클라우드 관리 전략 with Terraform, Consul, Nomad (June 2021)
 
Intro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sIntro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_s
 

More from VMware Tanzu Korea

꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)VMware Tanzu Korea
 
꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결
꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결
꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결VMware Tanzu Korea
 
꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가VMware Tanzu Korea
 
2018 Pivotal DevOps Day_DevOps 플랫폼 소개 및 데모 (Pivotal Application Service, Pivo...
2018 Pivotal DevOps Day_DevOps 플랫폼 소개 및 데모 (Pivotal Application Service, Pivo...2018 Pivotal DevOps Day_DevOps 플랫폼 소개 및 데모 (Pivotal Application Service, Pivo...
2018 Pivotal DevOps Day_DevOps 플랫폼 소개 및 데모 (Pivotal Application Service, Pivo...VMware Tanzu Korea
 
2018 Pivotal DevOps Day_DevOps 플랫폼 팀 육성/운영 사례
2018 Pivotal DevOps Day_DevOps 플랫폼 팀 육성/운영 사례2018 Pivotal DevOps Day_DevOps 플랫폼 팀 육성/운영 사례
2018 Pivotal DevOps Day_DevOps 플랫폼 팀 육성/운영 사례VMware Tanzu Korea
 
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례VMware Tanzu Korea
 
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개VMware Tanzu Korea
 
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...VMware Tanzu Korea
 
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인VMware Tanzu Korea
 
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵 클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵 VMware Tanzu Korea
 
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?VMware Tanzu Korea
 
클라우드 네이티브 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, 그리고 MSAVMware Tanzu Korea
 
굿 소프트웨어 컴퍼니로의 여정(Journey To Be a Good Software Company)
굿 소프트웨어 컴퍼니로의 여정(Journey To Be a Good Software Company)굿 소프트웨어 컴퍼니로의 여정(Journey To Be a Good Software Company)
굿 소프트웨어 컴퍼니로의 여정(Journey To Be a Good Software Company)VMware Tanzu Korea
 
Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS) Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS) VMware Tanzu Korea
 
Pivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - CoinonePivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - CoinoneVMware Tanzu Korea
 
Spring Project와 최신 Pivotal Cloud Foundry 업데이트
Spring Project와 최신 Pivotal Cloud Foundry 업데이트 Spring Project와 최신 Pivotal Cloud Foundry 업데이트
Spring Project와 최신 Pivotal Cloud Foundry 업데이트 VMware Tanzu Korea
 
클라우드 네이티브로의 전환을 위한 여정
클라우드 네이티브로의 전환을 위한 여정클라우드 네이티브로의 전환을 위한 여정
클라우드 네이티브로의 전환을 위한 여정VMware Tanzu Korea
 

More from VMware Tanzu Korea (20)

꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
 
꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결
꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결
꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결
 
꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가
 
2018 Pivotal DevOps Day_DevOps 플랫폼 소개 및 데모 (Pivotal Application Service, Pivo...
2018 Pivotal DevOps Day_DevOps 플랫폼 소개 및 데모 (Pivotal Application Service, Pivo...2018 Pivotal DevOps Day_DevOps 플랫폼 소개 및 데모 (Pivotal Application Service, Pivo...
2018 Pivotal DevOps Day_DevOps 플랫폼 소개 및 데모 (Pivotal Application Service, Pivo...
 
2018 Pivotal DevOps Day_DevOps 플랫폼 팀 육성/운영 사례
2018 Pivotal DevOps Day_DevOps 플랫폼 팀 육성/운영 사례2018 Pivotal DevOps Day_DevOps 플랫폼 팀 육성/운영 사례
2018 Pivotal DevOps Day_DevOps 플랫폼 팀 육성/운영 사례
 
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
 
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
 
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
 
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
 
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵 클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
 
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
 
클라우드 네이티브 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
 
굿 소프트웨어 컴퍼니로의 여정(Journey To Be a Good Software Company)
굿 소프트웨어 컴퍼니로의 여정(Journey To Be a Good Software Company)굿 소프트웨어 컴퍼니로의 여정(Journey To Be a Good Software Company)
굿 소프트웨어 컴퍼니로의 여정(Journey To Be a Good Software Company)
 
Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS) Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS)
 
Pivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - CoinonePivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - Coinone
 
Spring Project와 최신 Pivotal Cloud Foundry 업데이트
Spring Project와 최신 Pivotal Cloud Foundry 업데이트 Spring Project와 최신 Pivotal Cloud Foundry 업데이트
Spring Project와 최신 Pivotal Cloud Foundry 업데이트
 
Netflix MSA and Pivotal
Netflix MSA and PivotalNetflix MSA and Pivotal
Netflix MSA and Pivotal
 
클라우드 네이티브로의 전환을 위한 여정
클라우드 네이티브로의 전환을 위한 여정클라우드 네이티브로의 전환을 위한 여정
클라우드 네이티브로의 전환을 위한 여정
 
Cloud native enterprise
Cloud native enterpriseCloud native enterprise
Cloud native enterprise
 
gp text roadmap presentation
gp text roadmap presentationgp text roadmap presentation
gp text roadmap presentation
 

MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?

  • 1.
  • 4. Cloud-Native Application DevOps (SRE) 소프트웨어 전달과 인프라스트럭 처 변경 프로세스 자동화를 목표로 소프트웨어 개발자와 IT운영자가 협업, 신뢰성 있는 소프트웨어 생 성, 테스트, 릴리즈를 신속하게 자 주 진행할 수 있는 문화와 환경 Continuous Delivery 릴리스 작업을 단순하고 신뢰 가능 하게 만들어주므로 조직은 최종 배 포본이 비즈니스 프로세스와 엔터 프라이즈 경쟁력의 일부로 통합될 때까지 위험이 낮은 상황에서 자주 전달하고 최종 사용자로부터 빠르 게 피드백을 얻을 수 있다 Microservices 작은 서비스의 집합으로 애플리케 이션을 개발하는 아키텍처형 접근 법, 각 서비스는 비즈니스를 구현 하고 프로세스를 실행되면 API통신 한다. Containers 운영시스템(OS)레벨의 가상화를 사용하여 하나 이상의 격리된 컨테 이너에 동적으로 분리되고, 각 컨 테이너는 고유의 프로세스와 리소 스 할당하고 높은 밀도로 결합된 컨테이너들를 개별 아이크로서비 스 배포수단으로 사용 ● 속도와 안정성 ● 협업 강화 ● 문화 ● 플랫폼 필요성 대두, OnDemand Service ● SRE ● Agile ● 짧고 지속적 반복 ● 지속적 통합/배포/제공 ● 플랫폼/애플리케이션 배포 자동화 ● API First ● 도메인 주도 설계 ● 독립적 확장 가능 ● 보다 빠르고 독립적인 배포 ● 간편한 개발 및 유지관리 ● Container Orchestration ● Self-containment ● Immutable Image ● Process Disposability ● Runtime Confinement SRE : Site Reliability Engineering
  • 5. 마이크로서비스의 특징 • 분리된 서비스들의 집합 (Componentization via Services) • 비즈니스 능력에 따른 조직 구성 (Organized around Business Capability) • 프로젝트가 아닌 프로덕트 (Products not Projects) • 똑똑한 엔드포인트와 멍청한 파이프 (Smart endpoints and dumb pipes) • 분산된 운영 방식 (Decentralized Governance) • 인프라스트럭쳐 자동화 (Infrastructure Automation) • 실패에 대비한 디자인 (Design for failure) • 점진적 디자인 (Evolutionary Design)
  • 6. Design Principle - 높은 응집과 낮은 결합 (High Cohesion and Loose Coupling) - 탄력적이고 확장 가능 (Resilience & Scalability) - 높은 가시성과 관측성 (Observability) • SOLID by Robert C. Martin (aka Uncle Bob) – 객체지향 개발 5대 원리 • 단일 책임의 원칙(Single responsibility principle): only changes to one part of the software’s spe cification should be able to affect the specification of the class • 개방폐쇄의 원칙(Open-closed principle): should be open for extension, but closed for modificati on • 리스코브 치환의 원칙(Liskov substitution principle): Object in a program should be replaceable with instances of their subtypes without altering their correctness of that program • 인터페이스 분리의 원칙(Interface segregation principle): Many client-specific interfaces are bett er than one general-purpose interface • 의존성역전의 원칙(Dependency inversion principle): One should depend upon abstractions, not concretions https://dzone.com/articles/cloud-native-container-design-principles
  • 7. Domain-Driven Design Event Storming (비즈니스 로직 단위로 분해) Boris (분해된 각 단위가 어떻게 상호 작용하는 지 정의) SnapE 분석 (분해된 각 단위의 API, 데이터 처리, 로직 등을 정의) - Bounded Context - Context Map - Related Patterns
  • 8. 12-Factor App - https://12factor.net/ko 코드베이스 종속성 설정 백엔드 서비스 빌드, 릴리즈, 실행 프로세스 포트 바인딩 동시성 (Concurrency) 폐기 가능 (Disposability) 개발/운영 환경 일치 로그 Admin 프로세스 https://12factor.net/ko/
  • 9. 마이크로서비스 아키텍처 구성 • 설정 (Configuration) • 서비스 등록 및 감지 (Service Registration and discovery) • 서비스 게이트웨이 (Service Gateway) • 서킷 브레이커 (Circuit Breakers) • 분산 트레이싱 (Distributed tracing) [ Service Registry ] [ Circuit Breaker ]
  • 10.
  • 11. Developing Service - Microframework • Polyglot 은 꿈인가? • Nodejs, Python, Go, Java, C# • 프레임워크의 진화 à WAS의 종말 • Ktor • Spark • Micronaut • javalin • Spring WebFlux (former Spring Reactive Web) fun main(args: Array<String>) { val server = embeddedServer(Netty, port = 8080) { routing { get("/") { call.respondText("Hello World!", ContentType.Text.Plain) } } } server.start(wait = true) } Developing Services Access Apps Cloud-Native Data Running Microservices Security
  • 12. Non-Blocking • Nodejs • Vert.x • Spring WebFlux • RxJava, RxJs, Rx….. • Coroutine for Kotlin • Blocking persistence API (ex. Jdbc) • Non-blocking nosql db (r2dbc : Reactive Relational Database Connectivity) Developing Services Access Apps Cloud-Native Data Running Microservices Security
  • 13. Scale to Zero / Functional • GraalVM – Native-image • Kotlin/Native • Spring Fu (Kofu / Jafu) – Kotlin/Java micro-framework for creating lightweight Spring-powered appli cations with functional APIs instead of annotations Developing Services Access Apps Cloud-Native Data Running Microservices Security
  • 14. Developing Services – MSA Framework • Developer Tooling and Frameworks • Netflix OSS • Hystrix / Ribbon / Feign • Eureka • Spring Cloud Service • Apache zookeeper • Twitter zipkin • Dropwizard • Vert.x • Microprofile • Micronaut Developing Services Access Apps Cloud-Native Data Running Microservices Security
  • 15. 스프링 클라우드(Spring cloud): Coordinate anything Distributed systems simplified Developing Services Access Apps Cloud-Native Data Running Microservices Security
  • 16. Accessing Apps • 분산 서비스들 요청 • Service Registry and Discovery • Consul • Eureka • Etcd • Service Discovery with Kubernetes • Circuit Breaker : Hystrix / Resilience4J • Request retries • Fallback logic • Control loop • API Gateways : Routing, Load-Balancing • Service Mesh Developing Services Access Apps Cloud-Native Data Running Microservices Security
  • 17. Inter Service Communication • 동기 통신 • REST • gRPC • GraphQL : 여러 마이크로서비스 요청을 한번에 • WebSocket • Apache Thrift • 메시지 포멧 • JSON • XML : 스키마 • Protocol Buffer • Avro 1:1 1:N 동기 요청/응답 (Request / Response) 비동기 알림 (Notification) 퍼블리시/구독 (Publish / Subscribe) 요청/비동기 응답 (Request / Async response) 퍼블리시/비동기 구독 (Publish / Async response) Developing Services Access Apps Cloud-Native Data Running Microservices Security
  • 18. Cloud-Native Data : Decentralized Data • Monolithic Application and 공유 데이터베이스 à Decentralized Data with Microservices • 마이크로서비스별 데이터베이스 (Polyglot Persistence) à Data Island • Sharing Data Between Microservices • 공유 테이블의 제거 • 데이터 공유 • 데이터 구성 (Composition) Developing Services Access Apps Cloud-Native Data Running Microservices Security
  • 19. Cloud-Native Data : Decentralized Data • 캐싱 – 모든 마이크로서비스는 캐시가 필요하다 • Redis • Pivotal Gemfire (Pivotal Cloud Cache) • EVCache [ Look-Aside Cache ] 1000s of transact ions per second 100s of transacti ons per second [ In-line cache (Front-ending a DB) ] [ Client-Side Subscription ] Developing Services Access Apps Cloud-Native Data Running Microservices Security
  • 20. Cloud-Native Data : Event-driven • 느슨한 결합으로 분산시스템(마이크로서비스) 간에 상호 의존성을 배제할 수 있음 • 서비스 정보를 몰라도 메세지 브로커간 메세지 교환이 가능 • Eventual Consistency [ Events for Notification ] Send Notification [ Events for data duplication ] • 간단한 구조 • 외부 서비스 요청 à 종속성 증대 • 외부 서비스 요청 감소 à 종속성 감소 • 로컬 복사본 à 서비스 자유도 증가 • 로컬 데이터셋을 유지/복사 하기 위한 복잡도 증가 [ Data Capture를 이용한 데이터 복제] CDC CDC CDC Event Handlers Event Handlers https://www.confluent.io/ Distributed, replicated event log Developing Services Access Apps Cloud-Native Data Running Microservices Security
  • 21. Cloud-Native Data : Kafka Stream • 예) Kafka-Stream + Cache + Materialized Views https://www.infoq.com/articles/microservices-startup/ REST API Materialized View as State Store Table for enrichment Stream Stream-Table-Join Kafka Streams API - join - filter - group by - aggregate KStream {key1, value1}, {key2, value2}, {key1, value3} KTable key1, value3 key2, value2 Microservices REST API Developing Services Access Apps Cloud-Native Data Running Microservices Security
  • 22. Cloud-Native Data : Transaction • 마이크로서비스에서 트랜잭션 처리 – 보상트랜잭션 (Compensating operations) • Two-Phase Commit (2PC) • Publishing Events Using Local Transactions : Saga • Database Log Mining (CDC : Change Data Capture) • Event Sourcing • TCC (Try-confirm/cancel) Developing Services Access Apps Cloud-Native Data Running Microservices Security
  • 23. Deploying and Running Microservices • VM vs 컨테이너 • 도커 (Docker) • Container Orchestration • 쿠베르네티스 (Kubernetes) • 클라우드 파운드리 (Cloud Foundry) • 지속적 통합과 배포 (Continuous Integration and Delivery/Deployment) • 서비스 메시 (Service Mesh: Istio (Envoy) or Linkerd) • Resiliency for Inter-Service-Communications • Service Discovery • Routing • Observability • Security • Deployment Developing Services Access Apps Cloud-Native Data Running Microservices Security
  • 24. Observability • Troubleshooting : Finding the needle in the haystack • Application logging • EFK • Datadog • Application Metric • Prometheus • InfluxDB • Distributed tracing • Spring Cloud Sleuth / Zipkin • Jaeger • Open Tracing using Zipkin or Jaeger Developing Services Access Apps Cloud-Native Data Running Microservices Security
  • 25. Securing Microservices • Securing Service-to-Service Communication • JSON Web Token(JWT) • Transport Layer Security(TLS) Mutual Authentication • The Edge Security • OAuth 2.0 • Controlling Access to a Microservices • Scope-Based Access Control (SBAC) • Role-Based Access Control (RBAC) • Access Token Developing Services Access Apps Cloud-Native Data Running Microservices Security
  • 26. Cloud-Native는 피보탈과 함께.. TECHNOLOGY CULTURE Build with empathy PROCESS Continuously improve TOOLS Focus on developer productivity PLATFORM Run any app, on every cloud, using one platform MODERN SOFTWARE PROCESS