제9회 2016 한국 소프트웨어 아키텍트 대회
2016(제9회) 한국 소프트웨어 아키텍트 대회
통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영
2016. 7. 21.
회사명 유엔진솔루션즈
발표자 박승필
제9회 2016 한국 소프트웨어 아키텍트 대회
API 의 비즈니스적 가치
Api 를 공개함으로써 자사 시스템과 서비스의 가치를 높일 수 있다. Third Party API의 등장 – 신규 비즈니스 기회 의미
제9회 2016 한국 소프트웨어 아키텍트 대회
API 의 비즈니스적 가치
50 50
50%
90
10
90%
60
40
60%
Salesforce eBay Expedia
자체 사이트에서만 정보를 제공하는 것에 비하여 Third Party 사이트를 통해 훨씬 다양한 노출 기회를 확보함으로써 매출 향상에 기여
API 를 통한 매출 발생 비율
제9회 2016 한국 소프트웨어 아키텍트 대회 4
API SERVER
API SERVER
API SERVER
What technology do we need?
? ?
?
제9회 2016 한국 소프트웨어 아키텍트 대회 5
API SERVER
API SERVER
API Gateway
WEB SERVER
API Gateway
1. API Gateway & Service Wrapper
제9회 2016 한국 소프트웨어 아키텍트 대회 6
API Gateway
IAM
API Gateway
1. API Gateway & Service Wrapper
2. Identify and management server (IAM)
제9회 2016 한국 소프트웨어 아키텍트 대회 7
Billing Server
Quarter
3. Billing metering – Quarter Provide
Quarter
1. API Gateway & Service Wrapper
2. Identify and management server (IAM)
API Gateway
API Gateway
제9회 2016 한국 소프트웨어 아키텍트 대회 8
Billing Server 3. Billing metering & Quota Management
1. API Gateway & Service Wrapper
2. Identify and management server (IAM)
4. Log agent to Billing metering server
Log
Log API Gateway
API Gateway
제9회 2016 한국 소프트웨어 아키텍트 대회 9
Billing Server 3. Billing metering & Quota Management
1. API Gateway & Service Wrapper
2. Identify and management server (IAM)
4. Log agent to Billing metering server
5. Payment Gateway - Invoice
Third Party App
User
INVOICE
제9회 2016 한국 소프트웨어 아키텍트 대회
Overview
50% 90% 60%
Salesforce eBay Expedia
자체 사이트에서만 정보를 제공하는 것에 비하여 Third Party 사이트를 통해 훨씬 다양한 노출 기회를 확보함으로써 매출 향상에 기여
API 를 통한 매출 발생 비율
제9회 2016 한국 소프트웨어 아키텍트 대회
Overview
50% 90% 60%
Salesforce eBay Expedia
자체 사이트에서만 정보를 제공하는 것에 비하여 Third Party 사이트를 통해 훨씬 다양한 노출 기회를 확보함으로써 매출 향상에 기여
API 를 통한 매출 발생 비율
OCE IAM How this work?
제9회 2016 한국 소프트웨어 아키텍트 대회
Identify and management Open source
OpenAM
Spring Security
KeyClock
원조격의 Solution. 2005년도 부터 시작 되었고, OpenDJ(LDAP서버) 연계등이 처음부터 고려되어 구성 잘 되어있다. 제품이 무겁고 튜닝을 위해서는 높은 학습이 필요하다는 단점이 존재한다.
Spring관련 개발을 한다면 같이 쓰면 편함. 리소스 서버, JWT 지원 하지 않음. Management 기능 지원하지 않음.
RedHat(JBoss) 계열의 제품. JBoss진영에서 하던 유사 프로젝트, PicketLink와 2015년 3월에 합병. JBoss 관련 기술에 적응이 되었다면 쉽게 시작 가능.
제9회 2016 한국 소프트웨어 아키텍트 대회
Keywords : Optimized for Cloud Services
Identify and management – 인증 관리
Fast Response time
Multi Tenancy and
Flexible User schema
Flexible Authentication
Flow
Tenant Branding & Nosql db
JWT Token
Oauth2.0 & Custom
Functionality
제9회 2016 한국 소프트웨어 아키텍트 대회
스코프를 기반한 사용자와 클라이언트 관리
Nosql 유저 스키마 (Document base)
Oauth2.0 스코프와 클라이언트
제9회 2016 한국 소프트웨어 아키텍트 대회
사용자 지정 인증 처리 스크립트와 테스팅
인증 처리 정보의 스크립트 임베드
인증 플로우 설정
사용자 지정 인증 처리 스크립트 (Http / Https / Web socket 지원)
Test UI Console
제9회 2016 한국 소프트웨어 아키텍트 대회
OCEIAM-SERVICEWARRPER - OVERVIEW
50% 90% 60%
Salesforce eBay Expedia
자체 사이트에서만 정보를 제공하는 것에 비하여 Third Party 사이트를 통해 훨씬 다양한 노출 기회를 확보함으로써 매출 향상에 기여
API 를 통한 매출 발생 비율
OCE SERVICE WRAPPER How this work?
제9회 2016 한국 소프트웨어 아키텍트 대회
마이크로 서비스와 Api gateway 멀티테넌시 인증 처리
50% 90% 60%
Salesforce eBay Expedia
자체 사이트에서만 정보를 제공하는 것에 비하여 Third Party 사이트를 통해 훨씬 다양한 노출 기회를 확보함으로써 매출 향상에 기여
API 를 통한 매출 발생 비율
제9회 2016 한국 소프트웨어 아키텍트 대회
OCEIAM-SERVICEWARRPER 아키텍처 특징
50% 90% 60%
Salesforce eBay Expedia
자체 사이트에서만 정보를 제공하는 것에 비하여 Third Party 사이트를 통해 훨씬 다양한 노출 기회를 확보함으로써 매출 향상에 기여
API 를 통한 매출 발생 비율 서블릿 매핑 룰
Bpmn 기반 래퍼 서비스 동작. 싱글 프로세스 옵션 지원.
캐쉬 메모리(빠른 응답처리) Billing metering Integration
제9회 2016 한국 소프트웨어 아키텍트 대회
URI 매핑
1. 서블릿 매핑 룰 2. Path variable 지원 3. 캐쉬 메모리 지원
제9회 2016 한국 소프트웨어 아키텍트 대회
BPMN 기반 래퍼 서비스 동작
Example – calling a product page api
How can i make a function?
제9회 2016 한국 소프트웨어 아키텍트 대회
Electrical Energy 100%
Go to ‘Desktop ’ flow with mergeData
Logging
Input Datas: ProductInfo, ProductReviews, ProductHistory, Request, User, Etc…
Modify in GUI interface
BPMN 기반 래퍼 서비스 동작
제9회 2016 한국 소프트웨어 아키텍트 대회
OutputData of MergeApi
BPMN 기반 래퍼 서비스 동작과 로그
제9회 2016 한국 소프트웨어 아키텍트 대회
Less than 100ms
Quota Check Token validate
Boot up BPMN Instance
Get Authentication User,Client,Scopes
Mapping Process
Metering log
퍼포먼스
Performance for a Composite wrapper process
제9회 2016 한국 소프트웨어 아키텍트 대회
Work as CSB
Micro service
Transaction analysis
Detailed Billing plan
2. API 및 빌링 정책 변경시 유연하게 대처.
Api gateway + BPMN 도입의 가치
The benefits of applying BPMN
3.마이크로 서비스 아키텍처에 최적화
4.문제 발생시 각 트랜잭션의 로그 추적을 통한 빠른 원인파악
1. 업무 프로세스와 연동
제9회 2016 한국 소프트웨어 아키텍트 대회
벨루가는 apache mesos 를 기반한 Cloud Pass 플랫폼. https://github.com/TheOpenCloudEngine/beluga Mesos 는 아파치 Top Level 프로젝트. 트위터, 에어비앤비, 미소스피어가 사용
App deployment
Docker Container
Auto Scale In-out
Haproxy
Resource integration
High availability with beluga – base on apache mesos
워크로드 분산 시스템을 기반한 이중화 구성
제9회 2016 한국 소프트웨어 아키텍트 대회
워크로드 분산 시스템을 기반한 이중화 구성
High availability with beluga – base on apache mesos
제9회 2016 한국 소프트웨어 아키텍트 대회
Road to future
CSB 기능 확장
테스팅 자동화와 버전 관리
워크로드 분산 프레임워크(벨루가) 와 통합
Road to future of OCE-IAM & OCE-SERVICE-WRAPPER
제9회 2016 한국 소프트웨어 아키텍트 대회
Thank you
http://github.com/TheOpenCloudEngine