๐Ÿค– Computer Science/TOPCIT

TOPCIT ๋ฒผ๋ฝ์น˜๊ธฐ | ์‹œ์Šคํ…œ์•„ํ‚คํ…์ฒ˜ ํ™•์žฅ ๊ธฐ์ˆ : ๊ฐ€์ƒํ™”, ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…, ๋น…๋ฐ์ดํ„ฐ ์•„ํ‚คํ…์ฒ˜

yesolz 2023. 10. 19. 15:49
728x90

 

๊ฐ€์ƒํ™”์ปดํ“จํŒ…์˜ ์ง„ํ™”

๊ฐ€์ƒํ™” (Virtualization)

๋ฌผ๋ฆฌ์ ์œผ๋กœ ๊ตฌ์„ฑ๋œ ์˜จํ”„๋ ˆ๋ฏธ์Šค๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ๊ฐ€์ƒ ์„œ๋ฒ„, ์ปจํ…Œ์ด๋„ˆ, ์„œ๋ฒ„๋ฆฌ์Šค์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ๊ฐ€์ƒํ™”์ปดํ“จํŒ…์€ ์ง„ํ™”ํ•˜๊ณ  ์žˆ๋‹ค.

 

1. ์˜จํ”„๋ ˆ๋ฏธ์Šค (On-Premises):

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

2. ๊ฐ€์ƒ ์„œ๋ฒ„ (Virtual Machines - VMs):

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

3. ์ปจํ…Œ์ด๋„ˆ (Containerization):

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

4. ์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ… (Serverless Computing):

์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ…์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์„œ๋ฒ„ ์ธํ”„๋ผ ๊ด€๋ฆฌ ์—†์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํด๋ผ์šฐ๋“œ ํ”„๋กœ๋ฐ”์ด๋”๊ฐ€ ๋ฐฑ์—”๋“œ ์ธํ”„๋ผ๋ฅผ ์ž๋™์œผ๋กœ ๊ด€๋ฆฌํ•˜๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๋Š” ์ฝ”๋“œ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ…์€ ์ด๋ฒคํŠธ ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™ํ•˜๋ฉฐ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

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

 

๊ฐ€์ƒํ™”- VM(Virtual Machine)

  • ๋ฌผ๋ฆฌ์ ์ธ ์ปดํฌ๋„ŒํŠธ(Components, HW์žฅ์น˜)๋ฅผ ๋…ผ๋ฆฌ์ ์ธ ๊ฐ์ฒด๋กœ ์ถ”์ƒํ™”ํ•˜๋Š” ๊ฒƒ
  • ์ปดํ“จํ„ฐ์—์„œ ์ปดํ“จํ„ฐ ๋ฆฌ์†Œ์Šค์˜ ์ถ”์ƒํ™”๋ฅผ ์ผ์ปซ๋Š” ๊ด‘๋ฒ”์œ„ํ•œ ์šฉ์–ด

  • ๊ฐ€์ƒ๋จธ์‹ (Virtual Machine)์€ ๊ฐ€์ƒํ™”๋ฅผ ํ†ตํ•˜์—ฌ ๊ตฌํ˜„๋˜๋Š” ๋ณต์ œ๋œ ์ปดํ“จํŒ… ํ™˜๊ฒฝ
  • ํ•˜์ดํผ๋ฐ”์ด์ €(Hypervisor)๋Š” ๊ณต์œ  ์ปดํ“จํŒ… ์ž์›์„ ๊ด€๋ฆฌํ•˜๊ณ  ๊ฐ€์ƒ๋จธ์‹ ๋“ค์„ ์ปจํŠธ๋กคํ•˜๋Š” ์ค‘๊ฐ„ ๊ด€๋ฆฌ์ž

๊ฐ€์ƒํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์˜ ์ค‘์š”ํ•œ ์ฐจ์ด๋Š” 'ํ•˜์ดํผ๋ฐ”์ด์ €'๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์— ์žˆ๋‹ค.

 

ํ•˜์ดํผ๋ฐ”์ด์ €์˜ ์œ ํ˜•

  • TYPE 1 (NATIVEํ˜•) : ํ•˜์ดํผ๋ฐ”์ด์ €์—์„œ๋งŒ ์‚ฌ์šฉ - ๋†’์€ ์„ฑ๋Šฅ
  • TYPE 2 (HOSTํ˜•) : host OS๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ทธ ์œ„์— ํ•˜์ดํผ๋ฐ”์ด์ €๊ฐ€ ์˜ฌ๋ผ๊ฐ. - ์‰ฌ์šด ์„ค์น˜, ์‰ฌ์šด ๊ด€๋ฆฌ

