๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

๋‹น์‹ ์ด ์•Œ๊ณ  ์žˆ๋˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹ ๊ธฐ์ˆ  ์ •๋ณด ์‚ฌ์‹ค์ผ๊นŒ ๊ฑฐ์ง“์ผ๊นŒ?

by ์—์ด์—์Šค๋น„ํƒ€ 2025. 3. 19.
๋ฐ˜์‘ํ˜•

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹ ๊ธฐ์ˆ  ์ •๋ณด: ์‚ฌ์‹ค์ผ๊นŒ, ๊ฑฐ์ง“์ผ๊นŒ?

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ ์˜ ์„ธ๊ณ„๋Š” ๋น ๋ฅด๊ฒŒ ๋ณ€ํ™”ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์—ฌ๋Ÿฌ ์‹ ๊ธฐ์ˆ ์ด ๋งค์ผ ์ƒˆ๋กœ์šด ์žฅ์„ ์—ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ์ •๋ณด๋ฅผ ์–ด๋–ป๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? ์ผ๊ฐ์—์„œ๋Š” ํŠน์ • ๊ธฐ์ˆ ์ด ํ˜์‹ ์ ์ด๋ผ๊ณ  ์ฃผ์žฅํ•˜๋Š” ๋ฐ˜๋ฉด, ๋‹ค๋ฅธ ๊ณณ์—์„œ๋Š” ๊ทธ ๊ธฐ์ˆ ์ด ์‹ค์ œ๋กœ๋Š” ๋ณ„๋กœ ํšจ๊ณผ์ ์ด์ง€ ์•Š๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์ตœ์‹  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ  ์ค‘ ์ผ๋ถ€๋ฅผ ์‚ดํŽด๋ณด๊ณ , ๊ทธ๊ฒƒ๋“ค์ด ์‚ฌ์‹ค์ธ์ง€ ๊ฑฐ์ง“์ธ์ง€์— ๋Œ€ํ•œ ์‹ฌ๋„ ์žˆ๋Š” ๋ถ„์„์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ๋ถ„์ด ๋ณด๋‹ค ๋‚˜์€ ๊ฒฐ์ •์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ๋„๋ก ๋„์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ตœ์‹  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด: ์‹ ์˜ ํ•œ ์ˆ˜์ธ๊ฐ€?

1. ์ƒˆ๋กœ์šด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์ถœํ˜„

์ตœ๊ทผ ๋ช‡ ๋…„ ๋™์•ˆ ์ƒˆ๋กœ์šด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ๊ณ„์†ํ•ด์„œ ๋“ฑ์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ค‘์—๋Š” Rust์™€ Kotlin ๊ฐ™์€ ์–ธ์–ด๊ฐ€ ํŠนํžˆ ์ฃผ๋ชฉ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Rust๋Š” ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „์„ฑ์„ ๊ฐ•์กฐํ•˜๋ฉด์„œ๋„ ๊ณ ์„ฑ๋Šฅ์˜ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด Kotlin์€ ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์—์„œ Java๋ฅผ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๋Š” ์œ ๋ ฅํ•œ ํ›„๋ณด๋กœ ์ž๋ฆฌ ์žก์•˜์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋“ค ์–ธ์–ด๊ฐ€ ์ •๋ง๋กœ ์ด์ „ ์–ธ์–ด๋“ค๋ณด๋‹ค ์šฐ์ˆ˜ํ•œ๊ฐ€์— ๋Œ€ํ•œ ์˜๋ฌธ์€ ์—ฌ์ „ํžˆ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค.

2. Rust์˜ ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „์„ฑ

