SlideShare uma empresa Scribd logo
1 de 55
유엔진
오픈소스 클라우드 플랫폼
DevOps
Spring
Cloud
DDD
Open Cloud
Engine
Open Cloud Engine
Migrating to Cloud Native Application
설치형
프로젝트 배포 (9개월)
모놀로씩 아키텍처
구독형
지속적 배포 (1일 1배포)
마이크로 서비스 아키텍처
클라우드 구현의 전체 모습
DevOps
Cloud
Applications
Micro Service
Architecture
Domain
Driven
Design
Service
Decomposition
Service
Discovery
CI/CD
Production
Debugging
Business
Support ServiceBilling-
metering
Event-Driven
Architecture
Process
Orchestration
Native 한 Cloud
Application 구현에
있어서는 Micro Service
Architecture 를 기반한
설계와 DevOps 환경의
보유가 매우 중요한
성공요인입니다.
MSA 를 이루기 위한
시행착오와 학습곡선을
줄 여 주 고 생 산 적 인
도구의 필요성!
Skills & Expertise on MSA DDD
Object-Oriented
Analysis & Design
Web Services /
REST,
Spring
AOP….,
Netflix OSS …
제공범위
오픈클라우드엔진은 DDD
기반 아키텍처 분석에서
운영자동화까지 한번에
지원하는 MSA 플랫폼입니다
Operate
A
B
C
D
E
F
End-to-end
MSA
Development Cycle
서비스
식별과 API
디자인
서비스
구현
서비스
통합
도메인
분석
비즈니스
서포트
서비스
운영
자동화
http://github.com/TheOpenCloudEngine
클라우드 서비스 전환을 위한 마이크로 서비스 아키텍처 기반 마련
업무 영역 OOO, O
Target
Digital Transform Accelerator
Vision & Mission Statement
• 마이크로 서비스 아키텍처 새시스 (OCE MSA-chassis)
• 마이크로 서비스 분석/설계 플랫폼
• 마이크로 서비스 운영 환경
• 교재 / 학습 시스템 개발 & 커뮤니티 운영
* 기존 H그룹 적용 결과의 적용
Mission
향후 기민한 시장 변화와 경쟁사와의 차별화를 위한 기틀의
내재화
Operate
DDD by
UML Cloud IDE
Contract-based Test
API
Test
UI
Test
DevOps portal
Zero Down-time
Edge Services
API GW
(Zuul)
IAM
(OAuth2)
BPM
(BPMN2)
Semantic
Entity
IoT
ML
(Keras)
Block-
chain
gitlab
DC OS / Kubernetes
Test Load
Generator
Eclipse Che
Server Language
Assist
Java-Gen /
Reverse
Public Education
Example
Defense Industry
Example
Commerce
Example
Event Storming
General
Micro-services
Platform
Micro-services
Domain
Micro-services
TestCodeAnalysis
Billing/Metering
Event Queue
(Kafka)
BPMN
Open Cloud Engine
Tools
Design Phase
Open Cloud Engine
Micro Services Characteristics
- By James Lewis and Martin Fowle
Domain-Driven Design & MSA
• 어떤 단위가 마이크로 서비스가 될 수 있는가?
: Bounded Context  마이크로 서비스 크기 식별
• 서비스를 결합 할 때는 어떻게 결합할 것인가?
: Aggregate  REST 데이터의 Aggregation
• 도메인 이벤트의 식별  Event-driven Architecture 도출
• 잦은 변화에 유연한 설계  동적 서비스 발견과 연동
• 레거시 시스템의 단계적 폐기  모더나이징
• 리팩터링 전략  지속적 딜리버리와 개선
DDD for MSA
Applicable Practices:
ㄱ. 이벤트 스토밍과 BPMN: 이벤트, 커맨드, 액터, 어그리게이트 식별
ㄴ. UML 과 컨텍스트 맵: 보편언어, 바운디드 컨텍스트 식별
Doman-Driven Design Process
Event Storming
Business Process
Modeling
Context Map & Class
Modeling
Event Storming Tool
• 이벤트스토밍은 시스템에서 발생하는 이벤트를 중심 (Event-First) 으로 분석하는 기법으로 특히 Non-blocking, Event-driven 한 MSA 기반 시스템을
분석에서 개발까지 필요한 도메인에 대한 탁월하게 빠른 이해를 도모하는데 유리하다.
• 기존의 유즈케이스나 클래스 다이어그래밍 방식은 고객 인터뷰나 엔티티 구조를 인지하는 방식과 다르게 별다른 사전 훈련된 지식과 도구 없이 진행할 수
있다.
• 진행과정은 참여자 워크숍 방식의 방법론으로 결과는 스티키 노트를 벽에 붙힌 것으로 결과가 남으며, 오랜지색 스티키 노트들의 연결로 비즈니스
프로세스가 도출되며 이들을 이후 BPMN과 UML 등으로 정재하여 전환할 수 있다.
• 과제에서는 이러한 Event Storming 워크숍을 여러사람이 동시접속 / 원격으로 진행할 수 있도록 하는 도구를 제공함
vs.
Context Map: Service Decomposition
서비스 내의 여러 모듈 (클래스)
들의 분해와 통합을 위한 DDD
도구 중 하나.
서브 도메인 간 클래스의 분해,
통합, 이동
메인 도메인과 서브 도메인 간
드릴 다운, 롤업
서브 도메인 간 연계 방식 –
Supplier/Provider, Shared Kernel,
Anti-corruption Layer,
Conformist, Client/Server 등의
패턴 적용 및 밸리데이션
Process Modeling with BPMN
OCE 에 내장된 uEngine5 는
OMG BPMN 2.0 스펙을
완전하게 지원하여 OCE 상에
운영되어 REST API 들로
노출된 마이크로 서비스들을
효율적으로 매시업할 수 있는
프로세스 오케스트레이션
기능을 제공합니다.
또한 순수한 BPMN
기반만으로도 간단한 프로세스
기반 REST 마이크로 서비스를
생성할 수도 있습니다.
활용 OSS:
VueJS, OpenGraph (자체)
Domain Class Modeling with UML
내장된 UML 클래스 모델러를
통하여 도메인 모델을 설계
이렇게 설계된 도메인 모델은
프로세스 변수와 룰 편집기의
모델로 활용되며, Open Cloud
Engine PaaS 에 결합되어 곧바로
Java Spring Boot 애플리케이션의
형태 (마이크로 서비스) 로 생성-
역공학 (Round-trip Engineering)
DDD (Domain Driven Design) 의
사상을 기반하여 마이크로 서비스
아키텍처 기반의 애플리케이션을
빠르게 생성하여 BPM 기반의
SOA 아키텍처를 구현 가능
활용 OSS:
Javareverse, VueJS
Model to Implementation
Business (Domain) Event
Pools / Sub-domains
Process
Aggregate
Entity
Kafka Event / CQRS
JPA Entity & Repository
Micro-Services
BPMN 2.0
EDA
MSA
POA
REST
NoSQL
RDB
Service
Implementation
Phase
Open Cloud Engine
Output: Best mix of MSA Chassis
OAuth 2.0
MVVM: vueJS
Netflix OSS Spring Cloud
BPMN 2.0
Reactive & Kafka
Docker
Event-driven Arch.
Containerization
Service OrchestrationService Dynamicity
Security
UI REST , Data
Extended MSA Chassis
• Externalized configuration – 외부 서비스를 연계하기 위한 동적으로 정보 주입
• Logging –여러인스턴스에 분산된 로그는 다시 수집될 수 있는 형태로 로그가 남겨져야 함.
• Health checks – 서비스가 정상적으로 동작중임을 플랫폼에 알려주기 위한 ping 용 backend
• Metrics – 서비스의 상태를 수집하여 플랫폼에 알려주기 위한 퍼포먼스 관련 정보 backend
• Distributed tracing - 마이크로 서비스들 간의 호출관계에서 문제나 병목이 발생한 지점을
추적
• Self Registration and discovery – 마이크로서비스의 동적 발견을 위한 등록절차 수행
• Circuit breakers – 마이크로서비스가 장애를 일으켜 다른 서비스에 영향을 미치지 않도록
처리
이러한 일반적인 관점 뿐만 아니라 어떤 특정 비즈니스 기능들을 위한 공통화된 기능들도
확장하여 담아낼 수 있도록 하기도 하는데, 예를 들어 본 과제에서는 기본적의 위의 기능 외에
다음과 같은 기능들을 제공함:
• 통합 인증과 인가:
접속 유저의 OAuth 인증 정보 수집을 통한 테넌트 별 서비스 라우팅과 미터링 / 빌링을 처리
• 통합 미터링 / 빌링 처리: 유저의 사용량 정보 수집, 사용량 초과시 오류 출력
• 멀티테넌시 처리: 통합인증된 유저 정보에서 테넌트 정보를 획득, Entity와 Repository에
데이터 저장소 분리, 데이터 추출시 테넌트 정보에서 데이터 추출, 엔티티 모델의 동적 확장,
테넌트 데이터의 동적인 Aggregation
Main Application
Domain Classes
Services and Repositories
Settings
도메인모델
Entity, Repository, Service
Decomposed by Business Capabilities
스프링 부트 Microservice
JPA Entity, Repository, JAX-RS Service
12-Factors Cloud-Native
Code
generation
Reverse Engineering
Model to Code 기법 이해
Cloud IDE & Build Pipeline
깃랩 DevOps 플랫폼과 통합되어
소스형상관리와 협업, 파이프라인
자동화를 지원
활용 OSS:
Eclise Che, GitLab, Maven
Polyglot Boilerplates
MSA 구성요소 및 다양한
애플리케이션 플랫폼 템플릿을
이용한 개발 환경을 적용
(Docker File 기반)
향후 다양한 IoT 단말 및
머신러닝 기반 서비스에 대한
대응체계 마련
활용 OSS:
Docker
Generated Architecture
Front-end
(Responsive, Client-side Service Aggregation)
Scalable Global Single Instance
Database
Service
API GW
Service
Service
(Machine)
3rd-party Apps
BillingIAM
CRUD
Data
Sync via REST REST Call
Service
Service
Service
Service
Service
Service Container
Scalable Global Single Instance
Database
Issue Token
ID/PWD
Collect
Usage
Metaworks4 UI Components
Metaworks4
MSA Chassis
Applied MSA Design Patterns:
1. Multiple Instances Per Host
2. Externalized Configuration
3. API Gateway
4. Client-side discovery
5. Self-registration
6. Circuit Breaker
7. Database per Service
8. CQRS
9. Event Sourcing
10. Access Token
11. Service Contract Test
12. Log Aggregation
13. Health Checking
14. Distributed Tracing
15. Client-side UI Composition
Service Mashup
& Monetize
Phase
Open Cloud Engine
Mashup Strategies
By Process
By Composite Service
By UI
Cross-cutting Issues
Mashup Strategy 1:
Service Mashups by UI
• 아마존 닷컴은 다양한 서비스
제공과 효율적인 운영 환경
전환을 위해 분산 서비스
플랫폼으로 전환 하였습니다
• 아마존의 화면 1개를 구성하기
위해서는 약 1000개 이상의
마이크로 서비스들의 호출을
통하여 매시업된 화면들로
구성됨
• 이는 MSA 을 구축하기 위해서는
UI 기반 기술의 전환이 매우
중요한 아키텍처 체인지의
지점임을 시사함
Service Mashups by UI
• MSA 아키텍처는 서비스의
통합을 위하여 기존에 Join SQL
등을 사용하지 않고 프론트-
엔드 기술이나 API Gateway 를
통하여 서비스 간 데이터를
통합함
• 프론트엔드에서 데이터를
통합하기 위한 접근 방법으로는
W3C 의 Web Components
기법과 MVVM 그리고 REST API
전용 스크립트가 유용함
W3C Web Components
여러개의 컴포넌트로 구성된 하면 요소를
단일 페이지로 구성할 수 있는 웹
표준으로 다음의 기술 세트를 제공:
• Custom elements
: 사용자 정의 태그
• HTML imports
: 태그를 불러와서 사용
• Template
: 컴포넌트의 UI 구성을 생성하는
템플릿 처리의 자동화 MVVM 개념과
연결되어 화면 구성을 데이터 도달 시
자동으로 처리하여, 여러개의
서비스에서 불러온 데이터를 화면에
표시하는데 유리함
• Shadow DOM
: 빠른 화면 렌더링을 위해 고안된
일종의 가상 메모리 기반 렌더링 기법
29
<style>
style for A
style for B
style for C
</style>
<html>
element for A
element for B
element for C
</html>
<script>
script for A
script for B
script for C
</script>
#A.html
<style>
style for A
</style>
<html>
element for A
</html>
<script>
script for A
</script>
#B.html
<style>
style for B
</style>
<html>
element for B
</html>
<script>
script for B
</script>
#C.html
<style>
style for C
</style>
<html>
element for C
</html>
<script>
script for C
</script>
#index.html
<A> <A>
<B> <B> <B>
<C>
UI Frameworks will be used
30
• W3C Web Components 지원
• 쉽습니다, HTML 과 기본 자바스크립트면
이해가능합니다
• Dynamic Data Binding 을 통해 수 많은 마이크로
서비스에서 쏟아지는 비동기 데이터와 화면을 예쁘게
연결하여 렌더링 해줍니다.
• 머터리얼 디자인과 리스폰시브 웹을 지원합니다.
• 코드량이 적고 빠릅니다.
• 오픈소스입니다!
* 고객 선호도에 따라 React, Angular2 를 적용할 수도 있습니다.
VueJS
Mashup Strategy 2:
Service Mashups by Process
• 프로세스 기반 서비스 매시업은
모델링 도구를 활용하여 새로운
컴포지트 서비스를 생성하거나
UI를 생성하여 개발 없이 기존
서비스들을 융합할 수 있음
• 이벤트, 서비스 타스크, 사람에
의한 타스크 (UI 를 생성) 등의
구성요소를 순서도를 그리듯이
그려넣으면 이들을 그린대로
실행함
• EUREKA Registry 에 등록된
서비스들을 불러와 GUI
기반으로 설정하여 서비스를
호출하고, 만들어낸 프로세스
자체가 하나의 새로운 서비스로
생성됨
• 이를 지원하는 도구로는 API
Gateway, BPM 등이 있음
Process Mashups: uEngine BPM
직관적인 “서비스 풀” 개념의 모델링은 레지스트리 (유레카) 에 등록된 연동 대상 서비스를 포인트-앤-클릭만으로
마이크로 서비스 내의 리소스와 연동 방법, 페이로드의 스키마를 동적으로 인지하여 모델링 설정을 가이드해 줍니다.
32
활용 OSS:
Netflix Eureka, uEngine
BPM (자체)
Process Mashups: REST Invocation
모델링을 통하여 실제 이벤트를 발행할 수 있습니다. 이벤트는 REST / Web Services 등의 동기성 (Synchronous) 호출과 Kafka
Event 등의 non-blocking Event 호출 등을 선택할 수 있습니다. 따라서 분석단계의 모델링이 곧 구현체로 사용할 수 있도록
합니다
33
CLASS-COURSE
Process Execution & Monitoring
• 모델링한 프로세스를 시뮬레이션 & 디버깅
• 사람이 해당 역할인 경우 처리할 화면을 자동 생성
• 마이크로 서비스 호출인 경우 호출 Payload 와 결과를 표시
• 오류 발생시 로그를 프로세스 상에서 확인
• 오류 지점에서 재시작, 이전단계 복구
• 시뮬레이션 완료 후 프로덕션으로 반영
34
Mashup Strategy 3:
Service Mashups by Composite Service
• 여러개의 서비스를 통합하는
가장 단순한 방법입니다
• Zuul 과 같은 API Gateway 는
하나의 서비스가 다른 여러개의
서비스를 호출하여 마치 하나의
연결된 서비스처럼
만들어줍니다.
• 이를 Proxy라고 합니다.
• Netflix Zuul 은 넷플릭스의
막대한 사용자의 워크로드와
요구사항을 견뎌낸 API Gatway
로, Ribbon, Eureka 와 함께
여러 서비스를 통합하고, 이들의
연결을 자동 관리해줍니다.
API Gateway: Exposing a REST Service
• 외부에서 마이크로 서비스들을 접근하는 경로에 대한 보안, 통합, 성능에 대한 제어를 할 수 있습니다.
새로운 비즈니스 요건에 필요한 API 를 기존 마이크로 서비스 자산들의 매시업을 통하여 생성할 수 도 있습니다.
• 생성한 프로세스를 바로 REST API 혹은 Kafka Event Consumer 형식으로 노출
• 서비스 Endpoint 의 지정을 통한 서비스 엔드포인트 생성
• 호출자와 프로세스 인스턴스간 상호연관(Correlation)
36
활용 OSS:
Zuul, Kafka
Mashup Strategy 4:
Cross-cutting functionalities
서비스 통합에 있어서는 다음과
같은 공통적인 처리가 필요한
기능들을 제공해야 합니다:
• 서비스 레지스트리:
여러 서비스의 등록과 동적인
발견을 위한 기능으로 Netflix
EUREKA 를 사용함.
• 토큰 기반 통합 인증:
여러개의 서비스에 여러 종류의
컨슈머가 접근하기 위한 가볍고,
빠르며, 풍부한 권한 관리가
가능한 인증 방법. 주로 OAuth2
와 JWT 가 널리 사용됨.
• 빌링 / 미터링:
여러 서비스에 대한 사용량의
측정, 사용량 초과에 대한 접근
차단 및 안내, 추후 정산을 위한
데이터 적재
OAuth2: Identity & Access Management
마이크로 서비스들의 통합된
인증과 써드파티 앱들과의 인
증인가를 위한 Stateless 토큰
방식(OAuth2 와 JWT) 기능을
제공합니다.
활용 OSS:
JWT, Spring Security
Billing Planning & Metering by API GW
비즈니스 경쟁력이 있는 과금 모형
을 시장 상황에 따라 언제든지 운영
중에 반영할 수 있습니다.
Volume-discount, Coupon, 지역
적 / 기간적 할인, Free-Paid 전환,
중간 정산 / 도난 카드 사용 등의 예
외처리, 세금 문제 등.. 과금과 정산
에 필요한 복잡한 비즈니스 문제를
검증된 빌링엔진인 Kill-bill 을 활용
합니다.
‘킬빌’을 활용할 수 있는 플랜 모델
링과 정산 관리를 위한 다양한 GUI
기반 관리 콘솔을 제공하며, 킬빌
자체의 벤더별 수익배분, 국내 PG
연동 등 복잡한 확장 기능을 제공함.
활용 OSS:
Kill-Bill, ELK, Zuul
Our target:
SOA MM7:
Dynamically Re-
configurable
Operation
Phase
Open Cloud Engine
Canary Deployment 를 통하여 무정지 상태로 각 마이크로 서비스
별로 지속적인 개선과 수정이 가능하도록 함. (참고: 아마존의 경우
하루 23000회 배포를 하여 SaaS 서비스로서의 경쟁력을 내고 있음)
Virtual Server Containers
배포: 10% 단계 배포: 90% 단계
Old version New version Old version New version
자동화된 시스템 배포 및 확장
무정지 재배포
(Zero-downtime Deployment)
마이크로 서비스로 개발된 서비스들은 요청량에 따라 동적으로 워크로드가
분산되고 HA 구성이 이루어져 자원 가용률을 최대화하며 요청에 따른
운영노동력을 최소화 합니다.
지속적인 서비스의 출시를 위하여 배포할 서비스만을 격리하여
배포하면서도 연계된 서비스들과 동적으로 연계를 유지함(Contract-
based). 이러한 배포 과정은 자동으로 기계에 의하여 수행됨
앱1 앱2 앱 3
Zero-downtime Deployment & Scale
Canary & Blue/Green Deployment
• Recreate:
신규버전을 아예 별도 인스턴스로 완전히
Roll out 한후 기존버전과 대치함
• Ramped (also known as rolling-update or
incremental):
신규버전 인스턴스 1개와 구버전 인스턴스
1개씩 교체해가면서 롤아웃 함. 총 인스턴스
개수가 유지되기 때문에 추가 리소스 없이
배포가능하지만 재배포시에 사용량이 폭주
하면 시스템 안정성에 문제가 생길 수 있다
• Blue/Green:
신규버전을 신규 인스턴스로 완전히 롤아웃
한후 라우터를 통하여 해당 인스턴스로 포워
드한다. 기존버전은 롤백을 위하여 원하는
기간 동안 유지하고 롤백이 요청되면 곧바로
라우터로 요청 포워드를 기존버전으로 보낸
다.
• Canary:
Blue/Green과 같으나, 신규버전이 롤아웃되
는 시간 동안 랜덤으로 혹은 지리적으로 순
차적으로 신규버전을 노출하여 신규버전에
서 발생할 수 있는 오류를 가능한 국지적으
로 노출시킴과 동시에 가능한 조기에 발견하
여 롤백이 가능하도록 하는 배포전략.
활용 OSS:
DCOS (Mesos + Marathon), HAProxy, Kafka
지속적 통합과 배포를 위한 설정을 해놓으면, 주기적으로 최신의 소스 형
상에서 개발기를 업데이트하고 운영기로 배포
Production Debugging
마이크로서비스들로 구성된 애
플리케이션 성능 모니터링
(APM)에는 서비스구간별 장애
와 성능 모니터링을 지원해야함
활용 OSS:
Naver Pinpoint, ELK
Example
Domain
Applications
Open Cloud Engine
방위산업 분야 예제
• MSA 기반 요격 미사일 시스템
• 실시간 이벤트에 반응: (도메인 이벤트: 적미사일 식별, 레이더
시스템 감지 등)
• 결함내성: 관련 서비스들은 24시간 365일 무장애로 동작해야 함
• 교체가능서비스: 요격 알고리즘의 잦은 전환 및 시스템의
업그래이드시 무정지 재배포 필요
• 향후 IoT 기반 아키텍처 사례로 확장
퍼블릭 에듀케이션 영역 예제
• 한국소프트웨어기술진흥협회(KOSTA)
의 실질적 강좌강의수강 시스템의 실질
요구사항과 교재 개발에 참여함
• 해당 요구사항은 강좌기획,
강의(클래스)관리, 수강관리 등
서브도메인으로 나뉘어
마이크로서비스 분석 예제로 적합함
• 강의 신청 기간에 특정 서비스가 핫-
스폿으로 요청이 폭주하는 경향은
마이크로 서비스의 Self-Healing,
결함내성, 동적 확장 등의 MSA 설계
강점을 잘 설명할 수 있음
• 챗봇을 통한 강의 수강 신청등의
자동화를 통하여 Dynamically
Reconfigurable 한 MSA 수준의 기능을
시연할 수 있음
커머스 영역 예제
• 쇼핑몰 카탈로그 관리에서 주문,
재고확인, 배송조회, 프로모션에
이르는 예제
• MSA 적용 관심도가 가장 높은 영역중
하나
• 행사 제품과 특정 세일즈 기간에 특정
서비스가 핫-스폿으로 요청이 폭주하는
경향은 마이크로 서비스의 Self-
Healing, 결함내성, 동적 확장 등의
MSA 설계 강점을 잘 설명할 수 있음
• 챗봇을 통한 기존 고객에 대한
재방문을 높히고 고객 성향 분석을
통한 추천 상품 제공
• MSA 플랫폼 상에 머신러닝 워크로드를
수행하는 Tensorflow, Keras 등의
Polyglot 한 다양한 플랫폼을 운영
Values
Open Cloud Engine
AS-IS: Pain-points
• 운영팀과 개발팀이 분리되어 개발팀의
반영을 운영팀이 거부하는 사례 발생
• 개발팀은 새로운 요건을 개발했으나,
이로인해 발생하는 오류가 두려워 배포를
꺼려함
• 현재 미국, 일본, 유럽 등 수요가
늘어나는 상황이나, 상기한 문제로 신규
고객의 요구사항을 받아들이지 못하는
상황
• 수동 운영의 문제로, SLA 준수가 되지
못하여 고객 클레임이 높은편
• 기존 모놀로씩 아키텍처의 한계로
장기적인 발전의 한계에 봉착
• 서비스 업그래이드가 수시로 요청이
들어와 거의 매일 야근중. 개발자
행복지수가 매우 낮음.
• 한팀의 반영이 전체팀의 반영에 영향을
주어 거의 매일 야근해야 함. 행복지수
낮음을 토로함.
• 테넌트별 다형성 지원을 제대로 하지
못하여 가입고객이 늘 때마다 전체 관리
비용이 급수로 올라가는 한계에 봉착함
• 자체 IDC를 구성하여 하드웨어,
미들웨어 구성을 직접해야 하는
비용문제.
자동화된
운영
빠른
클라우드
전환
TO-BE:
품질 높은 클라우드
아키텍처와 비즈니스
모델로의 안정적이고 빠른
전환
높은 업타임, 끊김 없는 서비스,
직원의 행복지수 향상, 고객
만족도 향상
Speed to digital transformation
SPEED
비 즈 니 스 애 플 리 케 이 션 개 발 에
과도하게 소요되는 시간은 분석과
반복적인 중복코드, 운영 단절에 의한
오류 감소로 인한 생산성 극대화와 Time-
to-Market 최소화
Software development is a learning
process,
working code is a side effect -
Martin Fowler
Future Direction: Biz-Dev-Ops Platform
배포 운영
스케일최적화
마케팅
데이터기회탐색
분석 설계
BIZ DEV OPS
프로덕션
디버깅
테스팅
통합코드생성
회사개요
유엔진솔루션즈는 10년간의 BPM, SNS, Cloud 솔루션을 개발해오면서 쌓아온 기술력과
제조/금융 분야의 적용 경험으로, 본 서비스를 성공적으로 구축할 수 있는 기술 전문
기업입니다.
업력 2007 년 03 월 20 일 설립, 총 11년 업력
주요 고객사 한화그룹, 기업은행, 삼성전기, SKT, SKC&C, 현대기아차, 대우건설, 경동나비엔, 생산기술원 등
주요사업분야 및 보유 기술
• 클라우드 컴퓨팅 / SOA 컨설팅 및 시스템, SaaS 지원 시스템 ETRI 공동연구 (2010)
• 세계적 오픈소스 커뮤니티(uEnigne.org, Open Cloud Engine)운영
• BPM (업무프로세스관리), BRE(비즈니스룰엔진)
• 기업용 소셜 네트워크 기반 협업 시스템
• ALM(어플리케이션 수명주기관리)
인증 및 수상
2007년도 전략
소프트웨어
< 산업 육성 공로상 >
2012년
SW산업발전
< 국무총리
표창 >
2004 Ranked
60th in top
Source forge
Open Source
Project
2009 Selected as top
101 Enterprise OSS by
internet.com.
Model
Driven
Development
Cloud
Management
Platform
Business
Process
Management
Platform
As-A
Service
Enterprise
Social
Network
OMG Standard-
based
ALM
Open Source
Software
Management
보유기술 및 적용사례
BPM

