죄송합니다. 검색 내용과 일치하는 항목을 찾지 못했습니다.

원하시는 정보를 찾는 데 도움이 되도록 다음을 시도해 보십시오.

  • 검색에 사용하신 키워드의 철자가 올바른지 확인하십시오.
  • 입력한 키워드에 동의어를 사용하십시오. 예를 들어 “소프트웨어” 대신 “애플리케이션”을 사용해 보십시오.
  • 새로운 검색을 시작하십시오.
문의하기 Oracle Cloud에 로그인

GraalVM Enterprise

Java SE Subscription에서 추가 비용 없이 사용 가능하므로 더 나은 성능과 비용 절감으로 클라우드 네이티브 배포를 위한 마이크로서비스 기반 애플리케이션을 구축하여 최신 Java 애플리케이션 개발을 지원할 수 있습니다.

GraalVM Enterprise란?

GraalVM 정의

GraalVM Enterprise는 대체 JIT(Just-In-Time) 컴파일러를 사용하여 Java 및 JVM 기반 애플리케이션의 성능을 가속화할 수 있는 고성능 JDK입니다. 이 솔루션은 애플리케이션 대기 시간을 줄이고 가비지 수집 시간을 단축하여 최대 처리량을 개선하며 연중무휴 Oracle 지원을 제공합니다.

또한 Java 바이트코드 AOT(Ahead Of Time)를 컴파일하고 거의 즉시 시작되며 메모리 리소스를 거의 사용하지 않는 일부 애플리케이션에 대해 기본 실행 파일을 생성하는 네이티브 이미지 유틸리티가 있습니다.

GraalVM(Graal 컴파일러, Truffle 및 Oracle Java Development Kit[JDK])

GraalVM은 2011년에 여러 프로그래밍 언어를 고성능으로 실행할 수 있는 런타임 플랫폼을 만들기 위한 Oracle Labs의 연구 프로젝트로 시작되었습니다. GraalVM 프로젝트의 핵심은 고급 최적화 GraalVM 컴파일러로, JVM(Java Virtual Machine)을 위한 JIT(Just-In-Time) 컴파일러로 사용되거나 GraalVM 네이티브 이미지 기능으로 Java 바이트코드 Ahead Of Time을 네이티브 기계어 코드에 컴파일하는 데 사용됩니다. GraalVM의 Truffle 언어 구현 프레임워크는 GraalVM 컴파일러와 함께 작동하여 JVM에서 JavaScript, Python, Ruby 및 기타 지원 언어를 뛰어난 성능으로 실행합니다.

JIT 모드에서 GraalVM을 사용할 때 JVM은 GraalVM Enterprise JI 컴파일러를 사용하여 애플리케이션이 실행 중인 동안 Java 바이트코드에서 플랫폼별 기계어 코드를 만듭니다. 컴파일은 자주 실행되는 코드에 추가 최적화를 적용하여 프로그램 실행 중에 점진적으로 수행됩니다. 이러한 접근 방식은 적극적인 인라인 처리, 부분 이스케이프 분석 및 기타 고급 최적화 덕분에 핫스폿 코드를 매우 빠르게 실행되도록 보장합니다. 일부 최적화는 가비지 수집의 로드를 낮춰주는 개체 할당을 줄입니다. 그러면 장기 실행 애플리케이션의 최대 성능이 향상됩니다.

또한 GraalVM 네이티브 이미지 유틸리티는 Java 바이트코드를 컴파일하여 네이티브 기계어 실행 파일 Ahead Of Time(즉, 구축 시)을 생성할 수 있습니다. 이러한 실행 파일은 거의 즉시 시작되며 JVM에서 실행되는 동일한 Java 애플리케이션에서 사용하는 메모리의 일부만 사용합니다. 네이티브 실행 파일은 애플리케이션에 필요한 클래스, 메서드 및 종속 라이브러리만 포함하므로 컴팩트합니다.

또한 GraalVM은 Truffle 언어 구현 프레임워크를 통해 다중 언어 상호 운용성을 지원합니다. Truffle을 사용하면 지원 언어로 작성된 프로그램에서 다중 언어 라이브러리를 사용할 수 있습니다. 예를 들어 JavaScript 프로그램은 Ruby 메서드를 호출하고 복사본을 만들지 않은 채 값을 공유할 수 있습니다. JVM에서 실행되는 Truffle은 GraalVM 컴파일러와 협력하여 Java와 마찬가지로 최적의 성능을 위해 지원 언어를 네이티브 기계어 코드로 컴파일합니다.

GraalVM 컴파일러에 대해 자세히 알아보기, GraalVM for Dummies eBook 읽기

GraalVM Enterprise

GraalVM Enterprise Edition의 컴파일러에는 성능 및 리소스 사용을 크게 개선하는 추가 최적화 알고리즘이 많이 포함되어 있습니다. GraalVM Enterprise Edition의 네이티브 이미지 기능은 G1 가비지 수집기, 압축 포인터 및 컴파일러가 보다 효율적인 코드를 생성하는 데 도움이 되는 프로필 기반 최적화를 비롯한 다양한 고급 기능을 지원합니다.

