서버리스 API 처리기 빌드하기  

API 호출에 대응하는 오토스케일 액션 생성하기

Last updated

Apache OpenWhisk와 같은 서버리스 플랫폼은 수요에 따라 자동으로 확장되는 런타임을 제공하므로 클라우드 자원에 대한 소요 비용과 비즈니스 가치 이익의 중간에 위치합니다. 이 개발자 과정에서는 OpenWhisk를 사용하여 HTTP REST API 호출을 엔티티의 작성, 읽기, 갱신 및 삭제와 같은 비즈니스 로직 함수에 매핑하는 방법과 요청의 규모에 직접적인 상관 관계가 있는 각 API 메소드 핸들러가 어떻게 독립적으로 확장되고 청구되는지 보여줍니다.


‘코드 보기’ 버튼을 클릭하면 GitHub에서 한글 README 파일을, ‘동영상 데모 보기’ 버튼을 클릭하면 Youtube에서 한글자막을 선택하여 보실 수 있습니다.

By Daniel Krook

Overview

이 과정은 HTTP REST API 호출에 대응하여 자동으로 확장되는 코드를 실행하는 서버리스, 이벤트 중심 아키텍처의 힘을 보여줍니다. API 엔드 포인트가 호출 되기 전까지 소비되는 리소스가 없습니다. 리소스가 호출 될 때 현재 부하와 정확히 일치하도록 프로비저닝됩니다.

이 과정에서는 MySQL 데이터베이스에 데이터를 쓰고 읽는 네 가지 OpenWhisk 액션(JavaScript로 작성)을 보여 주며 액션이 어떻게 데이터 서비스와 함께 동작하고 HTTP 요청에 응답하여 로직을 실행하는지 보여줍니다.

첫 번째 액션은 HTTP POST 요청에 대해 매핑됩니다. 그리고 제공된 고양이 이름과 색깔 정보를 데이터베이스에 추가합니다.

두 번째 액션은 PUT 요청에 매핑되어 기존 고양이에 대한 필드를 갱신합니다. 세 번째 액션은 주어진 고양이에 대한 정보를 반환하는 GET 요청에 매핑됩니다. 네 번째 액션은 주어진 고양이 데이터를 삭제합니다.

Bluemix의 Node.js 런타임은 NPM 모듈의 내장 화이트리스트 를 제공합니다. 이 데모에서는 MySQL 클라이언트와 같은 추가적인 Node.js 종속성이 고도의 확장성을 제공하기 위한 ZIP파일로 패키지화되는 커스텀 액션에 대해 안내합니다.

Flow

  1. API 클라이언트가 REST API에 HTTP POST 요청을 보냅니다..
  2. API 게이트웨이는 요청을 받아 OpenWhisk 작업으로 전달합니다..
  3. OpenWhisk 액션은 요청된 body parameter를 추출하고 NPM MySQL 클라이언트를 사용하여 SQL INSERT를 생성합니다.
  4. 고양이 데이터는 데이터베이스에 저장됩니다.
  5. 고양이 데이터를 읽고, 갱신하고, 삭제하는 GET, PUT 및 DELETE 요청에 대한 흐름이 반복됩니다.

Components

OpenWhisk

확장성이 뛰어난 서버리스 환경이며, 온디맨드 방식으로 코드를 실행합니다. (FaaS - Function as a service로도 불림)

Compose for MySQL

가장 인기있는 관계형 오픈소스 데이터베이스입니다

Technologies

API Management

API를 생성하거나, 해당API에 대한 문서화, 접속 통제 및 통계 추적이 가능한 형태의 API 제공을 가능하게 함

Serverless Computing

이벤트에 대응해 코드를 실행하도록 하는 이벤트-액션 플랫폼(FaaS, Function as a service로도 불림)입니다.

Related Blogs

귀하가 입력한 쇼트코드 검색조건에 매치되는 포스팅이 존재하지 않습니다.

Related Links

서버리스 아키텍쳐가 가진 매력이 무엇일까요?(영문)

서버리스 아키텍처는 올해 클라우드 컴퓨팅에서 가장 인기있는 트렌드 중 하나입니다. 이 접근 방식을 애플리케이션 개발 및 배포 비용 측면에서 매우 매력적인 솔루션으로 만들기 위해 여러가지 기술적인 기능과 비즈니스 요소가 함께 제공됩니다.

오픈소스, 이벤트 중심, 서버리스 플랫폼을 갖춘 클라우드 네이티브 아키텍쳐(영문)

서버리스 아키텍처로 구현된 새로운 클라우드 프로그래밍 모델이 등장하면서 개발자는 자신의 애플리케이션을 만드는것에는 더 집중하고 인프라를 관리는 좀 덜 하게 되었습니다. IBM이 시작한 OpenWhisk 프로젝트는 클라우드 고유의 이벤트 중심 애플리케이션을 구현할 수 있는 오픈 소스 플랫폼을 제공합니다.