Azure Serverless 서비스

노준영·2025년 2월 24일
0

Azure실습

목록 보기
6/10

Serverless란?

  • 클라우드 서비스 공급자가 서버를 실행하고 머신의 리소스를 동적으로 관리하는 클라우드 컴퓨팅 실행 모델
  • 용량 단위 구매가 아닌 소비 단위 구매
  • 일반적으로 실행 횟수, 실행 시간( CPU), 실행 용량(Memory)을 기반으로 과금 됨
  • like 서비스를 제공하기 위해 대기하는 웨이터

Azure Serverless 서비스

  • Azure Functions: 기본 플랫폼이나 인프라를 구성하지 않고 소스 코드를 실행할 수 있는 서비스. 이벤트 기반으로 동작
  • Azure Logic App: 앱, 데이터, 시스템, 서비스를 통합하여 작업 또는 비즈니스 프로세스 및 워크플로를 자동화할 수 있는 서비스
  • Azure Event Grid: 균일한 이벤트 소비를 위해 발행-구독 모델을 사용하는 완전 관리형 지능형 이벤트 라우팅 서비스

Azure Functions 만들기

  • Azure portal에서 함수앱을 검색한다.
  • 만들기를 클릭한다.
  • 나는 함수가 실행중일때 비용을 지불하는 사용량 계획을 선택했다.
  • 리소스 그룹을 새로 만들고 .NET 스택과 windows 운영체제를 선택하고 검토 + 만들기를 한다.
  • 리소스가 생성되면 함수앱으로 들어온다.
  • 함수를 만드려면 Visual Studio, VS Code, CLI를 사용하라고 하는데, 나는 VS Code환경에서 작업했다.

VS Code가 설치되어 있어야하고 VS Code 확장에서 Azure Functions를 설치하고 로그인했다.

  • 프로젝트를 담을 폴더하나를 생성하고 폴더에서 VS Code를 실행한다.
  • 아래 폴더 버튼을 누르면 위에 생성 옵션이 생긴다.




  • 순서대로 따라하면 샘플 코드가 생기고 F5를 눌러 코드를 실행 할 수 있다.
  • http url이 하나 생기는데 이 url로 접속하면,
  • 함수가 잘 실행되고 있다는 텍스트를 확인할 수 있다.

Azure App Service Plan

  • Web App, API App, Moblie App, Logic App, Functions가 실행되기 위해 생성되는 리소스
  • 실제 과금 단위
  • App Service plan (Windows): Windows IIS 기반의 Plan. 용량단위 구매로 최대 10대까지 확장 가능.
  • App Service plan (Linux): Linux 기반의 Plan. 용량단위 구매로 최대 10대까지 확장 가능
  • Consumption Plan: Windows 또는 Linux를 기반으로 사용한 만큼 지불하는 Plan

Web App

  • 웹 어플리케이션을 호스팅하는 완전 관리형 서비스
  • 사용자는 운영체제의 Type을 선택할 수 있으나 운영체제를 조작할 수 없음
  • Code만 업로드 하거나 Container를 이용하여 운영 가능
  • Slot을 만들어 서로 Swap을 할 수 있으며 이로 DevOps를 가속화 가능
  • 여러 언어 및 프레임워크 지원
  • SaaS 플랫폼과 On-premise 데이터 연결
  • 보안과 규정 준수
  • Visual Studio와 통합 됨

Azure Web App 만들기

  • Azure portal에서 App Services를 검색한다.
  • 웹앱을 만든다.
  • 리소스 그룹을 생성하고 게시를 컨테이너로 설정한다.

문제

  • 여기서 문제가 발생하였다.
  • microsoft/aci-helloworld 이미지가 존재하지 않는 상태라서
  • 배포하였더니
  • Application Error가 발생하였다.
  • 그래서 이미지를 nginx:latest 로 생성하였다.
  • 리소스로 이동하여
  • 도메인으로 접속하면
  • 정상적으로 배포가 된것을 확인할 수 있다.

이런식으로 컨테이너에 웹앱을 올리면 정상적으로 실행되는것을 확인할 수 있다.

Function과 Web App 둘 다 App Service에서 동작을 하고, Function은 소비기반 모델으로 동작한다.
코딩한 것을 올려서 사용만 하면 되는 엄청 편리한 플랫폼을 사용해보았다.

웹앱을 이용해서 간편하게 배포하자!

profile
Good Morning

0개의 댓글