Rust์˜ ๊ฐ€์žฅ ํฐ ํŠน์ง• ์ค‘ ํ•˜๋‚˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ง์ ‘ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๋Š” C, C++์™€ ๊ฐ™์€ ์–ธ์–ด์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋งŽ์€ ๋ฒ„๊ทธ๋ฅผ ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. Rust์˜ ์†Œ์œ ๊ถŒ ๋ชจ๋ธ์„ ํ™œ์šฉํ•˜๋ฉด, ์ปดํŒŒ์ผ ํƒ€์ž„์— ๋ฉ”๋ชจ๋ฆฌ ์˜ค๋ฅ˜๋ฅผ ๊ฒ€์ถœํ•˜์—ฌ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋” ์•ˆ์ „ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค.

3. Kotlin์˜ ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ

Kotlin์€ ๊ฐ„๊ฒฐํ•œ ๋ฌธ๋ฒ•๊ณผ ํ•จ๊ป˜ Java์™€์˜ ๋›ฐ์–ด๋‚œ ํ˜ธํ™˜์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋“ค์€ ๊ธฐ์กด Java ์ฝ”๋“œ๋ฅผ Kotlin์œผ๋กœ ์‰ฝ๊ฒŒ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์ƒ์‚ฐ์„ฑ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ํ•œ ์˜ˆ๋กœ, Kotlin์—์„œ๋Š” ๋ณ€์ˆ˜ ์„ ์–ธ์‹œ ํƒ€์ž…์„ ๋ช…์‹œํ•˜์ง€ ์•Š์•„๋„ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„ ์ฝ”๋“œ๊ฐ€ ๊ฐ„๋‹จํ•ด์ง€๊ณ , ์˜ค๋ฅ˜ ๊ฐ€๋Šฅ์„ฑ๋„ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

4. ์ƒˆ๋กœ์šด ์–ธ์–ด์˜ ํ•œ๊ณ„

ํ•˜์ง€๋งŒ ์ƒˆ๋กœ์šด ์–ธ์–ด๋“ค์ด ๋ชจ๋‘ ๋งŒ๋ณ‘ํ†ต์น˜์•ฝ์€ ์•„๋‹™๋‹ˆ๋‹ค. Rust๋Š” ๋ฐฐ์šฐ๊ธฐ ์–ด๋ ค์šด ์–ธ์–ด๋กœ ์•Œ๋ ค์ ธ ์žˆ์œผ๋ฉฐ, ํ”„๋กœ๊ทธ๋žจ์˜ ๋ณต์žก์„ฑ์ด ์ฆ๊ฐ€ํ• ์ˆ˜๋ก ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์–ด๋ ค์›Œ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, Kotlin์€ JVM ํ™˜๊ฒฝ์— ์ข…์†์ ์ด๋ฏ€๋กœ, ๋„ค์ดํ‹ฐ๋ธŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ๋•Œ๋Š” ๋‹ค๋ฅธ ํ›„๋ณด๋ฅผ ๊ณ ๋ คํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ๊ธฐ์ˆ : ์ง„๋ณด์ธ๊ฐ€ ๊ณผ๋Œ€๊ด‘๊ณ ์ธ๊ฐ€?

1. ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ์˜ ์ •์˜

ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ๊ธฐ์ˆ ์€ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์ปจํ…Œ์ด๋„ˆํ™”, ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜, ๊ทธ๋ฆฌ๊ณ  ์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ… ๋“ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ™•์žฅ์„ฑ๊ณผ ์œ ์—ฐ์„ฑ์„ ์ œ๊ณตํ•˜๋Š”๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค.

2. ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์˜ ์žฅ์ 

์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ , ํŠนํžˆ Docker๋Š” ๊ฐœ๋ฐœ์ž๋“ค ์‚ฌ์ด์—์„œ ์ธ๊ธฐ๊ฐ€ ๋†’์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ™˜๊ฒฝ ์„ค์ •์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋ฉฐ, ์„œ๋กœ ๋‹ค๋ฅธ ์„œ๋ฒ„์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋™์ผํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Kubernetes์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜๋ฉด, ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ž๋™ํ™”ํ•˜์—ฌ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋“ค ๊ธฐ์ˆ ์€ ๋ณต์žกํ•œ ์„ค์ •์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ž˜๋ชป ๊ตฌํ˜„ํ•  ๊ฒฝ์šฐ ์˜คํžˆ๋ ค ๋ฌธ์ œ๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3. ์„œ๋ฒ„๋ฆฌ์Šค ์•„ํ‚คํ…์ฒ˜์˜ ์žฅ์ 

