Red Hat OpenShift 기반 Quarkus를 사용해야 하는 이유
Quarkus 애플리케이션은 컨테이너를 염두에 둔 것이며, Red Hat OpenShift에는 Quarkus가 기본적으로 통합되어 있어 훨씬 더 쉽게 배포할 수 있습니다. Red Hat OpenShift 기반 Quarkus는 친숙한 툴링, Red Hat CodeReady Workspaces와 같은 IDE를 사용해 클러스터에서 원격으로 개발할 수 있는 기능, 관리형 구성과의 통합, 서버리스 워크로드 배포, 애플리케이션 스토리지 관리 등의 기능을 제공합니다.
또한 Quarkus는 일반적인 API 클라이언트와 쿠버네티스 ConfigMaps를 사용한 동적 애플리케이션 구성을 포함해 쿠버네티스 API와의 통합 기능을 제공합니다. Red Hat 서브스크립션과 Quarkus에 대한 지원은 Red Hat OpenShift 구입 시 함께 제공됩니다.
Red Hat 리소스
Quarkus와 개발자 생산성
Quarkus는 개발자를 고려하여 설계되었습니다. 개발자 생산성이 향사되면 새로운 애플리케이션을 빠르게 개발하고 배포함으로써 급속한 시장 환경 변화에 더 빠르게 대응할 수 있게 됩니다. Quarkus는 신속한 내부 루프 개발을 위한 실시간 코딩, Red Hat CodeReady Workspaces와 같은 IDE로의 통합, 기존 Java 표준을 넘어선 API와 같은 기능으로 개발자 생산성을 개선할 수 있도록 지원합니다. Quarkus를 통해 개발자는 MicroProfile, Spring Framework API, 기타 널리 사용되는 기존 프레임워크와 같은 표준을 혼합하여 사용할 수 있고 쿠버네티스에서 효과적으로 작동하는 Quarkus의 이점을 누릴 수 있습니다.
Spring Boot 애플리케이션을 Quarkus로 가져오려면 어떻게 해야 하나요?
현재 사용 중인 Spring Boot 애플리케이션을 생각보다 손쉽게 Quarkus 및 Red Hat OpenShift로 가져올 수 있습니다. 애플리케이션을 위한 마이그레이션 툴킷(MTA)은 다양한 일련의 트랜스포메이션 경로(Java EE, JDK, Linux, 컨테이너화, Quarkus 등)에 적용되는 소스 코드 또는 바이너리까지도 분석함으로써 Java 애플리케이션 포트폴리오를 검토하고 마이그레이션 프로세스를 가속화할 수 있습니다.
MTA 릴리스 5.1에서는 Spring Boot를 Quarkus로 가져오는 작업을 폭넓게 지원합니다.
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의 다운스트림 배포판)을 사용해 애플리케이션을 분석하면 "불필요한 코드"(런타임에 결코 사용되지 않을 코드 경로)를 찾아 애플리케이션 실행 파일에서 제거할 수 있습니다. 이를 통해 수십 밀리초 내에 시작하고 런타임에 수십 메가바이트의 메모리만 필요한 작고 가벼운 실행 가능 애플리케이션을 얻을 수 있습니다.
레드햇 공식 블로그
레드햇 공식 블로그에서 고객, 파트너, 커뮤니티 에코시스템 등 현재 화제가 되는 최신 정보를 살펴 보세요.