azure functions

9
Microservice 를 위한 Azure API Management Functions 그리고 IoT Hub + Stream Analytics 주민규 (MinGyu, Ju) (주)리커시브소프트(RecursiveSoft Inc.)

Upload: recursivesoft-inc

Post on 03-Mar-2017

68 views

Category:

Technology


1 download

TRANSCRIPT

Microservice를위한Azure API Management 와Functions그리고 IoT Hub + Stream Analytics

주민규 (MinGyu,�Ju)

(주)리커시브소프트(RecursiveSoft Inc.)

Microservice ?

u 독립적으로배포 가능한 서비스들의묶음으로 Software�Application�을 설계하는 방법.

u 작은 서비스(service)들의집합으로써애플리케이션을개발.

u 서비스들은각각의 프로세스고,�서로 HTTP, AMQP,�REST�API�같은 통신메커니즘을 사용.

u Polyglot 가능 / 서비스 관리 분리 / DB 분리 / 사소한수정 후 전체 재배포X

u 서버리스 서비스이므로서버 관리불필요!

u 처음 개발 시사용했던 구닥다리기술에서 쉽게 벗어나고, 개발대체 인력 수급 편의.

u 새로운 걸 추가하면서기존 로직이변경되면 무슨 일이생길지 모른다는두려움에서 해방!

Azure Functions ?

u 이벤트 기반주문형 계산 :�초기 비용 없음, 사용한 만큼만요금 지불

u 이벤트 트리거및 데이터 바인딩집합을 지원하는, 서버를 사용하지않는 개발 환경을제공

u Functions�비용은관측된 리소스 사용량을GB-s(기가바이트초)�단위로측정하여 청구

u 리소스 사용량= 평균 메모리크기(단위:�기가바이트) X 실행 시간(단위:�초)

u Functions의메모리사용 크기는 최소128MB ~ 최대 1,536MB

u 한 달에 400,000�GB-s 무료 처리.

왜 Sensor Data 수집에Azure Functions 를 ?

u 유입되는 데이터를Blob�저장소를 이용할경우, 디바이스별로 파일명을나눠서 저장 가능.

u Blob�저장소 저장시 원하는 시간 간격으로파일 생성 가능 (파일명을Date/Time)

u 특정 시간 대, 또는 일정시간 간격으로 트래픽이집중될 때, 비용 부담 없이Auto�Scaling 된다.

u 유입 Data�를 분류하고정밀?가공하여, Blob 또는 SQL�Server로나누어 저장할수 있다.

u 센서 데이터수집과 같이 간단한작업을 장기간 수행함에있어 보안에 대한근심을 줄인다.

API Management ?

Azure Functions 에는 Post 방식의 REST API Endpoint 를이미제공! 하지만연동한다면?

구현의예): http(s)://recursivesoft.azure-api.net/FirstFunc

# Settings 메뉴에서Web API name 를적당히정한다.

# Web service URL 과Web API URL suffix 에 Functions 에서자동으로생성된주소를나눠적는다.

예) Web service URL : https://recursivesoft.azurewebsites.net/api

예) Web API URL suffix : FirstFunc

# Operations 탭에서 POST 형 operation 을추가한다.

예) // HTTP verb : POST // URL template : /FirstFunc // Display name : /FirstFunc

# 좌측의 Request 에서 Parameters 를선택

// NAME : code // Description : master key // Type : string // Values : zdajsfe.....

// Required : check //Body : json 형태로예) {"first":"1", "last":"10"}

IoT Hub ?u IoT Device 연결, 모니터링및제어.

u 초기 비용 없음, 사용한만큼만 요금 지불.

u 장치단위인증을활용하여 IoT솔루션의보안을향상.

u Azure 포털을통해추가적인 IoT Hub 단위를프로비저닝할수있다. 수동!

u 요청및응답은최대 8KB, 유료 SKU(S1, S2 및 S3)에대해 4KB 블록단위로측정되므로, 예를들어 S1, S2

또는 S3 버전을통해전송된 8KB 요청은 2개메시지로비용이청구.

u IoT Hub 단위의소비량은일단위로측정되며청구서는월단위로생성.

u 무료 <->유료버전으로전환할수없습니다.

Stream Analystics ?

u 초기비용없음 /사용한만큼만요금지불 / 시간당청구

u 표준스트리밍단위는계산, 메모리및처리량의혼합.

u 스트리밍단위는Azure Portal이나 Stream Analytics 관리 API를통해선택.

u 필요한스트리밍단위에영향을미치는주요요소는쿼리복잡성, 쿼리대기시간및처리하는데이

터의양. 스트리밍단위는더높은처리량달성을위해작업을확장하는데사용될수있다. 쿼리의

복잡성과필요한처리량에따라응용프로그램의성능요구사항을달성하려면더많은스트리밍

단위가필요

감사합니다.

(주)리커시브소프트 대표주민규[email protected]

한국Azure 사용자그룹krazure.club