์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ! ์ด๊ฒ์ Quarkus ์๋ฆฌ์ฆ์ ๋ ๋ฒ์งธ ๊ฒ์๋ฌผ์ ๋๋ค. ์ค๋์ ๋ค์ดํฐ๋ธ ์ปดํ์ผ์ ๋ํด ์ด์ผ๊ธฐํ๊ฒ ์ต๋๋ค.
์๋์์ ์ดํด๋ณด๊ฒ ์ง๋ง ๋ค์ดํฐ๋ธ ์ปดํ์ผ๋ ์ค์ํ์ง๋ง Quarkus๋ ์คํ ์ ์ฒด์ ๊ตฌํ๋ ์ฑ๋ฅ ํฅ์ ๋๋ถ์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ Java ์์คํ
์ธ OpenJDK Hotspot์์ ๋งค์ฐ ์ ์คํ๋๋ค๋ ์ ์ ์ ์ํด์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ๋ค์ดํฐ๋ธ ์ปดํ์ผ์ ์ํ๊ฑฐ๋ ํ์์ ๋ฐ๋ผ ์ฌ์ฉํ ์ ์๋ ์ถ๊ฐ ๋ณด๋์ค๋ก ๊ฐ์ฃผ๋์ด์ผ ํฉ๋๋ค. ์ค์ ๋ก Quarkus๋ ๋ค์ดํฐ๋ธ ์ด๋ฏธ์ง์ ๊ด๋ จํ์ฌ OpenJDK์ ํฌ๊ฒ ์์กดํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ฐ์๋ค์ด ์ ๊ทน์ ์ผ๋ก ์์ฉํ๋ ๊ฐ๋ฐ ๋ชจ๋๋ Hotspot์ ๊ตฌํ๋ ๋์ ์ฝ๋ ์คํ์ ๊ณ ๊ธ ๊ธฐ๋ฅ์ผ๋ก ์ธํด ๋ณ๊ฒฝ ์ฌํญ์ ๊ฑฐ์ ์ฆ๊ฐ์ ์ผ๋ก ํ
์คํธํ ์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค. ๋ํ ๊ธฐ๋ณธ GraalVM ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ๋ OpenJDK ํด๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ HotSpot ๊ธฐ๋ฅ์ด ์ฌ์ฉ๋ฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ๋ชจ๋ ๊ฒ์ด ์ด๋ฏธ ์๋ฒฝํ๊ฒ ์ต์ ํ๋์ด ์๋๋ฐ ์ ๋ค์ดํฐ๋ธ ์ปดํ์ผ์ด ํ์ํ๊ฐ์? ์ฐ๋ฆฌ๋ ์๋์์ ์ด ์ง๋ฌธ์ ๋ตํ๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค.
๋ถ๋ช
ํ ๊ฒ๋ถํฐ ์์ํด ๋ณด๊ฒ ์ต๋๋ค. Red Hat์ ํ๋ก์ ํธ ๊ฐ๋ฐ ์ค์ JVM, ์คํ ๋ฐ ํ๋ ์์ํฌ๋ฅผ ์ต์ ํํ๋ ๊ด๋ฒ์ํ ๊ฒฝํ์ ๋ณด์ ํ๊ณ ์์ต๋๋ค.
- ํ๋ซํผ์ ํด๋ผ์ฐ๋์์ ์๋ํ๋ ์ต์ด์ ์ ํ๋ฆฌ์ผ์ด์
์๋ฒ
Red Hat OpenShift . - ์ปดํจํฐ์์ ์คํ๋๋ ์ต์ด์ ์ ํ๋ฆฌ์ผ์ด์
์๋ฒ
PC๋ฅผ ์ฐ๊ฒฐํ์ธ์ . - ์คํ๋๋ ์ต์ด์ ์ ํ๋ฆฌ์ผ์ด์
์๋ฒ
๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด . - ์ฅ์น์์ ์คํ๋๋ ๋ค์ํ ํ๋ก์ ํธ
Android .
์ฐ๋ฆฌ๋ ์๋
๋์ ํด๋ผ์ฐ๋์ ๋ฆฌ์์ค๊ฐ ์ ํ๋ ์ฅ์น(์ฝ๊ธฐ: IoT)์์ Java ์ ํ๋ฆฌ์ผ์ด์
์ ์คํํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ์์ผ๋ฉฐ ์ฑ๋ฅ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ์ต์ ํ ์ธก๋ฉด์์ JVM์ ์ต๋ํ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ ์ต๋๋ค. ๋ค๋ฅธ ๋ง์ ์ฌ๋๋ค๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฐ๋ฆฌ๋ ์ค๋ซ๋์ Java ์ ํ๋ฆฌ์ผ์ด์
์ ๊ธฐ๋ณธ ์ปดํ์ผ ์์
์ ์ํํด ์์ต๋๋ค.
์ด๋ฌํ ์ฅ์ ๊ณผ ๋จ์ ์ ๊ณ ๋ คํ๋ ๊ฒ์ด ์ ์ค์ํ๊ฐ์? ์ด๋ค ์ํฉ์์๋ ๊ทธ ๋น์จ์ด ๊ฒฐ์ ์ ์ด ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ์๋ฅผ ๋ค์ด ์๋ฒ๋ฆฌ์ค/์ด๋ฒคํธ ์ค์ฌ ํ๊ฒฝ์์๋
์๋น์ค๋ฅผ ์์ํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค ์ด๋ฒคํธ์ ์๋ตํ ์๊ฐ์ ๊ฐ๊ธฐ ์ํด (ํ๋ ๋๋ ์ํํธ) ์ค์๊ฐ์ผ๋ก. ์๋ช ์ด ๊ธด ์๊ตฌ ์๋น์ค์ ๋ฌ๋ฆฌ ์ฌ๊ธฐ์ ์ฝ๋ ์คํํธ โโ๊ธฐ๊ฐ์ ์์ฒญ์ ๋ํ ์๋ต ์๊ฐ์ ํฌ๊ฒ ๋๋ฆฝ๋๋ค. JVM์ ์์ํ๋ ๋ฐ ์ฌ์ ํ ์๋นํ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ฉฐ, ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์์ํ ํ๋์จ์ด ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ฅผ ์ค์ผ ์ ์์ง๋ง 5์ด์ XNUMX๋ฐ๋ฆฌ์ด์ ์ฐจ์ด๊ฐ ์ถ๊ณผ ์ฃฝ์์ ์ฐจ์ด๊ฐ ๋ ์ ์์ต๋๋ค. ์, ์ฌ๊ธฐ์์ Java ๋จธ์ ์ ํซ ๋ฆฌ์ ๋ธ๋ฅผ ์์ฑํด ๋ณผ ์ ์์ต๋๋ค(์๋ฅผ ๋ค์ด ์ฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ด ํ์ต๋๋ค).OpenWhisk๋ฅผ Knative๋ก ํฌํ ) ๊ทธ๋ฌ๋ ์ด๊ฒ ์์ฒด๋ง์ผ๋ก๋ ๋ก๋๊ฐ ํ์ฅ๋จ์ ๋ฐ๋ผ ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ์ ์ถฉ๋ถํ JVM์ด ์๋ค๋ ๊ฒ์ ๋ณด์ฅํ์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฒฝ์ ์ ๊ด์ ์์ ๋ณผ ๋ ์ด๊ฒ์ ์๋ง๋ ๊ฐ์ฅ ์ฌ๋ฐ๋ฅธ ์ ํ์ด ์๋ ๊ฒ์ ๋๋ค. - ๊ฒ๋ค๊ฐ ์์ฃผ ๋ํ๋๋ ๋ ๋ค๋ฅธ ์ธก๋ฉด์ด ๋ฐ๋ก ๋ฉํฐํ ๋์์ ๋๋ค. JVM์ ๊ธฐ๋ฅ ๋ฉด์์ ์ด์ ์ฒด์ ์ ๋งค์ฐ ์ ์ฌํ๋ค๋ ์ฌ์ค์๋ ๋ถ๊ตฌํ๊ณ ์ฌ์ ํ Linux์์ ์ต์ํ ํ๋ก์ธ์ค ๊ฒฉ๋ฆฌ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ํ๋์ ์ค๋ ๋๊ฐ ์คํจํ๋ฉด ์ ์ฒด Java ์์คํ ์ด ๋ค์ด๋ ์ ์์ต๋๋ค. ๋ง์ ์ฌ๋๋ค์ ์คํจ๋ก ์ธํ ๊ฒฐ๊ณผ๋ฅผ ์ต์ํํ๊ธฐ ์ํด ๊ฐ ์ฌ์ฉ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํด ๋ณ๋์ JVM์ ์ ์ฉ์ผ๋ก ์ฌ์ฉํ์ฌ ์ด๋ฌํ ๋จ์ ์ ํด๊ฒฐํ๋ ค๊ณ ํฉ๋๋ค. ์ด๋ ๋งค์ฐ ๋ ผ๋ฆฌ์ ์ด์ง๋ง ์ค์ผ์ผ๋ง์๋ ์ ํฉํ์ง ์์ต๋๋ค.
- ๋ํ ํด๋ผ์ฐ๋ ์งํฅ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฒฝ์ฐ ์ค์ํ ์งํ๋ ํธ์คํธ์ ์๋น์ค ๋ฐ๋์
๋๋ค. ๋ฐฉ๋ฒ๋ก ์ผ๋ก์ ์ ํ
12๊ฐ์ง ์ ์ฉ ์์ , ๋ง์ดํฌ๋ก์๋น์ค ๋ฐ Kubernetes๋ ์ ํ๋ฆฌ์ผ์ด์ ๋น Java ๋จธ์ ์๋ฅผ ๋๋ฆฝ๋๋ค. ์ฆ, ์ด ๋ชจ๋ ๊ฒ์ด ํ๋ ฅ์ฑ๊ณผ ์ ๋ขฐ์ฑ์ ์ ๊ณตํ์ง๋ง ๋์์ ์๋น์ค ์ธก๋ฉด์์ ๊ธฐ๋ณธ ๋ฉ๋ชจ๋ฆฌ ์๋น๋ ์ฆ๊ฐํ๋ฉฐ ์ด๋ฌํ ๋น์ฉ ์ค ์ผ๋ถ๊ฐ ํญ์ ๊ผญ ํ์ํ ๊ฒ์ ์๋๋๋ค. ์ ์ ์ผ๋ก ์ปดํ์ผ๋ ์คํ ํ์ผ์ ์๋น์ค๊ฐ ์ค์ ๋ก ์ฌ์ฉํ๋ ํ๋ ์์ํฌ ๋ถ๋ถ(JDK ์์ฒด ํฌํจ)๋ง ์ต์ข ์ด๋ฏธ์ง์ ํฌํจ๋๋ ๊ฒฝ์ฐ ๋ฎ์ ์์ค์ ๋ฐ๋ ์ฝ๋ ์ ๊ฑฐ์ ๊ฐ์ ๋ค์ํ ์ต์ ํ ๊ธฐ์ ๋ก ์ธํด ์ด์ ์ ์ป์ต๋๋ค. ๋ฐ๋ผ์ Quarkus ๋ค์ดํฐ๋ธ ์ปดํ์ผ์ ๋ณด์์ ์์์ํค์ง ์๊ณ ํธ์คํธ์ ์๋น์ค ์ธ์คํด์ค๋ฅผ ์กฐ๋ฐํ๊ฒ ๋ฐฐ์นํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์ค์ ๋ก ์์ ์ฃผ์ฅ์ ์ด๋ฏธ Quarkus ํ๋ก์ ํธ ์ฐธ๊ฐ์์ ๊ด์ ์์ ๋ค์ดํฐ๋ธ ์ปดํ์ผ์ ์ ๋น์ฑ์ ์ดํดํ๊ธฐ์ ์ถฉ๋ถํฉ๋๋ค. ๊ทธ๋ฌ๋ ๊ธฐ์ ์ ์ด์ง๋ ์์ง๋ง ์ค์ํ ์ด์ ๊ฐ ๋ ์์ต๋๋ค. ์ต๊ทผ ๋ช ๋ ๋์ ๋ง์ ํ๋ก๊ทธ๋๋จธ์ ๊ฐ๋ฐ ํ์ฌ๊ฐ Java๋ฅผ ํฌ๊ธฐํ๊ณ ์๋ก์ด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ ํธํ๊ณ ์์ผ๋ฉฐ Java๋ JVM, ์คํ ๋ฐ ํ๋ ์์ํฌ์ ํจ๊ป ๋๋ฌด ๋ง์ด ์ฌ์ฉ๋์์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ๊ฑฐ๋ ๋๋ฌด ๋๋ฆฝ๋๋ค.
๊ทธ๋ฌ๋ ์ด๋ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋์ผํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ์ต๊ด์
์ถ์ฒ : habr.com