적합한 대상 선택

완료됨

클라우드, 특히 Azure에 Java 애플리케이션을 배포하는 데 사용할 수 있는 옵션을 대해 설명했습니다. 하지만 특정 요구 사항에 가장 적합한 옵션은 무엇일까요? 다음은 선택하는 데 도움이 되는 가이드입니다.

PaaS 또는 인프라 제어?

가장 먼저 해야 할 질문은 애플리케이션에 대한 모든 권한을 원하는지 또는 PaaS(Platform as a Service) 솔루션을 사용할 것인지 여부입니다. 이 질문에 대한 답변은 일반적으로 함께 작업하는 팀의 요구 사항에 따라 달라집니다.

PaaS 솔루션은 더 쉽게 사용할 수 있습니다. 많은 팀은 비용이 낮고 안정성과 보안이 높다는 점에서 PaaS 솔루션을 선호합니다.

팀은 다음과 같은 이유로 PaaS 솔루션을 선택합니다.

  • 빠르게 프로덕션으로 전환해야 하며 운영 팀이 제한적이거나 없습니다.
  • 고가용성, 보안, 규정 준수와 관련된 특정 요구 사항이 있으며 관리형 서비스의 기본 제공 기능으로 이런 요구 사항을 충족할 수 있습니다.
  • 프로덕션급 인프라를 유지 관리하기 위한 리소스나 의지가 없을 수 있습니다.

그러나 일부 팀은 주로 다음과 같은 이유로 인프라에 대한 모든 권한을 원합니다.

  • 특정 소유 소프트웨어나 일반적이지 않은 Java 기능을 사용하는 경우 관리형 서비스가 적합하지 않을 수 있습니다. 예를 들어 네트워크 브로드캐스팅을 사용하여 애플리케이션 노드를 찾으려는 경우, 관리형 서비스에서는 이 기능을 사용할 수 없습니다.
  • 관리형 서비스에서 실행할 수 없는 특정 네이티브 라이브러리를 사용하려는 경우도 있습니다.

Azure의 PaaS 솔루션 선택

서비스 솔루션으로 플랫폼에서 Java 워크로드를 실행하기 위해 Azure는 다음과 같은 네 가지 옵션을 제공합니다.

  • Azure Functions: 스케일링 성능이 매우 높은, 간단한 이벤트 기반 워크로드에 가장 적합합니다.
  • Azure 앱 서비스: Jakarta EE 워크로드를 실행하는 데 가장 적합합니다.
  • Azure Spring Apps: Spring Boot 애플리케이션, 특히 Spring Cloud 마이크로 서비스를 실행하는 데 가장 적합합니다.

Azure의 인프라 제어 선택

배포에 대한 모든 권한이 필요한 경우를 위해 Azure는 다음 두 가지 주요 옵션을 제공합니다.

  • Azure Container Apps: 간단한 컨테이너 기반 Java 모놀리식 애플리케이션을 실행하는 데 가장 적합합니다.
  • AKS(Azure Kubernetes Service): 더 복잡한 컨테이너 기반 Java 애플리케이션에 가장 적합합니다. 또한 풍부한 AKS 에코시스템의 혜택도 누릴 수 있습니다.
  • Azure 가상 머신: 모든 종류의 워크로드를 실행하거나, 애플리케이션을 다시 설계하지 않고 기존 온-프레미스 인프라에서 “이동 전환(lift & shift)”하려는 경우에 가장 적합합니다.

결정에 도움이 되는 마지막 조언

대상 결정은 첫 단계일 뿐입니다. 서비스를 선택하는 경우 다음 사항에 유의하세요.

  • 유지 관리 작업은 사용자가 선택한 서비스 유형과 운영 팀의 기술 세트에 따라 크게 달라집니다.
  • 개발자는 플랫폼을 매일 사용하며, 서비스가 뛰어난 개발자 환경을 제공하는 경우 생산성이 향상됩니다.

두 요소 모두, 팀에 따라 선택이 달라집니다. 모범 사례는 팀의 전문 지식 및 선호도와 일치하는 대상을 선택하는 것입니다.