View
9
Download
0
Category
Preview:
Citation preview
응용프로그램 플랫폼의 진화
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 로그 수집
• 다양한 개발 언어를 지원
• 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/
• 비주얼 디자이너를 사용하여 트리거와 액션을 갖는 워크플로우를 빠르게 생성 및 통합
• 다양한 응용프로그램, 데이터, 서비스와 연결
• Azure Functions와 연결 및 오케스트레이션
Azure Logic Apps
클라우드 기반 워크플로우
강력한 제어 흐름 제공
서로 다른 역할의Functions과 API들을 연결
선언적으로 정의 가능. 소스제어 체크인하거나 배포 시에활용 가능
Logic Apps워크플로우디자이너
• Try Functions – https://functions.azure.com/try
• Try App Service – https://tryappservice.azure.com
Azure 서버리스를 시작하려면
Recommended