GraalVM Enterprise는 추가 비용 없이 Java SE Subscription에 포함되어 있습니다. 보다 예측 가능한 성능과 안정성을 위해 보안 수정과 중요 경로 업데이트에 대한 액세스를 비롯하여 Oracle의 연중무휴 지원이 포함됩니다. Java를 클라우드로 마이그레이션할 수 있도록 GraalVM Enterprise는 OCI(Oracle Cloud Infrastructure)에서 무료로 사용할 수 있습니다.

GraalVM을 사용하는 이유

GraalVM Enterprise를 사용하면 개발자가 클라우드 또는 하이브리드 환경에 대해 향상된 격리 및 민첩성을 통해 보다 효율적인 코드를 빌드할 수 있습니다. 오늘날 점점 더 많은 기업이 GraalVM을 사용하는 몇 가지 이유는 다음과 같습니다.

  • 변화하는 시장에 빠르게 적응합니다. 오늘날 비즈니스 애플리케이션은 증가하는 데이터 볼륨을 처리하고 고객 요청에 신속하게 대응해야 합니다. Java 애플리케이션은 속도에 발맞춰 발전을 거듭할 수 있으므로 개발자는 애플리케이션 성능 효율성을 높이는 동시에 IT 비용을 절감할 수 있습니다.
  • 클라우드 네이티브에 마이크로서비스와 컨테이너를 사용하는 최신Java 애플리케이션을 구축할 수 있습니다. 마이크로서비스는 단일 기능을 수행하는 소규모 독립 미니 애플리케이션입니다. 비즈니스 애플리케이션은 일반적으로 수백 개의 서비스를 활용하며 각 서비스를 신속하게 시작해야 대기 시간을 최소화하고 클라우드 사용비용을 절감할 수 있습니다. 즉, 사용하는 부분에 대해서만 비용을 지불합니다.
  • 서로 다른 프로그래밍 언어가 단일 JVM에서 함께 작동할 수 있는 에코시스템을 조성하여 개발자 생산성을 높입니다.

GraalVM Enterprise 사용 사례

성능 향상 및 기존 Java 애플리케이션 확장

GraalVM 혁신은 Java 애플리케이션이 보다 빠른 성능을 통해 오늘날의 컴퓨팅 요구를 충족하고 고객의 요구 사항에 신속하게 대응할 수 있도록 지원합니다. 고급 최적화 프로그램은 최대 처리량을 향상시킵니다. 또한 개체 할당을 최소화하여 메모리 사용을 최적화함으로써 가비지 수집을 수행하는 데 소요되는 시간을 단축합니다. JIT 모드에서 실행되는 GraalVM Enterprise는 성능을 최대 50%까지 향상시킬 수 있습니다. 그러면 메모리가 더 빨리 비워지므로 동일한 인프라에서 다른 워크로드를 실행하고 IT 비용을 절감할 수 있습니다.

클라우드 네이티브 애플리케이션 구축

GraalVM Enterprise의 네이티브 이미지 유틸리티는 Java 애플리케이션 Ahead Of Time을 기계 바이너리에 컴파일합니다. 네이티브 실행 파일은 JVM에서 실행되는 것보다 거의 100배 더 빠르게 시작되며 최대 5배나 적은 메모리를 사용합니다.

Graalvm 엔터프라이즈 네이티브
그림 1 – 네이티브 실행 파일은 거의 즉시 시작되며 Go 또는 Java HotSpot에 비해 메모리를 거의 사용하지 않습니다.

조직이 워크로드를 클라우드로 전환하고 시스템 리소스 사용 비용을 시간당으로 지불함에 따라 GraalVM은 운영 비용 절감 효과를 실현할 수 있도록 지원합니다. 이러한 결과로 인해 GraalVM에서 생성한 네이티브 실행 파일은 Helidon, Micronaut, Quarkus, Spring Boot와 같은 주요 마이크로서비스 프레임워크에서 지원되는 영역인 마이크로서비스 배포에 적합합니다.

다중 언어 프로그램 개발 및 생산성 향상

성능이 뛰어난 JVM에서 Java와 JavaScript와 같은 기타 언어를 실행할 수 있습니다. Oracle NetSuite의 SuiteScript는 최종 사용자가 NetSuite에서 실행되는 애플리케이션을 사용자 지정할 수 있는 확장 언어입니다. GraalVM Enterprise를 사용하면 NetSuite를 통해 JVM에서 실행되는 SuiteScript보다 4배 더 빠르게 실행되는 기계어 코드에 JavaScript를 컴파일 할 수 있는 Truffle 기반 JavaScript 런타임을 포함할 수 있습니다.

애플리케이션 성능 및 효율성을 개선하는 방법

GraalVM Enterprise에는 Java 애플리케이션 성능을 가속화하기 위해 프로그램에서 JIT를 실행하는 동안 기계어 코드를 생성하는 고급 최적화 컴파일러가 포함되어 있습니다. Ahead Of Time을 컴파일하면 네이티브 이미지는 빠르게 시작되고 메모리를 적게 사용하므로 클라우드 네이티브 배포에 적합합니다. 다중 언어 프로그램을 지원하여 개발자가 작성된 언어에 관계없이 비즈니스 문제를 해결하는 데 필요한 최적의 라이브러리를 사용할 수 있도록 하여 생산성을 높입니다.