TYPE 1 ํ•˜์ดํผ๋ฐ”์ด์ €๋Š” ์„œ๋ฒ„ ๊ฐ€์ƒํ™”์™€ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ ํ™˜๊ฒฝ์—์„œ ๋” ์ ํ•ฉํ•˜๋ฉฐ, 
TYPE 2 ํ•˜์ดํผ๋ฐ”์ด์ €๋Š” ๊ฐœ๋ฐœ ๋ฐ ํ…Œ์ŠคํŠธ, ๋ฐ์Šคํฌํ†ฑ ๊ฐ€์ƒํ™” ๋“ฑ์˜ ์ž‘์—…์— ๋” ์ ํ•ฉํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 Type 1 (NATIVEํ˜•)์€ ์ „๊ฐ€์ƒํ™” ๋ฐฉ์‹๊ณผ ๋ฐ˜๊ฐ€์ƒํ™” ๋ฐฉ์‹์œผ๋กœ ๋‚˜๋‰œ๋‹ค. 

  • ์ „๊ฐ€์ƒํ™” : ํ•˜๋“œ์›จ์–ด ์ „์ฒด๋ฅผ ๊ฐ€์ƒํ™”ํ•จ. - ๊ฒŒ์ŠคํŠธOS๋Š” ํ•˜์ดํผ๋ฐ”์ด์ €๋ฅผ ํ†ตํ•ด์„œ ํ•˜๋“œ์›จ์–ด์™€ ํ†ต์‹ ์„ ํ•  ์ˆ˜๋ฐ–์— ์—†๋‹ค. → ์„ฑ๋Šฅ์€ ๋‚ฎ์•„์ง€์ง€๋งŒ ๊ฒŒ์ŠคํŠธ OS์˜ ๋ณ€ํ™”๋Š” ํ•„์š”๊ฐ€ ์—†๋‹ค.
  • ๋ฐ˜๊ฐ€์ƒํ™” : ์ผ๋ถ€๋งŒ ๊ฐ€์ƒํ™”ํ•จ - ์ˆ˜์ •๋œ ๊ฒŒ์ŠคํŠธOS๊ฐ€ ํ•˜๋“œ์›จ์–ด์™€ ์ง์ ‘ ์†Œํ†ต. → ๋†’์€ ์„ฑ๋Šฅ ! ๊ฒŒ์ŠคํŠธOS๊ฐ€ ์ˆ˜์ •๋˜์–ด์•ผํ•ด ๋ณต์žกํ•จ.

 

๊ฐ€์ƒํ™” - ์ปจํ…Œ์ด๋„ˆ(Container)

๋ชจ๋“ˆํ™”๋˜๊ณ  ๊ฒฉ๋ฆฌ๋œ ์ปดํ“จํŒ… ๊ณต๊ฐ„ ๋˜๋Š” ์ปดํ“จํŒ… ํ™˜๊ฒฝ, ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฒฉ๋ฆฌํ•˜์—ฌ ๋ชจ๋“ˆํ™”๋œ ํ”„๋กœ๊ทธ๋žจ ํŒจํ‚ค์ง€๋กœ์„œ ์ˆ˜ํ–‰.

๊ฐ€์ƒ๋จธ์‹ ์—์„œ ํ•„์š”ํ•œ ๊ฒŒ์ŠคํŠธOS ๋ฐฉ์‹์ด ์•„๋‹ˆ๋ผ ํ”„๋กœ๊ทธ๋žจ์ด ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์ˆ˜ํ–‰๋œ๋‹ค. 

→ VM๋ฐฉ์‹๊ณผ ์ปจํ…Œ์ด๋„ˆ ๋ฐฉ์‹์˜ ๊ฐ€์žฅ ํฐ ์ฐจ์ด๋Š” ๊ฒŒ์ŠคํŠธOS์˜ ์œ ๋ฌด์ด๋‹ค.

์ปจํ…Œ์ด๋„ˆ๋Š” ๊ฒฝ๋Ÿ‰์˜ ๊ฐ€์ƒํ™” ๋ฐฉ์‹. ์ˆ˜๋งŽ์€ ์ปจํ…Œ์ด๋„ˆ๋“ค๋กœ ์šด์˜๋  ์ˆ˜ ์žˆ๋‹ค.