์„œ๋ฒ„๋ฆฌ์Šค ์•„ํ‚คํ…์ฒ˜๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ธํ”„๋ผ ๊ด€๋ฆฌ์— ๋Œ€ํ•œ ๋ถ€๋‹ด์„ ๋œ ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ค๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์ฝ”๋“œ ์ž‘์„ฑ๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ์œผ๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์„œ๋ฒ„๋ฆฌ์Šค ํ™˜๊ฒฝ์€ AWS Lambda์™€ ๊ฐ™์€ ํŠน์ • ์„œ๋น„์Šค์— ์˜์กดํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„์„œ, ์„œ๋น„์Šค ๊ณต๊ธ‰์ž์˜ ์ •์ฑ… ๋ณ€ํ™”์— ๋ถˆ์•ˆ์ •์„ฑ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

์‹ ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ ‘ํ•  ๋•Œ, ์šฐ๋ฆฌ๋Š” ๋‹จ์ˆœํžˆ ๊ทธ ๊ธฐ์ˆ ์ด '์ƒˆ๋กœ์šด'๊ฐ€ ์•„๋‹Œ, ์‹ค์งˆ์ ์œผ๋กœ 'ํšจ๊ณผ์ ์ธ์ง€'์— ๋Œ€ํ•œ ์งˆ๋ฌธ์„ ๋˜์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. Rust์™€ Kotlin์€ ๊ฐ๊ฐ์˜ ์žฅ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ, ๊ทธ ํ•œ๊ณ„๋„ ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ๊ธฐ์ˆ  ๋˜ํ•œ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ์ด๋ก ์ƒ ๋›ฐ์–ด๋‚œ ์žฅ์ ์ด ์กด์žฌํ•˜์ง€๋งŒ ์‹ค์ œ ์ ์šฉ์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋“ค์„ ์‹ ์ค‘ํžˆ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์„ ์ฑ„ํƒํ•  ๋•Œ๋Š” ๋‹จ์ˆœํ•œ ํŠธ๋ Œ๋“œ ์ถ”์ข…์ด ์•„๋‹ˆ๋ผ, ๋ณด๋‹ค ๊นŠ์ด ์žˆ๋Š” ๋ถ„์„๊ณผ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ธ€์—์„œ ๋‹ค๋ฃฌ ๋‚ด์šฉ์ด ์—ฌ๋Ÿฌ๋ถ„์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹ ๊ธฐ์ˆ ์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ์›ํ•˜์‹ ๋‹ค๋ฉด, ์ €ํฌ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ฐฉ๋ฌธํ•ด ์ฃผ์„ธ์š”. ์ตœ์‹  ๊ธฐ์ˆ  ์†Œ์‹๊ณผ ์œ ์šฉํ•œ ํŒ์„ ์ง€์†์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

๋ฉ”ํƒ€ ์„ค๋ช…: ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹ ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ๊นŠ์ด ์žˆ๋Š” ๋ถ„์„์„ ํ†ตํ•ด ์ตœ์‹  ์–ธ์–ด์™€ ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ๊ธฐ์ˆ ์˜ ์ง„์‹ค์„ ๋ฐํ˜€๋ณด์„ธ์š”.

#ํ”„๋กœ๊ทธ๋ž˜๋ฐ #์‹ ๊ธฐ์ˆ  #Rust #Kotlin #ํด๋ผ์šฐ๋“œ๋„ค์ดํ‹ฐ๋ธŒ #๊ธฐ์ˆ ๋ถ„์„ #๊ฐœ๋ฐœ์ž #์†Œํ”„ํŠธ์›จ์–ด #๋ฐ์ดํ„ฐ #์ธํ”„๋ผ

๋ฐ˜์‘ํ˜•