서버리스 컴퓨팅
- 사용자를 위해 설정 및 관리되는 실행 환경을 설명하는 데 사용되는 용어
- 코드를 작성하여 또는 시각적 개체 편집기에서 구성 요소를 연결 및 구성하여 자신이 원하는 작업을 지정한 다음, 타이머 또는 HTTP 요청과 같은 기능을 트리거하는 동작을 지정하기만 하면 됨
- 중단에 대해 걱정할 필요 없음
- 코드의 실제 사용량에 대해서만 비용을 지불
- 서버리스 컴퓨팅 솔루션: Azure Functions, Azure Logic Apps
제품 옵션 확인
서버리스 컴퓨팅의 핵심
- 사용자가 서버를 설정하거나 유지 관리할 책임이 없음
- 사용자는 인스턴스 생성 후 코드만 추가하면 됨
- 이벤트에 응답하도록 서버리스 앱 구성(이벤트: REST 엔드포인트, 타이머, Azure 서비스로부터 받은 메시지)
- 이벤트에 의해 트리거된 경우에만 실행
- 크기 조정 및 성능 자동 처리
- 사용한 리소스에 대해서만 요금 청구
Azure Functions
서버리스 컴퓨팅 서비스
실행 횟수 및 각 실행의 실행 시간을 기반으로 가격이 책정
- 이벤트에 대한 응답으로 실행되는 클라우드에서 널리 사용되는 프로그래밍 언어를 사용하여 단일 메소드 또는 함수를 호스트가능
- 함수는 C#, Python, JavaScript, Typescript, Java 및 PowerShell과 같은 여러 가지 일반적인 프로그래밍 언어로 작성 가능
- 자동으로 크기가 조정되며 함수가 트리거될 때만 요금이 누적 (수요가 가변적인 경우에 좋음)
- 상태 비저장 환경. 이벤트에 응답할 때마다 다시 시작되는 것처럼 작동. 상태가 필요한 경우 Azure 스토리지 계정에 연결
- 서비스를 실행하는 코드에만 관심이 있고 기본 플랫폼이나 인프라에는 관심이 없는 경우에 적합합 (이벤트에 대한 응답으로 작업을 수행해야 하는 경우에 사용)
Azure Logic Apps
서버리스 오케스트레이션 서비스
실행 횟수 및 사용되는 커넥터 유형을 기반으로 가격이 책정
- 클라우드 서비스로 호스트되는 로우 코드/코드 없는 개발 플랫폼
- 앱, 데이터, 시스템 및 서비스를 통합해야 하는 경우 작업, 비즈니스 프로세스 및 워크플로를 자동화하고 오케스트레이션하는 데 유용
- 앱 통합, 데이터 통합, 시스템 통합, EAI(엔터프라이즈 애플리케이션 통합) 및 B2B(Business-to-Business) 통합을 다룸
- 웹 기반 디자이너에서 설계되며 코드를 작성하지 않고도 Azure 서비스에서 트리거된 논리를 실행할 수 있음
- 커넥터를 사용하여 트리거를 작업에 연결하여 앱을 빌드 (트리거: 앱을 실행한 다음 새 메시지를 큐로 보내거나 HTTP 요청을 발생시키는 이벤트)
결정 기준 분석
1. 잘 알려진 API에서 오케스트레이션 수행 필요 여부
⇒ Logic Apps를 사용
이는 다양한 이질적인 서비스를 연결하여 워크플로의 여러 단계를 통해 데이터를 전달하고 처리하는 데 탁월
2. 사용자 지정 알고리즘을 실행하거나 특수한 데이터 구문분석 및 데이터 조회 수행 필요 여뷰
⇒ Azure Functions를 사용
이를 통해 복잡한 알고리즘 또는 데이터 조회 및 구문 분석 작업을 간결하게 빌드
3. 기존의 자동화된 작업이 명령형 프로그래밍 언어로 작성되었는지 여부
⇒ Azure Functions를 사용
코드 작성(명령형)보다 시각적 개체(선언적) 워크플로를 선호하는지 여부