28
2016(9) 한국 소프트웨어 아키텍트 대회 통합 인증과 Api gateway 기반한 멀티테넌시 서비스 운영 2016. 7. 21. 회사명 유엔진솔루션즈 발표자 박승필

통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제9회 2016 한국 소프트웨어 아키텍트 대회

2016(제9회) 한국 소프트웨어 아키텍트 대회

통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영

2016. 7. 21.

회사명 유엔진솔루션즈

발표자 박승필

Page 2: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제9회 2016 한국 소프트웨어 아키텍트 대회

API 의 비즈니스적 가치

Api 를 공개함으로써 자사 시스템과 서비스의 가치를 높일 수 있다. Third Party API의 등장 – 신규 비즈니스 기회 의미

Page 3: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제9회 2016 한국 소프트웨어 아키텍트 대회

API 의 비즈니스적 가치

50 50

50%

90

10

90%

60

40

60%

Salesforce eBay Expedia

자체 사이트에서만 정보를 제공하는 것에 비하여 Third Party 사이트를 통해 훨씬 다양한 노출 기회를 확보함으로써 매출 향상에 기여

API 를 통한 매출 발생 비율

Page 4: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제9회 2016 한국 소프트웨어 아키텍트 대회 4

API SERVER

API SERVER

API SERVER

What technology do we need?

? ?

?

Page 5: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제9회 2016 한국 소프트웨어 아키텍트 대회 5

API SERVER

API SERVER

API Gateway

WEB SERVER

API Gateway

1. API Gateway & Service Wrapper

Page 6: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제9회 2016 한국 소프트웨어 아키텍트 대회 6

API Gateway

IAM

API Gateway

1. API Gateway & Service Wrapper

2. Identify and management server (IAM)

Page 7: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제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

Page 8: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제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

Page 9: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제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

Page 10: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제9회 2016 한국 소프트웨어 아키텍트 대회

Overview

50% 90% 60%

Salesforce eBay Expedia

자체 사이트에서만 정보를 제공하는 것에 비하여 Third Party 사이트를 통해 훨씬 다양한 노출 기회를 확보함으로써 매출 향상에 기여

API 를 통한 매출 발생 비율

Page 11: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제9회 2016 한국 소프트웨어 아키텍트 대회

Overview

50% 90% 60%

Salesforce eBay Expedia

자체 사이트에서만 정보를 제공하는 것에 비하여 Third Party 사이트를 통해 훨씬 다양한 노출 기회를 확보함으로써 매출 향상에 기여

API 를 통한 매출 발생 비율

OCE IAM How this work?

Page 12: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제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 관련 기술에 적응이 되었다면 쉽게 시작 가능.

Page 13: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제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

Page 14: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제9회 2016 한국 소프트웨어 아키텍트 대회

스코프를 기반한 사용자와 클라이언트 관리

Nosql 유저 스키마 (Document base)

Oauth2.0 스코프와 클라이언트

Page 15: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제9회 2016 한국 소프트웨어 아키텍트 대회

사용자 지정 인증 처리 스크립트와 테스팅

인증 처리 정보의 스크립트 임베드

인증 플로우 설정

사용자 지정 인증 처리 스크립트 (Http / Https / Web socket 지원)

Test UI Console

Page 16: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제9회 2016 한국 소프트웨어 아키텍트 대회

OCEIAM-SERVICEWARRPER - OVERVIEW

50% 90% 60%

Salesforce eBay Expedia

자체 사이트에서만 정보를 제공하는 것에 비하여 Third Party 사이트를 통해 훨씬 다양한 노출 기회를 확보함으로써 매출 향상에 기여

API 를 통한 매출 발생 비율

OCE SERVICE WRAPPER How this work?

Page 17: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제9회 2016 한국 소프트웨어 아키텍트 대회

마이크로 서비스와 Api gateway 멀티테넌시 인증 처리

50% 90% 60%

Salesforce eBay Expedia

자체 사이트에서만 정보를 제공하는 것에 비하여 Third Party 사이트를 통해 훨씬 다양한 노출 기회를 확보함으로써 매출 향상에 기여

API 를 통한 매출 발생 비율

Page 18: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제9회 2016 한국 소프트웨어 아키텍트 대회

OCEIAM-SERVICEWARRPER 아키텍처 특징

50% 90% 60%

Salesforce eBay Expedia

자체 사이트에서만 정보를 제공하는 것에 비하여 Third Party 사이트를 통해 훨씬 다양한 노출 기회를 확보함으로써 매출 향상에 기여

API 를 통한 매출 발생 비율 서블릿 매핑 룰

Bpmn 기반 래퍼 서비스 동작. 싱글 프로세스 옵션 지원.

캐쉬 메모리(빠른 응답처리) Billing metering Integration

Page 19: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제9회 2016 한국 소프트웨어 아키텍트 대회

URI 매핑

1. 서블릿 매핑 룰 2. Path variable 지원 3. 캐쉬 메모리 지원

Page 20: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제9회 2016 한국 소프트웨어 아키텍트 대회

BPMN 기반 래퍼 서비스 동작

Example – calling a product page api

How can i make a function?

Page 21: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제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 기반 래퍼 서비스 동작

Page 22: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제9회 2016 한국 소프트웨어 아키텍트 대회

OutputData of MergeApi

BPMN 기반 래퍼 서비스 동작과 로그

Page 23: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제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

Page 24: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제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. 업무 프로세스와 연동

Page 25: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제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

워크로드 분산 시스템을 기반한 이중화 구성

Page 26: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제9회 2016 한국 소프트웨어 아키텍트 대회

워크로드 분산 시스템을 기반한 이중화 구성

High availability with beluga – base on apache mesos

Page 27: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제9회 2016 한국 소프트웨어 아키텍트 대회

Road to future

CSB 기능 확장

테스팅 자동화와 버전 관리

워크로드 분산 프레임워크(벨루가) 와 통합

Road to future of OCE-IAM & OCE-SERVICE-WRAPPER

Page 28: 통합 인증과 Api gateway 를 기반한 멀티테넌시 서비스 운영 2-6... · 2016. 7. 27. · 제9회 2016 한국 소프트웨어 아키텍트 대회. 2016 (제. 9. 회)

제9회 2016 한국 소프트웨어 아키텍트 대회

Thank you

http://github.com/TheOpenCloudEngine