Azure에서의 배포 기회

완료됨

Azure는 Java 애플리케이션을 위한 다양한 배포 솔루션을 제공합니다. 이 단원에서는 몇 가지 솔루션에 대해 설명합니다.

Azure에서 제공하는 다양한 Java 애플리케이션 유형의 배포 기회를 보여 주는 다이어그램

가상 머신

Azure VM(가상 머신)은 Windows와 Linux에서 사용할 수 있습니다. Linux VM을 사용하면 Ubuntu, Red Hat 또는 SUSE와 같은 다양한 배포 중에서 선택할 수 있습니다.

VM은 일반적으로 기존 머신을 Azure로 마이그레이션하는 프로세스인 ‘리프트 앤 시프트’의 시작점입니다. OS 업데이트, Java 런타임, 네트워크 설정, 포트 전달, 보안을 처리해야 합니다.

컨테이너

  • AKS(Azure Kubernetes Service)는 관리되는 Kubernetes 서비스입니다. Kubernetes는 컨테이너화된 애플리케이션을 오케스트레이션하는 실질적인 표준입니다. 마이크로 서비스와 중간 규모의 애플리케이션에 적합합니다. AKS는 서비스 검색, 자동 스케일링, 모니터링을 제공합니다. Microsoft는 Virtual Kubelet, Dapr, Open Application Model과 같은 Kubernetes 프로젝트의 협력자입니다.

  • Azure Red Hat OpenShift는 Red Hat에서 관리하는 Kubernetes 버전입니다.

  • Azure Container Instances는 빠른 테스트 및 개념 증명과 사이드카 컨테이너용 솔루션입니다.

Azure App Service

Azure의 Java 애플리케이션용으로 가장 쉽고 가장 간편한 배포 기회 중 하나는 Azure App Service입니다. 자동 스케일링, 통합 모니터링, 보안을 제공합니다.

Azure Container Apps

Azure Container Apps를 사용하면 인프라를 관리할 필요 없이 모놀리식 또는 마이크로 서비스 여부에 관계없이 컨테이너화된 Java 애플리케이션을 빌드하는 데 집중할 수 있습니다. JAR, WAR 또는 소스 코드도 배포할 수 있으며, 플랫폼은 자동으로 메모리를 최적화하고 수요에 따라 애플리케이션의 크기를 조정합니다. 또한 JVM 문제 해결을 위한 고급 진단 기능도 통합하여 Java 앱의 효율적인 성능을 보장합니다.

또한 Azure Container Apps는 유레카 서버 및 Config Server와 같은 관리 Spring 구성 요소를 지원하여 원활한 Spring 통합을 제공합니다. Azure 에코시스템의 일부로, 비용 효율적인 크기 조정과 정교한 메모리 관리를 통해 엔터프라이즈 워크로드를 처리하도록 설계되어 기존 및 최신 애플리케이션 아키텍처에 모두 이상적입니다.

함수

Java 코드를 Azure 함수로 배포할 수 있습니다. 우수한 도구 및 다른 Azure 서비스와의 통합 기능을 활용할 수 있습니다.

다음은 함수 샘플 시나리오입니다.

  • 웹, 모바일 및 IoT(사물 인터넷)에 연결된 백 엔드
  • 봇 또는 실시간 파일 및 스트림 처리
  • 예약된 작업 자동화