자바
개발 환경 설정
자바 배포판 소개

자바 배포판 대표적인 6가지 간단 정리: Oracle, OpenJDK, Adoptium, Zulu, Corretto, Liberica

자바는 세상에 공개된 이래로 한 번도 주류 프로그래밍 언어 자리에서 내려온 적이 없습니다. Groovy, Scala, Kotlin 같은 언어들이 Java의 자리를 넘보려고 해도, 여전히 자바의 존재감은 대단합니다. 이렇게 오랫동안 많은 프로그램을 작성한 언어인 만큼, Java 배포판도 상당히 많이 존재합니다. Amazon이나 MS 등 빅테크 기업들도 자바 배포판을 하나씩 이어가고 있고요.

올바른 자바 배포판을 선택하는 것은 일단 비용과 직결되어 있습니다. 라이센스는 배포판이 만들어지는 가장 큰 이유이기도 하니까요. 그리고 플랫폼에 따라 성능을 결정하는 요인이 되기도 합니다. 그래서 이번 포스팅은 올바른 배포판 선택을 위한 대표적인 자바 배포판 몇 가지에 대해 간단히 정리하려고 합니다.

1. Oracle JDK

The steward of Java // 자바의 책임자

Oracle JDK 공식 홈페이지

Oracle JDK 공식 홈페이지 (opens in a new tab)

Oracle JDK는 Java의 현재와 미래를 담당하는 Oracle의 공식 Java 배포판입니다. Oracle이 Sun Microsystems를 인수하면서 자바와 자바 생태계를 이끌어가는 권리를 가졌기 때문에, 영어권에서는 오라클을 The steward of Java 라고 칭합니다.

Oracle JDK는 공식 배포판이라고 할 수 있기 때문에 모든 Java 배포판 중 가장 최적화되어 있고, 특히 엔터프라이즈급 애플리케이션에서 월등한 성능을 보인다는 평가를 받습니다. 또한, 지속적인 업데이트와 보안 패치, 기술적 지원을 포함합니다. 다만, 영리적인 목적으로 사용하기 위해선 비용을 지불해야 합니다.

자바가 오라클의 대표적인 상품 중 하나인 만큼, 자바 생태계가 굳건해야 오라클의 미래도 밝을 것입니다. 그래서 오라클은 OpenJDK를 지원하는 가장 큰 회사이기도 합니다. Oracle JDK는 OpenJDK를 더 세밀하게 최적화하고 더 편리한 기능을 추가한 배포판이죠.

2. OpenJDK

모든 Java 배포판의 근본

OpenJDK 공식 홈페이지

OpenJDK 공식 홈페이지 (opens in a new tab)

Java의 대표적인 커뮤니티 버전 오픈소스 배포판입니다. 어떠한 목적으로 사용하든, 무료로 사용가능합니다. Sun으로부터 자바 플랫폼과 OpenJDK를 이어받은 Oracle은 물론이고, IBM, MS, Red Hat 등 거대 테크 기업들이 함께 OpenJDK를 지원하고 있으며, 무엇보다 전세계 수많은 개발자들이 함께 유지보수하고 있습니다.

위에서 잠시 언급했지만, OpenJDK는 Oracle JDK는 물론, 거의 모든 자바 배포판의 기반이 된다고 해도 과언이 아닙니다. 그만큼 신뢰하고 사용할 수 있습니다. 다만, LTS 버전이 아니라면 지원을 보장할 수 없고, 성능적으로 항상 Oracle JDK보다 아래에 머물 수 밖에 없다는 점은 서비스 개발 시 고려해야 합니다.

3. Adoptium (a.k.a. AdoptOpenJDK)

사용하기 편한 OpenJDK

Adoptium 공식 홍페이지

Adoptium 공식 홈페이지 (opens in a new tab)

AdoptOpenJDK라는 이름으로 유명했던 Adoptium입니다. Adoptium은 한 때 오픈소스 IDE의 대명사였던 Eclipse Foundation이 주축이 되어, IBM, MS, Azul Systems 등 빅테크 기업들의 지원을 받고 있는 오픈소스 배포판입니다.

Adoptium의 목표는 OpenJDK를 쉽게 사용하도록 돕는 것입니다. 그래서 다음과 같이, OpenJDK에서 지원하지 않는 몇 가지를 지원합니다.

  1. pre-built binaries: 이미 빌드한 바이너리 파일을 제공해서, 이용자가 따로 플랫폼에 따라 OpenJDK를 빌드할 시간을 아껴줍니다.
  2. LTS: 더 다양한 버전에서 업데이트와 보안 패치, 버그 픽스 등을 보장받을 수 있습니다.
  3. Hotspot이나 Eclipse OpenJ9과 같은 JVM: 더 많은 종류의 JVM을 지원하기 때문에, 이용자의 기술 선택의 폭을 넓혀줍니다.

하지만, 상업적 사용에 대해 기술적 지원을 따로 제공해주진 않는다는 점은, 실 서비스에서 사용 시 기억해야 할 부분입니다.

