학습 개요
- 일반적으로 클라우드 기반 정보 서비스 구현 시, 리소스 풀에서 VM과 같은 유휴 리소스를 할당 받아 배치하고 애플리케이션 실행 환경을 구축함
- 클라우드의 가용성과 탄력성을 이용하여 온프레미스 대비 비용 절감적 운영 방식이지만 지속적으로 가동이 필요한 서비스의 형태가 아닌 불규칙 또는 간헐적으로 요청되는 서비스일 경우 리소스 점유로 불필요한 비용이 발생할 수 있음
- 이러한 비효율성을 해결하기 위해 CSP는 리소스 점유 없이 실행 코드와 리소스를 분리하여 인프라를 적게 유지하고, 비용을 절감할 수 있도록 하는 FaaS를 제공함
- Azure의 FaaS인 함수 앱 서비스에 기반하여 공개된 날씨 데이터를 수집하여 날씨 정보를 제공하는 HTTP 기반 서비스를 구현함
학습 목표
- 서버리스 컴퓨팅의 개념에 대해 이해할 수 있음
- 공개 데이터의 개념에 대해 설명할 수 있음
- FaaS를 이용하여 애플리케이션을 구현할 수 있으
연습 문제
프로그램이나 모바일 앱이 VM 구축없이 작은 코드를 실행할 수 있는 Azure의 FaaS는?
a. 함수 앱(Functions)
- 다양한 CSP가 FaaS를 제공하고 있으며 iron.io와 같이 FaaS만 지원하는 CSP도 있음
- Azure의 FaaS는 Function(한글명 함수 앱)
다음은 Azure의 함수 앱의 ‘기본’ 탭이다. 소스 코드의 프로그래밍 언어를 결정하는 항목은?
a. 런타임 스택
- 함수 앱의 기본 탭은 프로젝트 세부 정보, 인스턴스 정보, 운영 체제, 계획으로 구성됨
- 리소스 그룹은 청구된 비용 지불 방식, 함수 앱 이름은 함수 앱의 ID, 런타임 스택은 프로그래밍 언어, 버전의 사용할 인터프리터의 버전을 결정함
Azure 함수 앱에서 함수를 호출하는 이벤트 유형을 무엇이라고 하는가?
a. 트리거(trigger)
- Azure 함수 앱은 특정 이벤트 발생 시 함수가 실행될 수 있도록 트리거를 사용함
정리 하기
- Azure Functions는 프로그램이나 모바일 앱이 인프라 걱정을 하지 않고도 작은 코드를 실행할 수 있는 서비스임
- Azure Functions는 .Net, Node.js, Python, Java, PowerShell Core 등의 다양한 프로그래밍 스택을 제공함
- Azure Functions는 VS Code 등의 IDE뿐만 아니라 포털에서도 개발 가능한 환경을 제공함
- Azure Functions는 HTTP trigger, Timer trigger, Azure Queue Storage trigger 등 다양한 방식으로 트리거를 동작시키는 템플릿을 제공함
- Azure Functions 사용 시 Function, Anonymous, Admin 레벨의 접근 권한을 설정할 수 있음
- 함수 개발 시 개발자 메뉴 ‘통합’에서 개발하는 함수의 전반적인 동작 단계를 확인 및 설정할 수 있음
- API 제공사로부터 발급 받은 API key는 API 호출 시 사용자 인증을 위해 필수적임