Mais conteúdo relacionado

Mais procurados

Event storming based msa training commerce example v2
Event storming based msa training commerce example v2Event storming based msa training commerce example v2
Event storming based msa training commerce example v2uEngine Solutions
 
Open Cloud Engine PaaS Snapshots
Open Cloud Engine PaaS SnapshotsOpen Cloud Engine PaaS Snapshots
Open Cloud Engine PaaS SnapshotsuEngine Solutions
 
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
 
Process Oriented Architecture
Process Oriented ArchitectureProcess Oriented Architecture
Process Oriented ArchitectureuEngine Solutions
 
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Ladybug - 멀티클라우드 애플리케이션 서비스 통합 운용 및 관리 (Integr...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Ladybug - 멀티클라우드 애플리케이션 서비스 통합 운용 및 관리 (Integr...Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Ladybug - 멀티클라우드 애플리케이션 서비스 통합 운용 및 관리 (Integr...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Ladybug - 멀티클라우드 애플리케이션 서비스 통합 운용 및 관리 (Integr...Cloud-Barista Community
 
4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅
4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅
4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅Open Source Consulting
 
Atlassian 트러블슈팅 및 가상화기반 Confluence Data Center 구축 - 오픈소스...
Atlassian 트러블슈팅 및 가상화기반 Confluence Data Center 구축 - 오픈소스...Atlassian 트러블슈팅 및 가상화기반 Confluence Data Center 구축 - 오픈소스...
Atlassian 트러블슈팅 및 가상화기반 Confluence Data Center 구축 - 오픈소스...Atlassian 대한민국
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice ArchitectureYoonsung Jung
 
[Atlassian meets dev ops and itsm] infrastructure for devops
[Atlassian meets dev ops and itsm] infrastructure for devops[Atlassian meets dev ops and itsm] infrastructure for devops
[Atlassian meets dev ops and itsm] infrastructure for devopsOpen Source Consulting
 
클린아키텍처와 DDD - day1
클린아키텍처와 DDD - day1클린아키텍처와 DDD - day1
클린아키텍처와 DDD - day1Chimin Park
 
AWS 12월 웨비나 │성공적인 마이그레이션을 위한 클라우드 아키텍처 및 운영 고도화
AWS 12월 웨비나 │성공적인 마이그레이션을 위한 클라우드 아키텍처 및 운영 고도화AWS 12월 웨비나 │성공적인 마이그레이션을 위한 클라우드 아키텍처 및 운영 고도화
AWS 12월 웨비나 │성공적인 마이그레이션을 위한 클라우드 아키텍처 및 운영 고도화Amazon Web Services Korea
 
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Spider / CB-Tumblebug : 멀티클라우드 인프라 서비스 (Multi-...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Spider / CB-Tumblebug : 멀티클라우드 인프라 서비스 (Multi-...Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Spider / CB-Tumblebug : 멀티클라우드 인프라 서비스 (Multi-...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Spider / CB-Tumblebug : 멀티클라우드 인프라 서비스 (Multi-...Cloud-Barista Community
 
[SW 아키텍처 컨퍼런스] 클라우드 아키텍처 개론
[SW 아키텍처 컨퍼런스] 클라우드 아키텍처 개론[SW 아키텍처 컨퍼런스] 클라우드 아키텍처 개론
[SW 아키텍처 컨퍼런스] 클라우드 아키텍처 개론Alex Hahn
 
Cloud-Barista 제4차 오픈 컨퍼런스 : Cloud-Barista - 멀티클라우드 서비스 공통 플랫폼 개요 (Multi-cloud...
Cloud-Barista 제4차 오픈 컨퍼런스 : Cloud-Barista - 멀티클라우드 서비스 공통 플랫폼 개요 (Multi-cloud...Cloud-Barista 제4차 오픈 컨퍼런스 : Cloud-Barista - 멀티클라우드 서비스 공통 플랫폼 개요 (Multi-cloud...
Cloud-Barista 제4차 오픈 컨퍼런스 : Cloud-Barista - 멀티클라우드 서비스 공통 플랫폼 개요 (Multi-cloud...Cloud-Barista Community
 
Data Center to Cloud - AWS 마이그레이션 자동화 방법 및 도구 - AWS Summit Seoul 2017
Data Center to Cloud - AWS 마이그레이션 자동화 방법 및 도구 - AWS Summit Seoul 2017Data Center to Cloud - AWS 마이그레이션 자동화 방법 및 도구 - AWS Summit Seoul 2017
Data Center to Cloud - AWS 마이그레이션 자동화 방법 및 도구 - AWS Summit Seoul 2017Amazon Web Services Korea
 
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10![웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!Open Source Consulting
 
AI = SE , giip system manage automation with A.I
AI = SE , giip system manage automation with A.IAI = SE , giip system manage automation with A.I
AI = SE , giip system manage automation with A.ILowy Shin
 
Microservices
Microservices Microservices
Microservices 영기 김
 

Mais procurados (20)

Event storming based msa training commerce example v2
Event storming based msa training commerce example v2Event storming based msa training commerce example v2
Event storming based msa training commerce example v2
 
Open Cloud Engine PaaS Snapshots
Open Cloud Engine PaaS SnapshotsOpen Cloud Engine PaaS Snapshots
Open Cloud Engine PaaS Snapshots
 
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
 
Process Oriented Architecture
Process Oriented ArchitectureProcess Oriented Architecture
Process Oriented Architecture
 
Microservice coding guide
Microservice coding guideMicroservice coding guide
Microservice coding guide
 
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Ladybug - 멀티클라우드 애플리케이션 서비스 통합 운용 및 관리 (Integr...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Ladybug - 멀티클라우드 애플리케이션 서비스 통합 운용 및 관리 (Integr...Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Ladybug - 멀티클라우드 애플리케이션 서비스 통합 운용 및 관리 (Integr...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Ladybug - 멀티클라우드 애플리케이션 서비스 통합 운용 및 관리 (Integr...
 
4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅
4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅
4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅
 
Atlassian 트러블슈팅 및 가상화기반 Confluence Data Center 구축 - 오픈소스...
Atlassian 트러블슈팅 및 가상화기반 Confluence Data Center 구축 - 오픈소스...Atlassian 트러블슈팅 및 가상화기반 Confluence Data Center 구축 - 오픈소스...
Atlassian 트러블슈팅 및 가상화기반 Confluence Data Center 구축 - 오픈소스...
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
[Atlassian meets dev ops and itsm] infrastructure for devops
[Atlassian meets dev ops and itsm] infrastructure for devops[Atlassian meets dev ops and itsm] infrastructure for devops
[Atlassian meets dev ops and itsm] infrastructure for devops
 
클린아키텍처와 DDD - day1
클린아키텍처와 DDD - day1클린아키텍처와 DDD - day1
클린아키텍처와 DDD - day1
 
AWS 12월 웨비나 │성공적인 마이그레이션을 위한 클라우드 아키텍처 및 운영 고도화
AWS 12월 웨비나 │성공적인 마이그레이션을 위한 클라우드 아키텍처 및 운영 고도화AWS 12월 웨비나 │성공적인 마이그레이션을 위한 클라우드 아키텍처 및 운영 고도화
AWS 12월 웨비나 │성공적인 마이그레이션을 위한 클라우드 아키텍처 및 운영 고도화
 
[웨비나] Follow me! 클라우드 인프라 구축 기본편 - 강지나 테크 에반젤리스트
[웨비나] Follow me! 클라우드 인프라 구축 기본편 - 강지나 테크 에반젤리스트[웨비나] Follow me! 클라우드 인프라 구축 기본편 - 강지나 테크 에반젤리스트
[웨비나] Follow me! 클라우드 인프라 구축 기본편 - 강지나 테크 에반젤리스트
 
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Spider / CB-Tumblebug : 멀티클라우드 인프라 서비스 (Multi-...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Spider / CB-Tumblebug : 멀티클라우드 인프라 서비스 (Multi-...Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Spider / CB-Tumblebug : 멀티클라우드 인프라 서비스 (Multi-...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Spider / CB-Tumblebug : 멀티클라우드 인프라 서비스 (Multi-...
 
[SW 아키텍처 컨퍼런스] 클라우드 아키텍처 개론
[SW 아키텍처 컨퍼런스] 클라우드 아키텍처 개론[SW 아키텍처 컨퍼런스] 클라우드 아키텍처 개론
[SW 아키텍처 컨퍼런스] 클라우드 아키텍처 개론
 
Cloud-Barista 제4차 오픈 컨퍼런스 : Cloud-Barista - 멀티클라우드 서비스 공통 플랫폼 개요 (Multi-cloud...
Cloud-Barista 제4차 오픈 컨퍼런스 : Cloud-Barista - 멀티클라우드 서비스 공통 플랫폼 개요 (Multi-cloud...Cloud-Barista 제4차 오픈 컨퍼런스 : Cloud-Barista - 멀티클라우드 서비스 공통 플랫폼 개요 (Multi-cloud...
Cloud-Barista 제4차 오픈 컨퍼런스 : Cloud-Barista - 멀티클라우드 서비스 공통 플랫폼 개요 (Multi-cloud...
 
Data Center to Cloud - AWS 마이그레이션 자동화 방법 및 도구 - AWS Summit Seoul 2017
Data Center to Cloud - AWS 마이그레이션 자동화 방법 및 도구 - AWS Summit Seoul 2017Data Center to Cloud - AWS 마이그레이션 자동화 방법 및 도구 - AWS Summit Seoul 2017
Data Center to Cloud - AWS 마이그레이션 자동화 방법 및 도구 - AWS Summit Seoul 2017
 
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10![웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
 
AI = SE , giip system manage automation with A.I
AI = SE , giip system manage automation with A.IAI = SE , giip system manage automation with A.I
AI = SE , giip system manage automation with A.I
 
Microservices
Microservices Microservices
Microservices
 

Semelhante a 유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)

[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기Amazon Web Services Korea
 
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?VMware Tanzu Korea
 
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
 
[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 native application 입문
Cloud native application 입문Cloud native application 입문
Cloud native application 입문Seong-Bok Lee
 
Session 1. 디지털 트렌스포메이션의 핵심, 클라우드 마이그레이션 A to Z - 베스핀글로벌 이근우 위원
Session 1. 디지털 트렌스포메이션의 핵심, 클라우드 마이그레이션 A to Z - 베스핀글로벌 이근우 위원Session 1. 디지털 트렌스포메이션의 핵심, 클라우드 마이그레이션 A to Z - 베스핀글로벌 이근우 위원
Session 1. 디지털 트렌스포메이션의 핵심, 클라우드 마이그레이션 A to Z - 베스핀글로벌 이근우 위원BESPIN GLOBAL
 
꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가VMware Tanzu Korea
 
Deployment techniques for cloud native
Deployment techniques for cloud nativeDeployment techniques for cloud native
Deployment techniques for cloud nativeAlex Jeong
 
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)Sang Don Kim
 
Spring cloud on kubernetes
Spring cloud on kubernetesSpring cloud on kubernetes
Spring cloud on kubernetesSangSun Park
 
Openshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud NativeOpenshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud Nativerockplace
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017Amazon Web Services Korea
 
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdfHeeJung Chae
 
클라우드 네이티브 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
 
All about Data Center Migration Session 1. <Case Study> 오비맥주 사례로 알아보는 DC 마이그레...
All about Data Center Migration Session 1. <Case Study> 오비맥주 사례로 알아보는 DC 마이그레...All about Data Center Migration Session 1. <Case Study> 오비맥주 사례로 알아보는 DC 마이그레...
All about Data Center Migration Session 1. <Case Study> 오비맥주 사례로 알아보는 DC 마이그레...BESPIN GLOBAL
 
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online SeriesAmazon Web Services Korea
 
Cloud migration pattern using microservices
Cloud migration pattern using microservicesCloud migration pattern using microservices
Cloud migration pattern using microservicesSeong-Bok Lee
 
Microsoft azure service 소개자료
Microsoft azure service 소개자료Microsoft azure service 소개자료
Microsoft azure service 소개자료Alvin You
 
[찾아가는세미나] 클라우드 구축과 관리
[찾아가는세미나] 클라우드 구축과 관리[찾아가는세미나] 클라우드 구축과 관리
[찾아가는세미나] 클라우드 구축과 관리해은 최
 
AWS re:Invent 특집(2) – 서버리스(Serverless) 마이크로서비스를 위한 일곱 가지 모범 사례 (윤석찬)
AWS re:Invent 특집(2) – 서버리스(Serverless) 마이크로서비스를 위한 일곱 가지 모범 사례 (윤석찬)AWS re:Invent 특집(2) – 서버리스(Serverless) 마이크로서비스를 위한 일곱 가지 모범 사례 (윤석찬)
AWS re:Invent 특집(2) – 서버리스(Serverless) 마이크로서비스를 위한 일곱 가지 모범 사례 (윤석찬)Amazon Web Services Korea
 

Semelhante a 유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform) (20)

[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
 
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
 
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
 
[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...
 
Cloud native application 입문
Cloud native application 입문Cloud native application 입문
Cloud native application 입문
 
Session 1. 디지털 트렌스포메이션의 핵심, 클라우드 마이그레이션 A to Z - 베스핀글로벌 이근우 위원
Session 1. 디지털 트렌스포메이션의 핵심, 클라우드 마이그레이션 A to Z - 베스핀글로벌 이근우 위원Session 1. 디지털 트렌스포메이션의 핵심, 클라우드 마이그레이션 A to Z - 베스핀글로벌 이근우 위원
Session 1. 디지털 트렌스포메이션의 핵심, 클라우드 마이그레이션 A to Z - 베스핀글로벌 이근우 위원
 
꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가
 
Deployment techniques for cloud native
Deployment techniques for cloud nativeDeployment techniques for cloud native
Deployment techniques for cloud native
 
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
 
Spring cloud on kubernetes
Spring cloud on kubernetesSpring cloud on kubernetes
Spring cloud on kubernetes
 
Openshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud NativeOpenshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud Native
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
 
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf
 
클라우드 네이티브 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
 
All about Data Center Migration Session 1. <Case Study> 오비맥주 사례로 알아보는 DC 마이그레...
All about Data Center Migration Session 1. <Case Study> 오비맥주 사례로 알아보는 DC 마이그레...All about Data Center Migration Session 1. <Case Study> 오비맥주 사례로 알아보는 DC 마이그레...
All about Data Center Migration Session 1. <Case Study> 오비맥주 사례로 알아보는 DC 마이그레...
 
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
 
Cloud migration pattern using microservices
Cloud migration pattern using microservicesCloud migration pattern using microservices
Cloud migration pattern using microservices
 
Microsoft azure service 소개자료
Microsoft azure service 소개자료Microsoft azure service 소개자료
Microsoft azure service 소개자료
 
[찾아가는세미나] 클라우드 구축과 관리
[찾아가는세미나] 클라우드 구축과 관리[찾아가는세미나] 클라우드 구축과 관리
[찾아가는세미나] 클라우드 구축과 관리
 
AWS re:Invent 특집(2) – 서버리스(Serverless) 마이크로서비스를 위한 일곱 가지 모범 사례 (윤석찬)
AWS re:Invent 특집(2) – 서버리스(Serverless) 마이크로서비스를 위한 일곱 가지 모범 사례 (윤석찬)AWS re:Invent 특집(2) – 서버리스(Serverless) 마이크로서비스를 위한 일곱 가지 모범 사례 (윤석찬)
AWS re:Invent 특집(2) – 서버리스(Serverless) 마이크로서비스를 위한 일곱 가지 모범 사례 (윤석찬)
 

Mais de uEngine Solutions

이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기
이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기
이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기uEngine Solutions
 
Safe cloud native transformation approaches
Safe cloud native transformation approachesSafe cloud native transformation approaches
Safe cloud native transformation approachesuEngine Solutions
 
microservice architecture public education v2
microservice architecture public education v2microservice architecture public education v2
microservice architecture public education v2uEngine Solutions
 
Bluemix paas 기반 saas 개발 사례
Bluemix paas 기반 saas 개발 사례Bluemix paas 기반 saas 개발 사례
Bluemix paas 기반 saas 개발 사례uEngine Solutions
 
Building multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quickBuilding multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quickuEngine Solutions
 
Building multi tenancy enterprise applications
Building multi tenancy enterprise applicationsBuilding multi tenancy enterprise applications
Building multi tenancy enterprise applicationsuEngine Solutions
 
아키텍트대회 유엔진-장진영-Sw공학표준을 기반한 alm
아키텍트대회 유엔진-장진영-Sw공학표준을 기반한 alm아키텍트대회 유엔진-장진영-Sw공학표준을 기반한 alm
아키텍트대회 유엔진-장진영-Sw공학표준을 기반한 almuEngine Solutions
 
성공적인 서비스로의 플랫폼 선택
성공적인 서비스로의 플랫폼 선택성공적인 서비스로의 플랫폼 선택
성공적인 서비스로의 플랫폼 선택uEngine Solutions
 
9 design factors for cloud applications
9 design factors for cloud applications9 design factors for cloud applications
9 design factors for cloud applicationsuEngine Solutions
 
Front-end architecture for cloud applications and Polymer
Front-end architecture for cloud applications and PolymerFront-end architecture for cloud applications and Polymer
Front-end architecture for cloud applications and PolymeruEngine Solutions
 
객체지향프로그래밍 특강
객체지향프로그래밍 특강객체지향프로그래밍 특강
객체지향프로그래밍 특강uEngine Solutions
 
Open source apm scouter를 통한 관제 관리 jadecross 정환열 수석
Open source apm scouter를 통한 관제  관리 jadecross 정환열 수석Open source apm scouter를 통한 관제  관리 jadecross 정환열 수석
Open source apm scouter를 통한 관제 관리 jadecross 정환열 수석uEngine Solutions
 
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱uEngine Solutions
 
Io t에서 big data를 통합하는 통합 빅데이터 플랫폼 flamingo_클라우다인_김병곤 대표이사
Io t에서 big data를 통합하는 통합 빅데이터 플랫폼 flamingo_클라우다인_김병곤 대표이사Io t에서 big data를 통합하는 통합 빅데이터 플랫폼 flamingo_클라우다인_김병곤 대표이사
Io t에서 big data를 통합하는 통합 빅데이터 플랫폼 flamingo_클라우다인_김병곤 대표이사uEngine Solutions
 

Mais de uEngine Solutions (17)

이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기
이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기
이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기
 
Safe cloud native transformation approaches
Safe cloud native transformation approachesSafe cloud native transformation approaches
Safe cloud native transformation approaches
 
microservice architecture public education v2
microservice architecture public education v2microservice architecture public education v2
microservice architecture public education v2
 
Micro service architecture
Micro service architectureMicro service architecture
Micro service architecture
 
Bluemix paas 기반 saas 개발 사례
Bluemix paas 기반 saas 개발 사례Bluemix paas 기반 saas 개발 사례
Bluemix paas 기반 saas 개발 사례
 
Building multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quickBuilding multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quick
 
Building multi tenancy enterprise applications
Building multi tenancy enterprise applicationsBuilding multi tenancy enterprise applications
Building multi tenancy enterprise applications
 
Metaworks4 intro
Metaworks4 introMetaworks4 intro
Metaworks4 intro
 
아키텍트대회 유엔진-장진영-Sw공학표준을 기반한 alm
아키텍트대회 유엔진-장진영-Sw공학표준을 기반한 alm아키텍트대회 유엔진-장진영-Sw공학표준을 기반한 alm
아키텍트대회 유엔진-장진영-Sw공학표준을 기반한 alm
 
Essencia 2017
Essencia 2017Essencia 2017
Essencia 2017
 
성공적인 서비스로의 플랫폼 선택
성공적인 서비스로의 플랫폼 선택성공적인 서비스로의 플랫폼 선택
성공적인 서비스로의 플랫폼 선택
 
9 design factors for cloud applications
9 design factors for cloud applications9 design factors for cloud applications
9 design factors for cloud applications
 
Front-end architecture for cloud applications and Polymer
Front-end architecture for cloud applications and PolymerFront-end architecture for cloud applications and Polymer
Front-end architecture for cloud applications and Polymer
 
객체지향프로그래밍 특강
객체지향프로그래밍 특강객체지향프로그래밍 특강
객체지향프로그래밍 특강
 
Open source apm scouter를 통한 관제 관리 jadecross 정환열 수석
Open source apm scouter를 통한 관제  관리 jadecross 정환열 수석Open source apm scouter를 통한 관제  관리 jadecross 정환열 수석
Open source apm scouter를 통한 관제 관리 jadecross 정환열 수석
 
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱
 
Io t에서 big data를 통합하는 통합 빅데이터 플랫폼 flamingo_클라우다인_김병곤 대표이사
Io t에서 big data를 통합하는 통합 빅데이터 플랫폼 flamingo_클라우다인_김병곤 대표이사Io t에서 big data를 통합하는 통합 빅데이터 플랫폼 flamingo_클라우다인_김병곤 대표이사
Io t에서 big data를 통합하는 통합 빅데이터 플랫폼 flamingo_클라우다인_김병곤 대표이사
 

유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)

  • 3. Migrating to Cloud Native Application 설치형 프로젝트 배포 (9개월) 모놀로씩 아키텍처 구독형 지속적 배포 (1일 1배포) 마이크로 서비스 아키텍처
  • 4. 클라우드 구현의 전체 모습 DevOps Cloud Applications Micro Service Architecture Domain Driven Design Service Decomposition Service Discovery CI/CD Production Debugging Business Support ServiceBilling- metering Event-Driven Architecture Process Orchestration Native 한 Cloud Application 구현에 있어서는 Micro Service Architecture 를 기반한 설계와 DevOps 환경의 보유가 매우 중요한 성공요인입니다.
  • 5. MSA 를 이루기 위한 시행착오와 학습곡선을 줄 여 주 고 생 산 적 인 도구의 필요성! Skills & Expertise on MSA DDD Object-Oriented Analysis & Design Web Services / REST, Spring AOP…., Netflix OSS …
  • 6. 제공범위 오픈클라우드엔진은 DDD 기반 아키텍처 분석에서 운영자동화까지 한번에 지원하는 MSA 플랫폼입니다 Operate A B C D E F End-to-end MSA Development Cycle 서비스 식별과 API 디자인 서비스 구현 서비스 통합 도메인 분석 비즈니스 서포트 서비스 운영 자동화 http://github.com/TheOpenCloudEngine
  • 7. 클라우드 서비스 전환을 위한 마이크로 서비스 아키텍처 기반 마련 업무 영역 OOO, O Target Digital Transform Accelerator Vision & Mission Statement • 마이크로 서비스 아키텍처 새시스 (OCE MSA-chassis) • 마이크로 서비스 분석/설계 플랫폼 • 마이크로 서비스 운영 환경 • 교재 / 학습 시스템 개발 & 커뮤니티 운영 * 기존 H그룹 적용 결과의 적용 Mission 향후 기민한 시장 변화와 경쟁사와의 차별화를 위한 기틀의 내재화
  • 8. Operate DDD by UML Cloud IDE Contract-based Test API Test UI Test DevOps portal Zero Down-time Edge Services API GW (Zuul) IAM (OAuth2) BPM (BPMN2) Semantic Entity IoT ML (Keras) Block- chain gitlab DC OS / Kubernetes Test Load Generator Eclipse Che Server Language Assist Java-Gen / Reverse Public Education Example Defense Industry Example Commerce Example Event Storming General Micro-services Platform Micro-services Domain Micro-services TestCodeAnalysis Billing/Metering Event Queue (Kafka) BPMN Open Cloud Engine Tools
  • 10. Micro Services Characteristics - By James Lewis and Martin Fowle
  • 11. Domain-Driven Design & MSA • 어떤 단위가 마이크로 서비스가 될 수 있는가? : Bounded Context  마이크로 서비스 크기 식별 • 서비스를 결합 할 때는 어떻게 결합할 것인가? : Aggregate  REST 데이터의 Aggregation • 도메인 이벤트의 식별  Event-driven Architecture 도출 • 잦은 변화에 유연한 설계  동적 서비스 발견과 연동 • 레거시 시스템의 단계적 폐기  모더나이징 • 리팩터링 전략  지속적 딜리버리와 개선 DDD for MSA Applicable Practices: ㄱ. 이벤트 스토밍과 BPMN: 이벤트, 커맨드, 액터, 어그리게이트 식별 ㄴ. UML 과 컨텍스트 맵: 보편언어, 바운디드 컨텍스트 식별
  • 12. Doman-Driven Design Process Event Storming Business Process Modeling Context Map & Class Modeling
  • 13. Event Storming Tool • 이벤트스토밍은 시스템에서 발생하는 이벤트를 중심 (Event-First) 으로 분석하는 기법으로 특히 Non-blocking, Event-driven 한 MSA 기반 시스템을 분석에서 개발까지 필요한 도메인에 대한 탁월하게 빠른 이해를 도모하는데 유리하다. • 기존의 유즈케이스나 클래스 다이어그래밍 방식은 고객 인터뷰나 엔티티 구조를 인지하는 방식과 다르게 별다른 사전 훈련된 지식과 도구 없이 진행할 수 있다. • 진행과정은 참여자 워크숍 방식의 방법론으로 결과는 스티키 노트를 벽에 붙힌 것으로 결과가 남으며, 오랜지색 스티키 노트들의 연결로 비즈니스 프로세스가 도출되며 이들을 이후 BPMN과 UML 등으로 정재하여 전환할 수 있다. • 과제에서는 이러한 Event Storming 워크숍을 여러사람이 동시접속 / 원격으로 진행할 수 있도록 하는 도구를 제공함 vs.
  • 14. Context Map: Service Decomposition 서비스 내의 여러 모듈 (클래스) 들의 분해와 통합을 위한 DDD 도구 중 하나. 서브 도메인 간 클래스의 분해, 통합, 이동 메인 도메인과 서브 도메인 간 드릴 다운, 롤업 서브 도메인 간 연계 방식 – Supplier/Provider, Shared Kernel, Anti-corruption Layer, Conformist, Client/Server 등의 패턴 적용 및 밸리데이션
  • 15. Process Modeling with BPMN OCE 에 내장된 uEngine5 는 OMG BPMN 2.0 스펙을 완전하게 지원하여 OCE 상에 운영되어 REST API 들로 노출된 마이크로 서비스들을 효율적으로 매시업할 수 있는 프로세스 오케스트레이션 기능을 제공합니다. 또한 순수한 BPMN 기반만으로도 간단한 프로세스 기반 REST 마이크로 서비스를 생성할 수도 있습니다. 활용 OSS: VueJS, OpenGraph (자체)
  • 16. Domain Class Modeling with UML 내장된 UML 클래스 모델러를 통하여 도메인 모델을 설계 이렇게 설계된 도메인 모델은 프로세스 변수와 룰 편집기의 모델로 활용되며, Open Cloud Engine PaaS 에 결합되어 곧바로 Java Spring Boot 애플리케이션의 형태 (마이크로 서비스) 로 생성- 역공학 (Round-trip Engineering) DDD (Domain Driven Design) 의 사상을 기반하여 마이크로 서비스 아키텍처 기반의 애플리케이션을 빠르게 생성하여 BPM 기반의 SOA 아키텍처를 구현 가능 활용 OSS: Javareverse, VueJS
  • 17. Model to Implementation Business (Domain) Event Pools / Sub-domains Process Aggregate Entity Kafka Event / CQRS JPA Entity & Repository Micro-Services BPMN 2.0 EDA MSA POA REST NoSQL RDB
  • 19. Output: Best mix of MSA Chassis OAuth 2.0 MVVM: vueJS Netflix OSS Spring Cloud BPMN 2.0 Reactive & Kafka Docker Event-driven Arch. Containerization Service OrchestrationService Dynamicity Security UI REST , Data
  • 20. Extended MSA Chassis • Externalized configuration – 외부 서비스를 연계하기 위한 동적으로 정보 주입 • Logging –여러인스턴스에 분산된 로그는 다시 수집될 수 있는 형태로 로그가 남겨져야 함. • Health checks – 서비스가 정상적으로 동작중임을 플랫폼에 알려주기 위한 ping 용 backend • Metrics – 서비스의 상태를 수집하여 플랫폼에 알려주기 위한 퍼포먼스 관련 정보 backend • Distributed tracing - 마이크로 서비스들 간의 호출관계에서 문제나 병목이 발생한 지점을 추적 • Self Registration and discovery – 마이크로서비스의 동적 발견을 위한 등록절차 수행 • Circuit breakers – 마이크로서비스가 장애를 일으켜 다른 서비스에 영향을 미치지 않도록 처리 이러한 일반적인 관점 뿐만 아니라 어떤 특정 비즈니스 기능들을 위한 공통화된 기능들도 확장하여 담아낼 수 있도록 하기도 하는데, 예를 들어 본 과제에서는 기본적의 위의 기능 외에 다음과 같은 기능들을 제공함: • 통합 인증과 인가: 접속 유저의 OAuth 인증 정보 수집을 통한 테넌트 별 서비스 라우팅과 미터링 / 빌링을 처리 • 통합 미터링 / 빌링 처리: 유저의 사용량 정보 수집, 사용량 초과시 오류 출력 • 멀티테넌시 처리: 통합인증된 유저 정보에서 테넌트 정보를 획득, Entity와 Repository에 데이터 저장소 분리, 데이터 추출시 테넌트 정보에서 데이터 추출, 엔티티 모델의 동적 확장, 테넌트 데이터의 동적인 Aggregation
  • 21. Main Application Domain Classes Services and Repositories Settings 도메인모델 Entity, Repository, Service Decomposed by Business Capabilities 스프링 부트 Microservice JPA Entity, Repository, JAX-RS Service 12-Factors Cloud-Native Code generation Reverse Engineering Model to Code 기법 이해
  • 22. Cloud IDE & Build Pipeline 깃랩 DevOps 플랫폼과 통합되어 소스형상관리와 협업, 파이프라인 자동화를 지원 활용 OSS: Eclise Che, GitLab, Maven
  • 23. Polyglot Boilerplates MSA 구성요소 및 다양한 애플리케이션 플랫폼 템플릿을 이용한 개발 환경을 적용 (Docker File 기반) 향후 다양한 IoT 단말 및 머신러닝 기반 서비스에 대한 대응체계 마련 활용 OSS: Docker
  • 24. Generated Architecture Front-end (Responsive, Client-side Service Aggregation) Scalable Global Single Instance Database Service API GW Service Service (Machine) 3rd-party Apps BillingIAM CRUD Data Sync via REST REST Call Service Service Service Service Service Service Container Scalable Global Single Instance Database Issue Token ID/PWD Collect Usage Metaworks4 UI Components Metaworks4 MSA Chassis Applied MSA Design Patterns: 1. Multiple Instances Per Host 2. Externalized Configuration 3. API Gateway 4. Client-side discovery 5. Self-registration 6. Circuit Breaker 7. Database per Service 8. CQRS 9. Event Sourcing 10. Access Token 11. Service Contract Test 12. Log Aggregation 13. Health Checking 14. Distributed Tracing 15. Client-side UI Composition
  • 26. Mashup Strategies By Process By Composite Service By UI Cross-cutting Issues
  • 27. Mashup Strategy 1: Service Mashups by UI • 아마존 닷컴은 다양한 서비스 제공과 효율적인 운영 환경 전환을 위해 분산 서비스 플랫폼으로 전환 하였습니다 • 아마존의 화면 1개를 구성하기 위해서는 약 1000개 이상의 마이크로 서비스들의 호출을 통하여 매시업된 화면들로 구성됨 • 이는 MSA 을 구축하기 위해서는 UI 기반 기술의 전환이 매우 중요한 아키텍처 체인지의 지점임을 시사함
  • 28. Service Mashups by UI • MSA 아키텍처는 서비스의 통합을 위하여 기존에 Join SQL 등을 사용하지 않고 프론트- 엔드 기술이나 API Gateway 를 통하여 서비스 간 데이터를 통합함 • 프론트엔드에서 데이터를 통합하기 위한 접근 방법으로는 W3C 의 Web Components 기법과 MVVM 그리고 REST API 전용 스크립트가 유용함
  • 29. W3C Web Components 여러개의 컴포넌트로 구성된 하면 요소를 단일 페이지로 구성할 수 있는 웹 표준으로 다음의 기술 세트를 제공: • Custom elements : 사용자 정의 태그 • HTML imports : 태그를 불러와서 사용 • Template : 컴포넌트의 UI 구성을 생성하는 템플릿 처리의 자동화 MVVM 개념과 연결되어 화면 구성을 데이터 도달 시 자동으로 처리하여, 여러개의 서비스에서 불러온 데이터를 화면에 표시하는데 유리함 • Shadow DOM : 빠른 화면 렌더링을 위해 고안된 일종의 가상 메모리 기반 렌더링 기법 29 <style> style for A style for B style for C </style> <html> element for A element for B element for C </html> <script> script for A script for B script for C </script> #A.html <style> style for A </style> <html> element for A </html> <script> script for A </script> #B.html <style> style for B </style> <html> element for B </html> <script> script for B </script> #C.html <style> style for C </style> <html> element for C </html> <script> script for C </script> #index.html <A> <A> <B> <B> <B> <C>
  • 30. UI Frameworks will be used 30 • W3C Web Components 지원 • 쉽습니다, HTML 과 기본 자바스크립트면 이해가능합니다 • Dynamic Data Binding 을 통해 수 많은 마이크로 서비스에서 쏟아지는 비동기 데이터와 화면을 예쁘게 연결하여 렌더링 해줍니다. • 머터리얼 디자인과 리스폰시브 웹을 지원합니다. • 코드량이 적고 빠릅니다. • 오픈소스입니다! * 고객 선호도에 따라 React, Angular2 를 적용할 수도 있습니다. VueJS
  • 31. Mashup Strategy 2: Service Mashups by Process • 프로세스 기반 서비스 매시업은 모델링 도구를 활용하여 새로운 컴포지트 서비스를 생성하거나 UI를 생성하여 개발 없이 기존 서비스들을 융합할 수 있음 • 이벤트, 서비스 타스크, 사람에 의한 타스크 (UI 를 생성) 등의 구성요소를 순서도를 그리듯이 그려넣으면 이들을 그린대로 실행함 • EUREKA Registry 에 등록된 서비스들을 불러와 GUI 기반으로 설정하여 서비스를 호출하고, 만들어낸 프로세스 자체가 하나의 새로운 서비스로 생성됨 • 이를 지원하는 도구로는 API Gateway, BPM 등이 있음
  • 32. Process Mashups: uEngine BPM 직관적인 “서비스 풀” 개념의 모델링은 레지스트리 (유레카) 에 등록된 연동 대상 서비스를 포인트-앤-클릭만으로 마이크로 서비스 내의 리소스와 연동 방법, 페이로드의 스키마를 동적으로 인지하여 모델링 설정을 가이드해 줍니다. 32 활용 OSS: Netflix Eureka, uEngine BPM (자체)
  • 33. Process Mashups: REST Invocation 모델링을 통하여 실제 이벤트를 발행할 수 있습니다. 이벤트는 REST / Web Services 등의 동기성 (Synchronous) 호출과 Kafka Event 등의 non-blocking Event 호출 등을 선택할 수 있습니다. 따라서 분석단계의 모델링이 곧 구현체로 사용할 수 있도록 합니다 33 CLASS-COURSE
  • 34. Process Execution & Monitoring • 모델링한 프로세스를 시뮬레이션 & 디버깅 • 사람이 해당 역할인 경우 처리할 화면을 자동 생성 • 마이크로 서비스 호출인 경우 호출 Payload 와 결과를 표시 • 오류 발생시 로그를 프로세스 상에서 확인 • 오류 지점에서 재시작, 이전단계 복구 • 시뮬레이션 완료 후 프로덕션으로 반영 34
  • 35. Mashup Strategy 3: Service Mashups by Composite Service • 여러개의 서비스를 통합하는 가장 단순한 방법입니다 • Zuul 과 같은 API Gateway 는 하나의 서비스가 다른 여러개의 서비스를 호출하여 마치 하나의 연결된 서비스처럼 만들어줍니다. • 이를 Proxy라고 합니다. • Netflix Zuul 은 넷플릭스의 막대한 사용자의 워크로드와 요구사항을 견뎌낸 API Gatway 로, Ribbon, Eureka 와 함께 여러 서비스를 통합하고, 이들의 연결을 자동 관리해줍니다.
  • 36. API Gateway: Exposing a REST Service • 외부에서 마이크로 서비스들을 접근하는 경로에 대한 보안, 통합, 성능에 대한 제어를 할 수 있습니다. 새로운 비즈니스 요건에 필요한 API 를 기존 마이크로 서비스 자산들의 매시업을 통하여 생성할 수 도 있습니다. • 생성한 프로세스를 바로 REST API 혹은 Kafka Event Consumer 형식으로 노출 • 서비스 Endpoint 의 지정을 통한 서비스 엔드포인트 생성 • 호출자와 프로세스 인스턴스간 상호연관(Correlation) 36 활용 OSS: Zuul, Kafka
  • 37. Mashup Strategy 4: Cross-cutting functionalities 서비스 통합에 있어서는 다음과 같은 공통적인 처리가 필요한 기능들을 제공해야 합니다: • 서비스 레지스트리: 여러 서비스의 등록과 동적인 발견을 위한 기능으로 Netflix EUREKA 를 사용함. • 토큰 기반 통합 인증: 여러개의 서비스에 여러 종류의 컨슈머가 접근하기 위한 가볍고, 빠르며, 풍부한 권한 관리가 가능한 인증 방법. 주로 OAuth2 와 JWT 가 널리 사용됨. • 빌링 / 미터링: 여러 서비스에 대한 사용량의 측정, 사용량 초과에 대한 접근 차단 및 안내, 추후 정산을 위한 데이터 적재
  • 38. OAuth2: Identity & Access Management 마이크로 서비스들의 통합된 인증과 써드파티 앱들과의 인 증인가를 위한 Stateless 토큰 방식(OAuth2 와 JWT) 기능을 제공합니다. 활용 OSS: JWT, Spring Security
  • 39. Billing Planning & Metering by API GW 비즈니스 경쟁력이 있는 과금 모형 을 시장 상황에 따라 언제든지 운영 중에 반영할 수 있습니다. Volume-discount, Coupon, 지역 적 / 기간적 할인, Free-Paid 전환, 중간 정산 / 도난 카드 사용 등의 예 외처리, 세금 문제 등.. 과금과 정산 에 필요한 복잡한 비즈니스 문제를 검증된 빌링엔진인 Kill-bill 을 활용 합니다. ‘킬빌’을 활용할 수 있는 플랜 모델 링과 정산 관리를 위한 다양한 GUI 기반 관리 콘솔을 제공하며, 킬빌 자체의 벤더별 수익배분, 국내 PG 연동 등 복잡한 확장 기능을 제공함. 활용 OSS: Kill-Bill, ELK, Zuul
  • 42. Canary Deployment 를 통하여 무정지 상태로 각 마이크로 서비스 별로 지속적인 개선과 수정이 가능하도록 함. (참고: 아마존의 경우 하루 23000회 배포를 하여 SaaS 서비스로서의 경쟁력을 내고 있음) Virtual Server Containers 배포: 10% 단계 배포: 90% 단계 Old version New version Old version New version 자동화된 시스템 배포 및 확장 무정지 재배포 (Zero-downtime Deployment) 마이크로 서비스로 개발된 서비스들은 요청량에 따라 동적으로 워크로드가 분산되고 HA 구성이 이루어져 자원 가용률을 최대화하며 요청에 따른 운영노동력을 최소화 합니다. 지속적인 서비스의 출시를 위하여 배포할 서비스만을 격리하여 배포하면서도 연계된 서비스들과 동적으로 연계를 유지함(Contract- based). 이러한 배포 과정은 자동으로 기계에 의하여 수행됨 앱1 앱2 앱 3 Zero-downtime Deployment & Scale
  • 43. Canary & Blue/Green Deployment • Recreate: 신규버전을 아예 별도 인스턴스로 완전히 Roll out 한후 기존버전과 대치함 • Ramped (also known as rolling-update or incremental): 신규버전 인스턴스 1개와 구버전 인스턴스 1개씩 교체해가면서 롤아웃 함. 총 인스턴스 개수가 유지되기 때문에 추가 리소스 없이 배포가능하지만 재배포시에 사용량이 폭주 하면 시스템 안정성에 문제가 생길 수 있다 • Blue/Green: 신규버전을 신규 인스턴스로 완전히 롤아웃 한후 라우터를 통하여 해당 인스턴스로 포워 드한다. 기존버전은 롤백을 위하여 원하는 기간 동안 유지하고 롤백이 요청되면 곧바로 라우터로 요청 포워드를 기존버전으로 보낸 다. • Canary: Blue/Green과 같으나, 신규버전이 롤아웃되 는 시간 동안 랜덤으로 혹은 지리적으로 순 차적으로 신규버전을 노출하여 신규버전에 서 발생할 수 있는 오류를 가능한 국지적으 로 노출시킴과 동시에 가능한 조기에 발견하 여 롤백이 가능하도록 하는 배포전략. 활용 OSS: DCOS (Mesos + Marathon), HAProxy, Kafka 지속적 통합과 배포를 위한 설정을 해놓으면, 주기적으로 최신의 소스 형 상에서 개발기를 업데이트하고 운영기로 배포
  • 44. Production Debugging 마이크로서비스들로 구성된 애 플리케이션 성능 모니터링 (APM)에는 서비스구간별 장애 와 성능 모니터링을 지원해야함 활용 OSS: Naver Pinpoint, ELK
  • 46. 방위산업 분야 예제 • MSA 기반 요격 미사일 시스템 • 실시간 이벤트에 반응: (도메인 이벤트: 적미사일 식별, 레이더 시스템 감지 등) • 결함내성: 관련 서비스들은 24시간 365일 무장애로 동작해야 함 • 교체가능서비스: 요격 알고리즘의 잦은 전환 및 시스템의 업그래이드시 무정지 재배포 필요 • 향후 IoT 기반 아키텍처 사례로 확장
  • 47. 퍼블릭 에듀케이션 영역 예제 • 한국소프트웨어기술진흥협회(KOSTA) 의 실질적 강좌강의수강 시스템의 실질 요구사항과 교재 개발에 참여함 • 해당 요구사항은 강좌기획, 강의(클래스)관리, 수강관리 등 서브도메인으로 나뉘어 마이크로서비스 분석 예제로 적합함 • 강의 신청 기간에 특정 서비스가 핫- 스폿으로 요청이 폭주하는 경향은 마이크로 서비스의 Self-Healing, 결함내성, 동적 확장 등의 MSA 설계 강점을 잘 설명할 수 있음 • 챗봇을 통한 강의 수강 신청등의 자동화를 통하여 Dynamically Reconfigurable 한 MSA 수준의 기능을 시연할 수 있음
  • 48. 커머스 영역 예제 • 쇼핑몰 카탈로그 관리에서 주문, 재고확인, 배송조회, 프로모션에 이르는 예제 • MSA 적용 관심도가 가장 높은 영역중 하나 • 행사 제품과 특정 세일즈 기간에 특정 서비스가 핫-스폿으로 요청이 폭주하는 경향은 마이크로 서비스의 Self- Healing, 결함내성, 동적 확장 등의 MSA 설계 강점을 잘 설명할 수 있음 • 챗봇을 통한 기존 고객에 대한 재방문을 높히고 고객 성향 분석을 통한 추천 상품 제공 • MSA 플랫폼 상에 머신러닝 워크로드를 수행하는 Tensorflow, Keras 등의 Polyglot 한 다양한 플랫폼을 운영
  • 50. AS-IS: Pain-points • 운영팀과 개발팀이 분리되어 개발팀의 반영을 운영팀이 거부하는 사례 발생 • 개발팀은 새로운 요건을 개발했으나, 이로인해 발생하는 오류가 두려워 배포를 꺼려함 • 현재 미국, 일본, 유럽 등 수요가 늘어나는 상황이나, 상기한 문제로 신규 고객의 요구사항을 받아들이지 못하는 상황 • 수동 운영의 문제로, SLA 준수가 되지 못하여 고객 클레임이 높은편 • 기존 모놀로씩 아키텍처의 한계로 장기적인 발전의 한계에 봉착 • 서비스 업그래이드가 수시로 요청이 들어와 거의 매일 야근중. 개발자 행복지수가 매우 낮음. • 한팀의 반영이 전체팀의 반영에 영향을 주어 거의 매일 야근해야 함. 행복지수 낮음을 토로함. • 테넌트별 다형성 지원을 제대로 하지 못하여 가입고객이 늘 때마다 전체 관리 비용이 급수로 올라가는 한계에 봉착함 • 자체 IDC를 구성하여 하드웨어, 미들웨어 구성을 직접해야 하는 비용문제.
  • 51. 자동화된 운영 빠른 클라우드 전환 TO-BE: 품질 높은 클라우드 아키텍처와 비즈니스 모델로의 안정적이고 빠른 전환 높은 업타임, 끊김 없는 서비스, 직원의 행복지수 향상, 고객 만족도 향상
  • 52. Speed to digital transformation SPEED 비 즈 니 스 애 플 리 케 이 션 개 발 에 과도하게 소요되는 시간은 분석과 반복적인 중복코드, 운영 단절에 의한 오류 감소로 인한 생산성 극대화와 Time- to-Market 최소화 Software development is a learning process, working code is a side effect - Martin Fowler
  • 53. Future Direction: Biz-Dev-Ops Platform 배포 운영 스케일최적화 마케팅 데이터기회탐색 분석 설계 BIZ DEV OPS 프로덕션 디버깅 테스팅 통합코드생성
  • 54. 회사개요 유엔진솔루션즈는 10년간의 BPM, SNS, Cloud 솔루션을 개발해오면서 쌓아온 기술력과 제조/금융 분야의 적용 경험으로, 본 서비스를 성공적으로 구축할 수 있는 기술 전문 기업입니다. 업력 2007 년 03 월 20 일 설립, 총 11년 업력 주요 고객사 한화그룹, 기업은행, 삼성전기, SKT, SKC&C, 현대기아차, 대우건설, 경동나비엔, 생산기술원 등 주요사업분야 및 보유 기술 • 클라우드 컴퓨팅 / SOA 컨설팅 및 시스템, SaaS 지원 시스템 ETRI 공동연구 (2010) • 세계적 오픈소스 커뮤니티(uEnigne.org, Open Cloud Engine)운영 • BPM (업무프로세스관리), BRE(비즈니스룰엔진) • 기업용 소셜 네트워크 기반 협업 시스템 • ALM(어플리케이션 수명주기관리) 인증 및 수상 2007년도 전략 소프트웨어 < 산업 육성 공로상 > 2012년 SW산업발전 < 국무총리 표창 > 2004 Ranked 60th in top Source forge Open Source Project 2009 Selected as top 101 Enterprise OSS by internet.com.