์ด ์ˆ˜๋งŽ์€ ๊ฑธ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜(Orchestration) ํ”Œ๋žซํผ์ด ํ•„์š”ํ•œ๋ฐ, ๊ทธ๊ฒƒ์ด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์ด๋‹ค.

 

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค

์ปจํ…Œ์ด๋„ˆํ™”๋œ ์›Œํฌ๋กœ๋“œ์™€ ์„œ๋น„์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ด์‹์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ๊ฐ–์ถ˜ ์˜คํ”ˆ์†Œ์Šค ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ”Œ๋žซํผ.

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์•„ํ‚คํ…์ฒ˜์—๋Š” ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์™€ ์›Œ์ปค ๋…ธ๋“œ(์Šฌ๋ ˆ์ด๋ธŒ)๋กœ ๊ตฌ์„ฑ๋œ ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.

1. ๋งˆ์Šคํ„ฐ (Master): ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ค‘์‹ฌ ์ œ์–ด ํ”Œ๋ ˆ์ธ. 

๋งˆ์Šคํ„ฐ ๋…ธ๋“œ ๊ตฌ์„ฑ์š”์†Œ

  • API ์„œ๋ฒ„ (API Server): ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” RESTful API๋ฅผ ์ œ๊ณตํ•จ. ๋ชจ๋“  ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ ์š”์†Œ์™€ ์‚ฌ์šฉ์ž๊ฐ€ API ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ํ†ต์‹ ํ•จ.
  • etcd: ์ผ๊ด€๋œ ํ‚ค-๊ฐ’ ์Šคํ† ์–ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ, ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ ์ •๋ณด ๋ฐ ์ƒํƒœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•จ.
  • ์Šค์ผ€์ค„๋Ÿฌ (Scheduler): ์ƒˆ๋กœ์šด ํŒŒ๋“œ(pod)๋ฅผ ์–ด๋–ค ๋…ธ๋“œ์— ๋ฐฐ์น˜ํ• ์ง€ ๊ฒฐ์ •ํ•จ. ์Šค์ผ€์ค„๋Ÿฌ๋Š” ๋ฆฌ์†Œ์Šค ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ ์ •์ฑ…์„ ๊ณ ๋ คํ•˜์—ฌ ์ตœ์ ์˜ ๋…ธ๋“œ๋ฅผ ์„ ํƒํ•จ.
  • ์ปจํŠธ๋กค ๋งค๋‹ˆ์ € (Controller Manager): ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ƒํƒœ๋ฅผ ๊ฐ์‹œํ•˜๊ณ  ์ ์ ˆํ•œ ์กฐ์น˜๋ฅผ ์ทจํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•จ. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ณต์ œ ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์ง€์ •๋œ ์ˆ˜์˜ ํŒŒ๋“œ๊ฐ€ ์‹คํ–‰๋˜๋„๋ก ์œ ์ง€ํ•จ.


2. ์›Œ์ปค (Worker): ์‹ค์ œ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋…ธ๋“œ.

์›Œ์ปค ๋…ธ๋“œ ๊ตฌ์„ฑ์š”์†Œ

  • Kubelet: ๊ฐœ๋ณ„ ์›Œ์ปค ๋…ธ๋“œ์—์„œ ์‹คํ–‰๋˜๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ์ž๋กœ, ๋งˆ์Šคํ„ฐ์˜ ๋ช…๋ น์„ ๋ฐ›์•„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ์ข…๋ฃŒํ•จ.
  • Kube Proxy: ๋„คํŠธ์›Œํฌ ํ”„๋ก์‹œ ๋ฐ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋กœ, ํŒŒ๋“œ ๊ฐ„์˜ ํ†ต์‹ ์„ ๊ด€๋ฆฌํ•˜๊ณ  ์„œ๋น„์Šค ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์„ ์ง€์›ํ•จ.
  • Container Runtime: ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด (์˜ˆ: Docker, containerd).


์›Œ์ปค ๋…ธ๋“œ๋Š” ํŒŒ๋“œ๋ผ๋Š” ์ตœ์†Œ ์‹คํ–‰ ๋‹จ์œ„๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋ฉฐ, ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์—์„œ ํŒŒ๋“œ ๋ฐฐ์น˜ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ ์ปดํฌ๋„ŒํŠธ๋“ค๊ณผ ํ˜‘๋ ฅํ•œ๋‹ค. 

 

