Quarkus 애플리케이션 만들기

완료됨

이 단원에서는 Quarkus 애플리케이션을 만드는 방법을 알아봅니다.

Azure Container Apps

Azure Container Apps는 Azure의 완전 관리형 서버리스 컨테이너 서비스입니다. 이 서비스를 사용하면 오케스트레이션에 관해 신경 쓰거나 Kubernetes와 같은 복잡한 인프라를 관리할 필요 없이 컨테이너화된 애플리케이션을 실행할 수 있습니다. 선호하는 프로그래밍 언어나 프레임워크를 사용하여 코드를 작성합니다. (여기서는 Java와 Quarkus를 사용하지만 무엇이든 사용할 수 있습니다.) 또한 분산 애플리케이션 런타임(Dapr)을 완전히 지원하여 마이크로 서비스를 빌드할 수 있습니다. 컨테이너가 Kubernetes 이벤트 기반 자동 스케일링(KEDA)에서 제공하는 HTTP 트래픽 또는 이벤트에 따라 동적으로 스케일링됩니다.

해당 논리를 Container Apps에 호스트하고 해당 데이터베이스를 PostgreSQL 데이터베이스에 호스트하는 Quarkus 애플리케이션을 만들려고 합니다.

Azure Database for PostgreSQL

Azure Database for PostgreSQL은 오픈 소스 Postgres 데이터베이스 엔진에 기반한 관계형 데이터베이스 서비스입니다. 예측 가능한 성능, 강화된 보안, 고가용성 및 동적인 스케일링 성능으로 중요 업무용 워크로드를 처리할 수 있는 완전 관리형 Database as a Service입니다.

Quarkus

Quarkus는 OpenJDK HotSpot 및 GraalVM에 맞춘 Kubernetes 네이티브 Java 스택입니다. 동종 최고의 Java 라이브러리와 표준으로 만들어졌습니다. Quarkus는 Java 애플리케이션을 작성하기 위한 오픈 소스 스택입니다. Quarkus는 마이크로 서비스에 매우 적합하지만 다른 용도로도 사용할 수 있습니다.

개발자의 관점에서 Quarkus는 훌륭한 개발자 환경을 제공합니다. 빠른 라이브 다시 로드와 통합 구성을 제공하고 GraalVM의 복잡성을 숨겨 네이티브 실행 파일을 쉽게 생성할 수 있게 합니다. 모두 새 프로그래밍 모델을 도입하지 않고도 적용할 수 있습니다. Quarkus는 사용자가 이미 알고 있을 수 있는 표준 라이브러리(예: CDI, JPA, Bean Validation, JAX-RS)와 많은 인기 프레임워크(예: Eclipse Vert.x, Apache Camel)에서의 개발자 경험을 활용할 수 있게 합니다.

Quarkus 애플리케이션 개발

Quarkus는 애플리케이션을 실행하기 위한 훌륭한 프레임워크입니다. 특정 Quarkus 확장을 추가하기만 하면 런타임에서 모든 작업을 수행합니다. 개발 서비스 덕분에 PostgreSQL 데이터베이스를 로컬로 설치할 필요가 없습니다. 개발 서비스는 Docker를 사용하여 PostgreSQL 데이터베이스를 다운로드하고 구성하고 시작합니다.

Quarkus 프레임워크는 자체 호스트되며, 애플리케이션을 실행하기 위한 지원 서비스를 제공합니다.

Azure CLI와 Maven을 사용하여 리소스 만들기

Azure CLI를 사용하여 Azure 리소스를 만들고 관리할 수 있습니다. Azure CLI는 Linux, macOS, Windows에서 실행됩니다. CLI를 사용하면 관리자와 개발자가 웹 브라우저 대신 터미널 또는 명령줄 프롬프트(또는 스크립트)를 사용하여 명령을 실행할 수 있습니다.

예를 들어 구독의 세부 정보를 가져오려면 다음 명령을 사용할 수 있습니다.

az account show

이 모듈에서는 Azure CLI를 사용하여 Container Apps 환경과 Azure Database for PostgreSQL 인스턴스를 만듭니다. 터미널에서 또는 Visual Studio Code를 통해 Azure CLI에 액세스할 수 있습니다. Azure Cloud Shell에서도 액세스할 수 있습니다. 이 브라우저 기반 셸은 클라우드에서 호스트됩니다. Cloud Shell에서 Azure CLI는 Azure 구독과 함께 사용하도록 구성됩니다.

Maven 패키지 관리자를 사용하여 프로젝트를 부트스트랩합니다. 또한 Maven은 Quarkus 애플리케이션을 개발하고 쉽게 테스트할 수 있도록 지원하는 Quarkus 및 개발 서비스 종속성을 제공합니다.

Docker를 사용하여 PostgreSQL 데이터베이스에서 애플리케이션을 로컬로 실행하고 테스트합니다.