4. Azul Zulu

기술적 지원을 제공하는 엔터프라이즈용 배포판

Azul Zulu 공식 홈페이지

Azul Zulu 공식 홈페이지 (opens in a new tab)

Azul Systems의 Zulu 역시 OpenJDK 기반으로 설계한 배포판입니다. Zulu 역시 어떤 목적으로 사용하든지 무료로 사용할 수 있습니다. Adoptium이 주로, 오픈소스 개발에 많이 선택하는 배포판이라면, Zulu는 많은 엔터프라이즈들이 선택하는 배포판입니다. 그 이유 중 하나는 상업적인 이용에 공식적인 기술 지원을 제공하고 있기 때문입니다.

기업에서 오픈소스 Java 배포판 대신 Oracle JDK를 선택할 수 밖에 없는 가장 큰 이유는 기술적 이슈에 대한 빠르고 공식적인 대응 때문입니다. Zulu는 이 부분을 강점으로 내세우고 있습니다. 또한, 강력한 최적화와 대부분의 플랫폼과 운영체제에서 안정적으로 구동하는 점도 장점으로 꼽힙니다.

아쉬운 점은 다른 배포판보다 커뮤니티가 주도하는 측면이 덜 하기 때문에, 자바 커뮤니티의 요구사항에 빠르게 맞춰나가지 못 할 수 있다는 점입니다.

5. Amazon Corretto

AWS 인프라에 특화

Amazon Corretto 공식 홈페이지

Amazon Corretto 공식 홈페이지 (opens in a new tab)

Corretto는 Amazon에서 관리하는 OpenJDK 기반 오픈소스 배포판입니다. 세계 최대 규모의 트랜젝션을 처리하는 AWS를 포함한 Amazon의 인프라도, Corretto를 이용해 구축했다고 알려져 있습니다. 그만큼 성능과 보안 측면에서 신경을 많이 쓴 배포판이고, LTS 버전을 통한 지속적인 업데이트를 지원합니다.

Coretto의 특징점은 장점이자 단점이기도 합니다. 바로, 자사의 서비스인 AWS에서 사용하도록 최적화되어 있다는 점인데요. 일단, AWS 서비스를 이용한다면 Corretto를 가장 선순위로 고려할 수 있습니다. 그렇지 않다면, 다른 배포판과의 성능 테스트가 필요할 수도 있습니다.

이와 마찬가지로, 클라우드로 Azure 서비스를 사용한다면, 해당 플랫폼에 최적화된 Microsoft Build of OpenJDK™ (opens in a new tab)를 가장 먼저 고려할 수도 있겠습니다.

6. Liberica JDK

클라우드 기반 Java 서비스가 고려할 만한 배포판

Liberica JDK 홈페이지

Liberica JDK 공식 홈페이지 (opens in a new tab)

Liberica JDK는 Bell Soft에서 제공하는 배포판입니다. 오늘 말씀드린 6가지 배포판 중 가장 알려지지 않았지만, 특정 사용자층에게는 인기를 끌고 있는 배포판이기도 합니다.

일단, 벨소프트는 클라우드 기반 자바 환경에 주력해서 빠른 배포 시간, 적은 메모리와 하드웨어 자원을 장점으로 내세우고 있습니다. 또한, 자바 마이크로서비스에 특화한 Alphaquita Linux 등 연계된 제품들을 함께 선보이고 있습니다.

기본적으로, 오픈소스 그리고 영리적 프로젝트에서 무료로 사용가능하며, 공식적인 기술적 지원도 제공하기 때문에, 선택지 중 하나로 포함해도 충분히 의미가 있다고 생각합니다.

7. 6가지 배포판 정리

모든 Java 배포판의 근원은 OpenJDK입니다. 그리고 OpenJDK 위에 다양한 기능을 추가한 배포판들이 개발자들을 편리하게 만들어주고 있습니다. 덕분에 우리는 내 서비스의 특성에 맞는 최선의 배포판을 선택할 수 있게 되었습니다.

배포판에 따라, 다양한 플랫폼에 최적화하거나, 특정 플랫폼에 집중적으로 특화하기도 합니다. 또한, 상업적 이용에 대한 기술 지원을 제공하는지 여부도 다릅니다. 마지막으로, 내 서비스의 버전을 지속적으로 업데이트해주는지 여부도 고려할 부분입니다.

7.1. 배포판 선택 기준

이번 포스팅에서 살펴본 바에 따르면, 일단 규모가 있는 기업이라면, Oracle JDK로 단번에 시작하면 되겠지만, 비용 부담이 있다면 기술적 지원을 제공하는 Zulu, Corretto, MS, Liberica 중에서 고려하는 것을 추천합니다. 오픈소스 프로젝트라면, Adoptium이 1순위 선택지가 될 수 있다고 생각합니다.

copyright for java dustributions

© 2023 All rights reserved.