Azure App Service 검사
Azure App Service는 웹 애플리케이션, REST API 및 모바일 백 엔드를 호스트하는 HTTP 기반 서비스입니다. 원하는 프로그래밍 언어 또는 프레임워크로 개발할 수 있습니다. Windows 및 Linux 기반 환경에서 애플리케이션을 쉽게 실행하고 확장할 수 있습니다.
기본 제공 자동 크기 조정 지원
스케일 업/스케일 다운 또는 스케일 아웃/스케일 인 기능은 Azure App Service에 기본적으로 포함되어 있습니다. 웹앱 사용량에 따라 웹앱을 호스트 중인 기본 머신의 리소스를 늘리거나 줄여 앱을 스케일 업/다운할 수 있습니다. 리소스에는 사용 가능한 코어 수 또는 RAM 크기가 포함됩니다. 스케일 아웃/인은 웹앱을 실행 중인 머신의 인스턴스 수를 늘리거나 줄이는 기능입니다.
컨테이너 지원
Azure App Service를 사용하면 Windows 및 Linux에서 컨테이너화된 웹앱을 배포하고 실행할 수 있습니다. 프라이빗 Azure Container Registry 또는 Docker Hub에서 컨테이너 이미지를 끌어올 수 있습니다. Azure App Service는 컨테이너 인스턴스 오케스트레이션을 위해 다중 Container Apps, Windows 컨테이너 및 Docker Compose도 지원합니다.
연속 통합/배포 지원
Azure Portal은 개발 머신에서 Azure DevOps Services, GitHub, Bitbucket, FTP 또는 로컬 Git 리포지토리에 대한 연속 통합 및 배포를 기본적으로 제공합니다. 웹앱을 위의 원본과 연결하면 App Service가 코드 및 코드의 이후 변경 내용을 웹앱에 자동 동기화하여 나머지 작업을 수행합니다. Azure Container Registry 또는 Docker Hub를 사용하여 컨테이너화된 웹앱에 대한 연속 통합 및 배포도 지원됩니다.
배포 슬롯
웹앱을 배포할 때 표준 App Service 플랜 계층 이상에서 실행하면 기본 프로덕션 슬롯 대신 별도의 배포 슬롯을 사용할 수 있습니다. 배포 슬롯은 자체 호스트 이름을 가진 라이브 앱입니다. 앱 콘텐츠 및 구성 요소는 프로덕션 슬롯을 포함하여 두 배포 슬롯 간에 교환될 수 있습니다.
Linux의 App Service
App Service는 지원되는 애플리케이션 스택에 대해 기본적으로 Linux에서 웹앱을 호스트할 수도 있습니다. 사용자 지정 Linux 컨테이너(컨테이너용 웹앱이라고도 함)를 실행할 수도 있습니다. App Service on Linux는 다양한 언어별 기본 제공 이미지를 지원합니다. 코드를 배포하기만 하면 됩니다. 지원되는 언어 및 프레임워크는 다음과 같습니다. Node.js, Java(JRE 8 및 JRE 11), PHP, Python, .NET 및 Ruby. 애플리케이션에 필요한 런타임이 기본 제공 이미지에서 지원되지 않는 경우 사용자 지정 컨테이너를 사용하여 배포할 수 있습니다.
언어 및 지원되는 버전은 정기적으로 업데이트됩니다. Cloud Shell에서 다음 명령을 사용하여 현재 목록을 검색할 수 있습니다.
az webapp list-runtimes --os-type linux
제한 사항
App Service on Linux에는 몇 가지 제한 사항이 있습니다.
- App Service on Linux는 공유 가격 책정 계층에서 지원되지 않습니다.
- Azure Portal에는 현재 Linux 앱에서 작동하는 기능만 표시됩니다. 기능이 활성화되면 포털에서 활성화됩니다.
- 기본 제공 이미지에 배포된 경우 코드 및 콘텐츠에는 Azure Storage에서 지원하는 웹 콘텐츠용 스토리지 볼륨이 할당됩니다. 이 볼륨의 디스크 대기 시간은 컨테이너 파일 시스템의 대기 시간보다 높고 더 많은 변수가 있습니다. 콘텐츠 파일에 대한 읽기 전용 액세스 권한이 많이 필요한 앱의 경우, 콘텐츠 볼륨이 아닌 컨테이너 파일 시스템에 파일을 저장하는 사용자 지정 컨테이너 옵션을 사용하면 도움이 될 수 있습니다.