azul zing elastic java virtual machine

Azul 시스템은 대용량의 스케일업형 하드웨어에서 자바 애플리케이션을 운영할 수 있는 기술을 기반으로 하고 있다. Azul이 제공하는 기술의 두 가지 핵심 구성요소는 리얼 타임에 특화된 자바 가비지 컬렉션과 오버 헤드가 거의 없는 진단/모니터링 도구 이다. 이전에 Azul 은 Vega라는 전용 하드웨어에서만 동작하는 가비지 컬렉션 기술을 제공하였으나, Zing Elastic Java Runtime은  X86 프로세서와 AMD 프로세서에 최적화하여 Azul이 가지고 있는 기술 스택을 소프트웨어로 제품화한 것이다.

 
웹 포탈, 트레이딩 플랫폼, 전자상거래 사이트 등의 웹사이트들은 응답 시간이 매우 중요한 대용량 서비스 애플리케이션을 운영하기 때문에 시스템을 운영하는 고객들은 엔터프라이즈 자바에 대한 불만을 가지고 있다. 특히 최근의 하드웨어 가상화의 이용 확대와 클라우드 컴퓨팅의 대두 그리고 기존의 Java VM이 하드웨어의 능력을 따라가지 못하는 것은 자바 애플리케이션 기반으로 서비스를 제공하는 고객에게는 매우 해결하기 어려운 과제이다.
 
새로운 비즈니스 전략과 기술 혁신이 기존의 자바 애플리케이션 인프라를 추월 하고 IT 조직의 현대화 압력은 점점 강해지고 있다. 기존 자바 런타임은 고성능, 비즈니스 크리티컬 애플리케이션, 가상화 및 클라우드 컴퓨팅 과 같은 새로운 운영 환경의 변화에 대한 요구들에 대해 쫓아 가지고 못하고 있다. 기존 C 나 C++ 와 같은 언어로 개발되었던 미션 크리티컬한 리얼 타임, 대용량 애플리케이션의 영역은 자바로 극복하기 어려운 도전 과제로만 남아 있을 수 뿐이 없었다. 이제 기업은 비즈니스와 IT 목표를 달성하기 위한 광범위한 운영 환경에 더 나은 자바 애플리케이션의 확장성, 탄력성 그리고 운영을 실현하기 위해서는 Azul Zing Java  와 같은 새롭고 혁신적인 자바 기술을 검토해야 한다.
 
Azul Zing 자바플랫폼은 부서 수준의 애플리케이션에서 대용량 미션 크리티컬  애플리케이션까지 모든 종류의 자바 애플리케이션이 가상화 및 클라우드 컴퓨팅환경에서 운영될 수 있는 자바 환경을 제공한다.
 
지금까지는 대용량 메모리를 사용하는 애플리케이션 구축 시 애플리케이션 아키텍트나 개발자들이 힙 크기를 작게 나누어 다수의 인스턴스로 분산하여 저장하는 방법들에 대해 관심을 가져왔다. 
Zing  자바 플랫폼은 단일 인스턴스에서 일정한 응답시간을 준수하면서도 수백기가의 힙을 처리할 수 있도록 하여 더 이상 대규모 힙에 대한 분산 방안에 대한 고민할 필요가 없게 되었다. 
 
 Zing VM 과 기존 자바 런타임과의  Benchmark Test  결과를 살펴보자.
  • 벤치마크 테스트 환경
    • 데모 애플리케이션 : JBoss 애플리케이션 서버 5.1 에서 Liferay portal 쇼핑카트 애플리케이션
    • 하드웨어 :  dual-socket Xeon 5620 at 2.4GHz with 96GB of memory 
    • OS :  Fedora


  • 비교 대상
Azul Zing VM 과 기존 상용 Java VM의 성능을 비교하였으며,  Zing VM은  Heap 을 90G 로 하였고 기존 Java VM은 ConcMarkSweepGC로 순차적으로 힙 사이즈를 늘려서 성능을 비교 하였다.
    • Azul Zing Java – VMWare Hypervisor , 90+ GB Heap 
    • 기존 Java VM – 2GB, 3GB, 4GB, 6GB and 20GB Heap , ConcMarkSweepGC
  • 성능 기준
부하테스트는 하나의 Java 인스턴스를 사용하여 99.9% 가 5초 이내에 응답을 할 수 있는지 에 대한 SLA기준으로 하였다. 
 
  • 벤치마크 테스트 결과
아래의 그래프에서 볼수 있듯 이 기존 Java VM은 45 User 에 5초의 응답시간이였으며, Zing VM은 1초 미만으로 800 User를 처리 하였다. 
주목할 만한 것은 800 사용자 부하에서 Zing 가비지 수집기는 성능의 손실없이 초당 3.5GB의 가비지을 처리했다.
azul zing jvm performance

References & Related Links

Java SE Subscription

미국 Oracle이 2018 년 6 월 21 일, Java SE에 대한 유료 구독 모델인 Java SE Subscription ( 이하 자바 서브스크립션)을 발표하였습니다.
오라클의 자바 서브스크립션은 데스크톱, 서버 또는 클라우드 환경에서 사용하기 위한 Java SE 에 대한 라이선스와 기술지원을 포함한 간단하고 저렴한 월단위 서브스크립션으로 Linux 배포판에서 널리 사용하는 모델입니다.
서브스크립션을 통해 오라클은 자바에 대한 검증되고 인증된 성능, 안정성과 보안 업데이트에 대한 권한을 제공합니다.

오라클은 2019 년 1 월부터 자바 비즈니스 사용자에게 자바 서브스크립션 판매를 시작합니다. 2019년 부터는 서브스크립션을 가지고 있지 않으면 자바에 대한  업데이트를 할 수 없습니다.