๊ฐ€์ƒํ™” - ์„œ๋ฒ„๋ฆฌ์Šค(Serverless)

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค์™€ ์Šคํ† ๋ฆฌ์ง€(์ €์žฅ์†Œ)๋ฅผ ๋™์ ์œผ๋กœ ํ• ๋‹นํ•˜๊ณ , ์‚ฌ์šฉ์ž๋Š” ๊ทธ ๋ถ€๋ถ„๋งŒํผ๋งŒ ๋น„์šฉ์„ ์ง€๋ถˆํ•˜๋Š” ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ….

๊ตฌ๋ถ„ BaaS (Backend as a service) FaaS (Function as a Service)
๊ฐœ๋… ์›น/์•ฑ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ, ํ‘ธ์‹œ, ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ ๋ฐ ์ ‘์† ์ œ์–ด ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ํ‘œ์ค€ํ™” API๋กœ ์ œ๊ณตํ•˜๋Š” ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค BaaS์™€ ๋‹ฌ๋ฆฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ์—ฌ๋Ÿฌ ํ•จ์ˆ˜๋“ค์„ ํด๋ผ์šฐ๋“œ์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์˜ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค
๋ชฉ์  ๋ฐฑ์—”๋“œ์—์„œ ์ œ๊ณต๋˜์–ด์•ผ ํ•  ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ํด๋ผ์šฐ๋“œ์—์„œ ์ง์ ‘ ํ˜ธ์ถœ ์„œ๋ฒ„์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ๊ธฐ๋Šฅ๋“ค์„ ์ง์ ‘ ๊ฐœ๋ฐœ ํ›„ ํด๋ผ์šฐ๋“œ์—์„œ ์ง์ ‘ ์‹คํ–‰
ํŠน์ง• ๋ฐฑ์—”๋“œ ์ œ๊ณต ๊ธฐ๋Šฅ ํ˜ธ์ถœํ•˜์—ฌ ๊ฐ์ž ๊ณ ์œ  ์„œ๋น„์Šค์— ์ง‘์ค‘ ๊ฐ€๋Šฅ Stateless ๋ฐฉ์‹์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ๋™
์„œ๋น„์Šค ๊ธฐ๋ก, ๊ด€๋ฆฌ, ์ธ์ฆ, ์„œ๋น„์Šค ๊ตฌ๋™ ๋“ฑ ์‹œ์Šคํ…œ์—์„œ์˜ ๊ธฐ๋Šฅ ๋‹จ์œ„ ์„œ๋น„์Šค

 

 

ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…

์„œ๋กœ ๋‹ค๋ฅธ ๋ฌผ๋ฆฌ์ ์ธ ์œ„์น˜์— ์กด์žฌํ•˜๋Š” ์ปดํ“จํ„ฐ๋“ค์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ๋กœ ํ†ตํ•ฉํ•ด ์ œ๊ณตํ•˜๋Š” ๊ธฐ์ˆ 

