본문 바로가기

개발/Spring

Spring Native 란?

728x90
반응형

 

Spring Native 에 대해서 흥미로운 기사를 발견

www.infoworld.com/article/3611975/spring-native-turns-spring-apps-into-native-executables.html

 

Spring Native turns Spring apps into native executables

Spring Native beta release leverages GraalVM to compile Spring Java and Kotlin applications to native images, reducing startup time and memory overhead compared to the JVM.

www.infoworld.com

Spring 공식블로그의 SpringNative소개

spring.io/blog/2021/03/11/announcing-spring-native-beta

 

자바 진영에서의 Spring의 입지는 항상 견고하고 대단하다.

프레임워크 자체도 훌륭하고 사용하기 편하며(SpringBoot?!) 개발에 필요한 소프트웨어 패키징(jar/war), 어플리케이션 모니터링(actuator)등 수많은 기능을 기본으로 제공한다.

Spring 어플리케이션을 개발한뒤 Maven이나 Gradle로 패키징을 하면 jar 라는 하나의 파일로 구성이 되는데 Spring Native는 또 다른 개념의 네이티브 이미지로 만들어 준다고 하는 것 같다.

Spring Native 특징/장점

  • Spring Native 는 현재 베타 릴리즈(2021년 3월 11일)
  • Java 및 Kotlin 언어를 지원한다.
  • 독립실행파일로 배포/실행가능(JVM 설치가 필요없다!!!)
  • GraalVM를 활용하여 네이티브 이미지로 컴파일하여 JVM에 비해 빠른 빌드, 빠른 어플리케이션 시작시간, 적은 메모리를 사용한다.
  • 간단한 사용법(Maven : mvn spring-boot:build-image, Gradle : gradle bootBuildImage)
  • SpringBoot 2.4.x 이상으로 개발하는 것을 권장

spring initializr 에서 기능 지원

https://start.spring.io - 베타버전이지만 spring initializr 에서 사용가능하다.

<에필로그>

  • JVM보다 빠른 어플리케이션 시작시간, 적은 메모리를 사용하는 것만으로도 Spring Native를 사용하는 이유는 충분할 것 같다.
  • java -jar spring-app.jar 로 실행하는 방식도 엄청난 발전이라고 생각했는데 Spring Native 실행파일 하나로 Spring 어플리케이션을 실행 할 수 있다고 하니 Spring Native 는 엄청난 기능이라고 생각한다.

 

728x90
반응형