디지털유통을위한서버리스 플랫폼구축전략 · 디지털유통을위한서버리스...

36
디지털 유통을 위한 서버리스 플랫폼 구축 전략 김태영 부장 CSE, 한국마이크로소프트

Upload: others

Post on 30-Aug-2019

9 views

Category:

Documents


0 download

TRANSCRIPT

디지털 유통을 위한 서버리스플랫폼 구축 전략

김태영 부장

CSE, 한국마이크로소프트

Sub Title디지털 유통을 위한

서버리스 플랫폼 구축 전략

성숙해진 클라우드 PaaS 서비스

응용프로그램 플랫폼의 진화

Serverless, 차세대 응용프로그램을 위한 플랫폼

앱을 서버리스가 되도록 하려면 어떻게 설계해야 할까?

Serverless란 무엇일까?

Serverless의 혜택

Serverless로 더욱 빠르게 앱을 개발

응용프로그램 플랫폼의 진화

Frontend

Middle-Tier

Backend

Microservice 1

Microservice 2

Microservice 3

Microservice 4

Microservice 5

Function 1

Function 2

Function 3

Function 4

Function 5

Function 6

Function 7

Function 8

Function 9

• 패턴이기 보다는 신뢰할 수 있는 시스템• 서버리스 시스템에 부합하는 패턴들이 별도로 존재함

• 서버리스 응용프로그램• 개발자가 서버를 구축하거나 관리할 필요가 없는 응용프로그램

• 훌륭한 PaaS 혹은 Micro-PaaS

• FaaS(Function as a Service)는 서버리스의 일부

서버리스(Serverless)의 의미

서버리스 시나리오

...?

이벤트에응답할필요가있는모든것에사용할수있다

Serverless의 기술적 모습

웹사이트에 차량 업데이트 반영 VM/Container 구성

빌드/패치/배포 (OS)

인프라(VM/Container) 모니터링

업데이트 배치들을 생성

차량 업데이트와 배치 처리된웹사이트 변경 간의 지연 발생

지역 동기화 로직 구축

VM/Container 구성

빌드/패치/배포 (OS)

인프라(VM/Container) 모니터링

차량 변경 시에 웹사이트에실시간으로 반영

리전 간 동기화를 자동화

DB에 평점 업데이트 반영

지역 간에 일관성 관리

이벤트 수집 엔진으로 Log를스트림

VM/Container/WebJobs 구성

빌드/패치/배포 (OS)

인프라(VM/Container) 모니터링

파트너 수집(integration)시스템에 연결

Data 로그 수집

Log와 live POS 피드 분석

Log와 라이브 POS 피드(feed)를분석

Data를 기반으로 사용자 지정알림(notifications)을 푸쉬

사용자 지정 알림을 푸쉬

인프라 사용자 지정

파트너 수집(integration)시스템에 연결

Data 로그 수집

18© Cloudera, Inc. All rights reserved.

Azure Functions

Code EventsAzure Functions

Functions 이란

Azure Functions

• 다양한 개발 언어를 지원

• C#, Node.js, Java, Python, F# 등

• 완전한 오픈 소스• https://github.com/Azure/Azure-Functions

• 다양한 OS를 지원• Windows, Linux, Mac OS

• Container Service에서도 사용 가능

• 로컬 개발 및 디버깅을 지원• Visual Studio(Windows only)

• Visual Studio Code(Linux, Mac OS, Windows)

Azure Function 특별한 점

• Function은 하나의 작업 단위

• Function은 트리거에 의해 호출되고 실행

• Function은 input, output을 갖는다

“Functions” 프로그래밍 모델

• Functions은 반드시 “Do One Thing”을 해야 한다

• Functions은 반드시 멱등적(idempotent)이어야 한다

• Functions은 반드시 가능한 한 빨리 끝나야 한다

“Functions” 프로그래밍 모델, 기본 규칙

1

Main Gateway

Session Management

Routing Logic

Web APIs

On-Premises

Logic A Logic B

Other APIsOn Cloud

200 OK

예시 : A 유통사 서버리스 예시

Proactive Response

예시 : 초당 10 만건의 이벤트 처리 예시

Processing 100,000 Events Per Second on Azure Functions

https://blogs.msdn.microsoft.com/appserviceteam/2017/09/19/processing-100000-events-per-second-on-azure-functions/

Logic App

• 비주얼 디자이너를 사용하여 트리거와 액션을 갖는 워크플로우를 빠르게 생성 및 통합

• 다양한 응용프로그램, 데이터, 서비스와 연결

• Azure Functions와 연결 및 오케스트레이션

Azure Logic Apps

클라우드 기반 워크플로우

강력한 제어 흐름 제공

서로 다른 역할의Functions과 API들을 연결

선언적으로 정의 가능. 소스제어 체크인하거나 배포 시에활용 가능

Logic Apps워크플로우디자이너

170개 이상 제공, 계속 늘어나는 중

Logic Apps Connector

…. and more!

Logic Apps connects everything

• Try Functions – https://functions.azure.com/try

• Try App Service – https://tryappservice.azure.com

Azure 서버리스를 시작하려면