M ๋ฐฉ์‹์˜ laaS, ์ปจํ…Œ์ด๋„ˆ ๋ฐฉ์‹์˜ CaaS, ํ”Œ๋žซํผ ์ œ๊ณตํ•˜๋Š” PaaS, ์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ…์„ ์ œ๊ณตํ•˜๋Š” FaaS
์ด ๋ชจ๋“  ์„œ๋น„์Šค๋“ค์ด ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…์œผ๋กœ ์ œ๊ณต๋˜๊ณ  ์žˆ๋‹ค. 

  1. IaaS (Infrastructure as a Service - ์ธํ”„๋ผ์ŠคํŠธ๋Ÿญ์ฒ˜ ์„œ๋น„์Šค):
    • ์„ค๋ช…: IaaS๋Š” ๊ฐ€์ƒํ™”๋œ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์ด ๋ชจ๋ธ์—์„œ ์‚ฌ์šฉ์ž๋Š” ๊ฐ€์ƒ ๋จธ์‹ , ์Šคํ† ๋ฆฌ์ง€, ๋„คํŠธ์›Œํฌ, ๊ทธ๋ฆฌ๊ณ  ์šด์˜ ์ฒด์ œ์™€ ๊ฐ™์€ ๊ธฐ๋ณธ ์ธํ”„๋ผ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ด ์ธํ”„๋ผ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ฑ…์ž„์ด ์žˆ๋‹ค.
    • ์˜ˆ์‹œ: AWS EC2, Microsoft Azure VMs, Google Compute Engine
  2. CaaS (Container as a Service - ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค):
    • ์„ค๋ช…: CaaS๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ์™€ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์„ ์œ„ํ•œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํŒจํ‚ค์ง•ํ•˜๊ณ  ๋ฐฐํฌํ•˜๋ฉฐ, ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ”Œ๋žซํผ์ด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ž๋™์œผ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค. ์ด ๋ชจ๋ธ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ด์‹์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ๋†’์ธ๋‹ค.
    • ์˜ˆ์‹œ: Kubernetes, Docker Swarm, Google Kubernetes Engine (GKE)
  3. PaaS (Platform as a Service - ํ”Œ๋žซํผ ์„œ๋น„์Šค):
    • ์„ค๋ช…: PaaS๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ํ”Œ๋žซํผ์„ ์ œ๊ณตํ•œ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๋ชจ๋ธ์—์„œ๋Š” ์ธํ”„๋ผ๋‚˜ ์šด์˜ ์ฒด์ œ์— ๋Œ€ํ•œ ๊ฑฑ์ • ์—†์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋ฅผ ๋ฐฐํฌํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์˜ˆ์‹œ: Heroku, Google App Engine, Microsoft Azure App Service
  4. FaaS (Function as a Service - ํ•จ์ˆ˜ ์„œ๋น„์Šค):
    • ์„ค๋ช…: FaaS๋Š” ์ด๋ฒคํŠธ ํŠธ๋ฆฌ๊ฑฐ์— ๋”ฐ๋ผ ์‹คํ–‰๋˜๋Š” ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ์„œ๋น„์Šค๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์—…๋กœ๋“œํ•˜๋ฉฐ, ์ด๋ฒคํŠธ(์˜ˆ: HTTP ์š”์ฒญ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณ€๊ฒฝ)๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํ•ด๋‹น ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋œ๋‹ค. ์„œ๋ฒ„ ์ธํ”„๋ผ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š” ์—†์œผ๋ฉฐ, ๋น„์šฉ์€ ํ•จ์ˆ˜ ์‹คํ–‰ ์‹œ๊ฐ„๊ณผ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋Ÿ‰์— ๋”ฐ๋ผ ์ฒญ๊ตฌ๋œ๋‹ค.
    • ์˜ˆ์‹œ: AWS Lambda, Azure Functions, Google Cloud Functions

๊ฐ ์„œ๋น„์Šค ๋ชจ๋ธ์€ ๋‹ค๋ฅธ ์ˆ˜์ค€์˜ ์ถ”์ƒํ™”์™€ ๊ด€๋ฆฌ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ์‚ฌ์šฉ ์‚ฌ๋ก€์™€ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋”ฐ๋ผ ์„ ํƒ๋œ๋‹ค. IaaS๋Š” ๋” ๋งŽ์€ ์ปจํŠธ๋กค๊ณผ ์œ ์—ฐ์„ฑ์„ ์ œ๊ณตํ•˜๋ฉฐ, PaaS ๋ฐ FaaS๋Š” ๊ฐœ๋ฐœ์ž ์ƒ์‚ฐ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ์ธํ”„๋ผ ๊ด€๋ฆฌ ๋ถ€๋‹ด์„ ์ค„์ธ๋‹ค. CaaS๋Š” ์ปจํ…Œ์ด๋„ˆํ™”๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐฐํฌ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ๊ฐ„์†Œํ™”ํ•˜๋ฉฐ, ์„œ๋ฒ„๋ฆฌ์Šค(FaaS)๋Š” ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰์„ ์ง€์›ํ•œ๋‹ค.

 

ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ์•„ํ‚คํ…์ฒ˜ : ๋ฉ€ํ‹ฐ ํด๋ผ์šฐ๋“œ / ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํด๋ผ์šฐ๋“œ

