Jump to section

Red Hat OpenShift에서 Quarkus로 Java 애플리케이션을 개발해야 하는 이유는 무엇인가요?

URL 복사

Java™는 개발자들 사이에서 가장 인기 있는 프로그래밍 언어 중 하나이지만, 컨테이너쿠버네티스를 고려하면 몇 가지 단점이 있습니다. Quarkus를 통해 700만 명 이상의 Java 개발자들은 익숙한 프레임워크로 새로운 애플리케이션을 지속적으로 빌드할 수 있습니다.

Quarkus 애플리케이션은 컨테이너를 염두에 둔 것이며, Red Hat OpenShift에는 Quarkus가 기본적으로 통합되어 있어 훨씬 더 쉽게 배포할 수 있습니다. Red Hat OpenShift 기반 Quarkus는 친숙한 툴링, Red Hat CodeReady Workspaces와 같은 IDE를 사용해 클러스터에서 원격으로 개발할 수 있는 기능, 관리형 구성과의 통합, 서버리스 워크로드 배포, 애플리케이션 스토리지 관리 등의 기능을 제공합니다.

또한 Quarkus는 일반적인 API 클라이언트와 쿠버네티스 ConfigMaps를 사용한 동적 애플리케이션 구성을 포함해 쿠버네티스 API와의 통합 기능을 제공합니다. Red Hat 서브스크립션과 Quarkus에 대한 지원은 Red Hat OpenShift 구입 시 함께 제공됩니다.

Quarkus는 개발자를 고려하여 설계되었습니다. 개발자 생산성이 향사되면 새로운 애플리케이션을 빠르게 개발하고 배포함으로써 급속한 시장 환경 변화에 더 빠르게 대응할 수 있게 됩니다. Quarkus는 신속한 내부 루프 개발을 위한 실시간 코딩, Red Hat CodeReady Workspaces와 같은 IDE로의 통합, 기존 Java 표준을 넘어선 API와 같은 기능으로 개발자 생산성을 개선할 수 있도록 지원합니다. Quarkus를 통해 개발자는 MicroProfile, Spring Framework API, 기타 널리 사용되는 기존 프레임워크와 같은 표준을 혼합하여 사용할 수 있고 쿠버네티스에서 효과적으로 작동하는 Quarkus의 이점을 누릴 수 있습니다.

현재 사용 중인 Spring Boot 애플리케이션을 생각보다 손쉽게 Quarkus 및 Red Hat OpenShift로 가져올 수 있습니다. 애플리케이션을 위한 마이그레이션 툴킷(MTA)은 다양한 일련의 트랜스포메이션 경로(Java EE, JDK, Linux, 컨테이너화, Quarkus 등)에 적용되는 소스 코드 또는 바이너리까지도 분석함으로써 Java 애플리케이션 포트폴리오를 검토하고 마이그레이션 프로세스를 가속화할 수 있습니다.

MTA 릴리스 5.1에서는 Spring Boot를 Quarkus로 가져오는 작업을 폭넓게 지원합니다.

Quarkus는 JVM(Java Virtual Machine)에서 또는 네이티브 컴파일된 실행 파일로 실행되는 쿠버네티스 네이티브 Java 애플리케이션을 빌드하기 위한 프레임워크입니다. Quarkus는 시작 시간과 메모리 사용을 최소화하고, 애플리케이션을 빠르게 개발하고 배포할 수 있도록 기존 Java 프레임워크 및 개발자 툴과 통합됩니다. Quarkus는 하이브리드 클라우드에서 서버리스, 마이크로서비스, 컨테이너, 쿠버네티스 또는 기타 애플리케이션 유형을 다루는 Java 애플리케이션을 실행할 수 있도록 지원합니다.

Quarkus 개념

Quarkus는 OpenJDK와 같은 기존 JVM(Java Virtual Machine) 런타임을 위한 컴팩트하고 효율적인 애플리케이션을 생성하도록 설계되었으며, 실행 가능한 네이티브 바이너리를 생성하여 더 효과적으로 최적화할 수 있습니다. 하지만 애플리케이션 수명에서 단 한 번 발생하는 빌드 단계 중에 최대한 많은 사전 작업을 수행하는 것이 가장 중요합니다. 빌드 단계 중에 Quarkus는 먼저 애플리케이션을 기존 Java 바이트코드로 컴파일하고, 구성을 로드 및 구문 분석하고, 주석을 처리하고, 프레임워크 메타모델을 구축하고, 애플리케이션을 실행 가능한 기존 Java 애플리케이션(JAR 파일)으로 연결합니다. 런타임, 즉 애플리케이션 시작 시점에서는 이러한 단계를 수행하는 데 메모리, CPU 또는 시간이 필요 없으므로 시작 시간이 크게 단축됩니다.

네이티브 컴파일

Quarkus 애플리케이션은 네이티브 실행 파일로 컴파일하여 효율성을 훨씬 더 높일 수 있습니다. Mandrel(GraalVM의 다운스트림 배포판)을 사용해 애플리케이션을 분석하면 "불필요한 코드"(런타임에 결코 사용되지 않을 코드 경로)를 찾아 애플리케이션 실행 파일에서 제거할 수 있습니다. 이를 통해 수십 밀리초 내에 시작하고 런타임에 수십 메가바이트의 메모리만 필요한 작고 가벼운 실행 가능 애플리케이션을 얻을 수 있습니다.

추가 자료

교육

브라우저에서 Quarkus 사용해 보기

브라우저에서 직접 Red Hat OpenShift 기반 Quarkus를 사용해 보세요.

다운로드

Red Hat build of Quarkus로 새로운 Quarkus 애플리케이션 개발

선호하는 개발 환경에서 새로운 프로젝트를 생성하고 Quarkus를 이용한 개발에 대해 자세히 알아보세요.

리포트

IDC Quarkus 랩 검증 리포트

개발자와 운영자에게 Quarkus와 기존 Java는 효율성 및 개발자 생산성 측면에서 어떤 차이가 있는지 알아보세요.

현대적인 애플리케이션 개발을 위한 쿠버네티스 기반

Red Hat OpenShift

클라우드 네이티브 애플리케이션을 더 빠르게 배포할 수 있도록 지원하는 컨테이너 플랫폼입니다.

애플리케이션 구축, 배포, 확장을 위한 관리형 클라우드 서비스입니다.

Red Hat Runtimes

클라우드 네이티브 애플리케이션 개발에 적합한 다양한 런타임과 프레임워크입니다.

OpenShift Data Foundation logo

컨테이너를 위한 소프트웨어 정의 스토리지입니다.

Illustration - mail

유용한 콘텐츠 더 보기

Red Hat Shares 뉴스레터를 구독해 보세요(무료).