์ค‘์š”ํ•œ ์ฐจ์ด๋Š”, ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํด๋ผ์šฐ๋“œ๋Š” On-premise์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค!
์˜จํ”„๋ ˆ๋ฏธ์Šค๋Š” ๊ธฐ์—… ๋‚ด๋ถ€์˜ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์˜ ์ธํ”„๋ผ ์ž์›๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ !
์›Œํฌ๋กœ๋“œ ๋˜ํ•œ ๊ฐ™์ด ์„œ๋น„์Šค ๋  ์ˆ˜ ์žˆ๋Š” ํŠน์ง•์ด ์žˆ๋‹ค.

  1. ๋ฉ€ํ‹ฐ ํด๋ผ์šฐ๋“œ (Multi-Cloud):
    • ์„ค๋ช…: ๋ฉ€ํ‹ฐ ํด๋ผ์šฐ๋“œ๋Š” ๊ธฐ์—…์ด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋‹ค๋ฅธ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ์ œ๊ณต์—…์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ IT ๋ฆฌ์†Œ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์šด์˜ํ•˜๋Š” ๋ชจ๋ธ์ด๋‹ค. ์ด ๋ชจ๋ธ์€ ๋ฒค๋” ๋ฝ์ธ(Vendor Lock-In)์„ ํ”ผํ•˜๊ณ  ๋ฆฌ์†Œ์Šค ๊ฐ€์šฉ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. ์—ฌ๋Ÿฌ ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด์˜ ์„œ๋น„์Šค ๋ฐ ๋ฆฌ์†Œ์Šค๋ฅผ ํ˜ผํ•ฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ์— ๋”ฐ๋ผ ์ตœ์ ์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์žฅ์ :
      • ๋ฒค๋” ์ค‘๋ฆฝ์„ฑ: ๋‹ค์–‘ํ•œ ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฒค๋” ์ข…์†์„ฑ์„ ํ”ผํ•  ์ˆ˜ ์žˆ๋‹ค.
      • ๋ฆฌ์†Œ์Šค ๊ฐ€์šฉ์„ฑ: ์—ฌ๋Ÿฌ ํด๋ผ์šฐ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฆฌ์†Œ์Šค ๊ฐ€์šฉ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.
      • ๋น„์šฉ ์ ˆ๊ฐ: ๋ฆฌ์†Œ์Šค์˜ ๋น„์šฉ์„ ๊ฐ์†Œ์‹œํ‚ค๊ณ  ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋‹จ์ :
      • ๋ณต์žก์„ฑ: ์—ฌ๋Ÿฌ ํด๋ผ์šฐ๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ํ†ตํ•ฉํ•˜๋Š” ๋ฐ ๋ณต์žก์„ฑ์ด ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
      • ๊ด€๋ฆฌ ์–ด๋ ค์›€: ๋ฉ€ํ‹ฐ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์„ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋ ค๋ฉด ๊ด€๋ฆฌ ๋„๊ตฌ ๋ฐ ์ •์ฑ…์ด ํ•„์š”ํ•˜๋‹ค.
  2. ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํด๋ผ์šฐ๋“œ (Hybrid Cloud):
    • ์„ค๋ช…: ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํด๋ผ์šฐ๋“œ๋Š” ์˜จํ”„๋ ˆ๋ฏธ์Šค(On-Premises) ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์™€ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์„ ํ†ตํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋ธ์ด๋‹ค. ์ด ๋ชจ๋ธ์€ ๊ธฐ์กด ์˜จํ”„๋ ˆ๋ฏธ์Šค ์ธํ”„๋ผ์™€ ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ ์‚ฌ์ด์— ๋ฐ์ดํ„ฐ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ด๋™ํ•˜๊ณ  ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. ๋ณด์•ˆ, ๊ทœ์ • ์ค€์ˆ˜, ๋ฆฌ์†Œ์Šค ์ตœ์ ํ™” ๋“ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ์˜จํ”„๋ ˆ๋ฏธ์Šค ๋ฐ ํด๋ผ์šฐ๋“œ ๋ฆฌ์†Œ์Šค๋ฅผ ํ˜ผํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.
    • ์žฅ์ :
      • ์œ ์—ฐ์„ฑ: ์˜จํ”„๋ ˆ๋ฏธ์Šค ๋ฐ ํด๋ผ์šฐ๋“œ ๋ฆฌ์†Œ์Šค์˜ ์œ ์—ฐํ•œ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
      • ๋ณด์•ˆ ๋ฐ ๊ทœ์ • ์ค€์ˆ˜: ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์˜จํ”„๋ ˆ๋ฏธ์Šค์— ์œ ์ง€ํ•˜๋ฉด์„œ ํด๋ผ์šฐ๋“œ์—์„œ ํ™•์žฅ์„ฑ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.
      • ๋น„์šฉ ์ ˆ๊ฐ: ํ•„์š”์— ๋”ฐ๋ผ ํด๋ผ์šฐ๋“œ ๋ฆฌ์†Œ์Šค๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋น„์šฉ์„ ์ ˆ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋‹จ์ :
      • ๋ณต์žก์„ฑ: ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํด๋ผ์šฐ๋“œ ์•„ํ‚คํ…์ฒ˜๋Š” ๊ตฌ์„ฑ ๋ฐ ๊ด€๋ฆฌ๊ฐ€ ๋ณต์žกํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ ์ ˆํ•œ ๋ณด์•ˆ ๋ฐ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
      • ์ธํ”„๋ผ์ŠคํŠธ๋Ÿญ์ฒ˜ ์ด๋™: ๋ฐ์ดํ„ฐ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์˜จํ”„๋ ˆ๋ฏธ์Šค์™€ ํด๋ผ์šฐ๋“œ ์‚ฌ์ด์—์„œ ์›€์ง์ด๋Š” ๊ฒƒ์€ ๊ด€๋ฆฌ์˜ ์–ด๋ ค์›€์„ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

์•„ํ‚คํ…์ฒ˜ ์‚ฌ๋ก€

Cloud ์•„ํ‚คํ…์ฒ˜

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

 

MSA (Micro Service Architecture) ์•„ํ‚คํ…์ฒ˜

์‹œ์Šคํ…œ ์•„ํ‚คํ…์ณ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ชจ๋ธ๋กœ ์ œ๊ณต๋  ์ˆ˜ ์žˆ๋‹ค. ๋ ˆ์ด์–ด๋ณ„๋กœ ๋ถ„๋ฅ˜๋œ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ณ๋Š” ๋ฐ์ดํ„ฐ๋ ˆ์ด์–ด, ํ”Œ๋žซํผ ๋ ˆ์ด์–ด, ์„œ๋น„์Šค Integration ๋ ˆ์ด์–ด ์œ„์— ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ๋ณ„๋กœ ๋ถ„๋ฅ˜๊ฐ€ ๋˜์–ด์žˆ๊ณ  ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋“ค์„ API ์œ„์—์„œ ๋ผ์šฐํŒ…, ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ, ๋ณด์•ˆ์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค. ์‚ฌ์šฉ์ž๋Š” UI ๋ ˆ์ด์–ด์—์„œ ํ”„๋ก ํŠธ UI๋กœ ์ ‘์†์„ ํ•˜๊ฒŒ ๋˜๊ณ , ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์€ ๋ฐฑ์˜คํ”ผ์Šค๋‚˜ ๋ฐฑ์—”๋“œ UI์—์„œ ์ˆ˜ํ–‰์„ ํ•˜๋Š” ์•„ํ‚คํ…์ณ ์‚ฌ๋ก€์ด๋‹ค.

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

 

 

๋น…๋ฐ์ดํ„ฐ ์•„ํ‚คํ…์ฒ˜

ํ•˜๋‘ก(Hadoop)

  • ๋Œ€๋Ÿ‰์˜ ์ž๋ฃŒ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํฐ ์ปดํ“จํ„ฐ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๋™์ž‘ํ•˜๋Š” ๋ถ„์‚ฐ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์ง€์›ํ•˜๋Š” ๋ถ„์‚ฐ ์†Œํ”„ํŠธ์›จ์–ด ํ”Œ๋žซํผ
  • ๋ถ„์‚ฐ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์ธ ๊ตฌ๊ธ€ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๋Š” ํ•˜๋‘ก ๋ถ„์‚ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ(HDFS, Haddop Distributed File System)๊ณผ ๋งต๋ฆฌ๋“€์Šค๋ฅผ ๊ตฌํ˜„
๋ถ„๋ฅ˜ ์—ญํ• 
Hadoop Common Hadoop ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์œ„ํ•œ ๊ณตํ†ต ์œ ํ‹ธ๋ฆฌํ‹ฐ
HDFS (Hadoop Distributed File System) ๋ฒ”์šฉ ํ•˜๋“œ์›จ์–ด๋กœ ๊ตฌ์„ฑ๋œ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์‹คํ–‰๋˜๊ณ  ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ํŒจํ„ด์„ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐฉ์‹์œผ๋กœ ์ง€์›ํ•˜์—ฌ ๋งค์šฐ ์ปค๋‹ค๋ž€ ํŒŒ์ผ๋“ค์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ
MapReduce ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ
- Map Phase: ๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ์ค„์”ฉ ์ฝ์–ด์„œ ํ‚ค์™€ ๋ฐธ๋ฅ˜๋กœ ๋ฌถ์–ด์คŒ
- Reduce Phase: Map Phase์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„ ํ•ฉ์น˜๊ณ  ์ •๋ฆฌํ•จ

 

 

HDFS์˜ ์•„ํ‚คํ…์ฒ˜

HDFS๋Š” ๋„ค์ž„๋…ธ๋“œ์™€ ๋ฐ์ดํ„ฐ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ์ด ๋˜์–ด์žˆ๋‹ค.

  • ๋„ค์ž„๋…ธ๋“œ : ํŒŒ์ผ์‹œ์Šคํ…œ์˜ ๋„ค์ž„์ŠคํŽ˜์ด์Šค(๋””๋ ‰ํ† ๋ฆฌ, ํŒŒ์ผ๋ช…, ํŒŒ์ผ๋ธ”๋Ÿญ) ๋“ฑ์„ ๊ด€๋ฆฌํ•˜๋ฉฐ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ ์ฒ˜๋ฆฌ ! 
  • ๋ฐ์ดํ„ฐ๋…ธ๋“œ : ๋ธ”๋ก๋“ค์€ ๊ฐ€์šฉ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ๋…ธ๋“œ์— ๋ถ„์‚ฐ ์ €์žฅ 

 

 

 

MapReduce์˜ ๊ฐœ๋…

ํด๋Ÿฌ์Šคํ„ฐ ํ™˜๊ฒฝ์—์„œ ํŽ˜ํƒ€ ๋ฐ”์ดํŠธ ์ด์ƒ์˜ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ‘๋ ฌ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ผ์ข…์˜ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ.

MapReduce๋Š” JobTracker์™€ TaskTracker๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋‹ค.

๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์˜ ์žก ํŠธ๋ž˜์ปค๊ฐ€ ํƒœ์Šคํฌ ํŠธ๋ž˜์ปค์— ์ž‘์—…์„ ํ• ๋‹นํ•˜๊ฒŒ ๋˜๋ฉด, ํƒœ์ŠคํฌํŠธ๋ž˜์ปค๋Š” Mapํ•จ์ˆ˜์™€ Reduceํ•จ์ˆ˜๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

๋งตํ•ฉ์ˆ˜๋ฅผ ํ†ตํ•ด ํ‚ค์™€ ๋ฐธ๋ฅ˜ ๊ตฌ์กฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „ํ™˜ํ•˜๊ณ , ๋ฆฌ๋“€์Šค ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ํ•„์š”ํ•œ ํ‚ค์— ๋งž์ถ”์–ด ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์‚ฐํ•œ๋‹ค.

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

 

 

 

Spark ์‹œ์Šคํ…œ

๋น…๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์ธ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๊ณ ์†์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ฐจ์„ธ๋Œ€ ๋น…๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ํ”„๋ ˆ์ž„์›Œํฌ.

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

 

 

ํ•˜๋‘ก์€ ์ •ํ˜• ๋น„์ •ํ˜• ๋ชจ๋“  ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ 
Data Warehouse์—์„œ๋Š” ์ •ํ˜•๋ฐ์ดํ„ฐ์˜ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•จ์œผ๋กœ์จ
๋น„์ฆˆ๋‹ˆ์Šค์— ๋Œ€ํ•œ ์˜์‚ฌ๊ฒฐ์ •์„ ๋ณด๋‹ค ๋„“๊ณ  ๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค.

ํ•˜๋‘ก์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋น…๋ฐ์ดํ„ฐ์™€ ๋ฐ์ดํ„ฐ์›จ์–ดํ•˜์šฐ์Šค์˜ ๊ฒฐํ•ฉ์œผ๋กœ ์ฒ˜๋ฆฌ๋œ ๋ฐ์ดํ„ฐ๋Š”
๊ฐ€์‹œํ™”๊ฐ€ ๋˜๊ฑฐ๋‚˜, ๋ณด๋‹ค ์‹ค์‹œ๊ฐ„์˜ ์˜์‚ฌ ๊ฒฐ์ •์„ ์ง€์›, ๋ฌธ์ œ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ํ™œ์šฉ์ด ๋˜๊ณ  ์žˆ๋‹ค.

 

 

ref.

ํŠน๊ฐ• ๋งํฌ

728x90