Required Technology - cra16/overcast GitHub Wiki

ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ ๋ฐ ์œ ์ง€ ๋ณด์ˆ˜, ์ง€์†์ ์ธ ๊ด€๋ฆฌ์— ํ•„์š”ํ•œ ๋ชจ๋“  ๊ธฐ์ˆ ์„ ์ •๋ฆฌํ•œ ๋ฌธ์„œ.

์ž๋™ํ™”

์ž์œ ์ž์žฌ๋กœ ๋ชจ์–‘๊ณผ ํฌ๊ธฐ๊ฐ€ ๋ณ€ํ•˜๋Š” ๊ตฌ๋ฆ„์ฒ˜๋Ÿผ, ํด๋ผ์šฐ๋“œ ์—ญ์‹œ ๋ชจ์–‘๊ณผ ํฌ๊ธฐ๊ฐ€ ์ž์œ ๋กญ๊ฒŒ ๋ณ€ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ํ˜•์ƒ์ด ์ž์œ ๋กญ๊ฒŒ ๋ณ€ํ™”ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š”๊ฑด๋ฐ, ํ˜•์ƒ์ด๋ผ๋Š” ๊ฒƒ์€ ๊ฒฐ๊ตญ "์„ค์ •(configuration)"์œผ๋กœ ํ‘œํ˜„๋œ๋‹ค.

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

ํ•˜์ง€๋งŒ ํด๋ผ์šฐ๋“œ ์‹œ์Šคํ…œ์€ ๋ชจ๋“  ์„ค์ •์„ ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ๊ด€๋ฆฌํ•ด์•ผ ํ•œ๋‹ค. ์‚ฌ๋žŒ์ด ์†์œผ๋กœ ์„ค์ •๊ด€๋ฆฌ๋ฅผ ํ•˜๋Š” ๊ฑด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ๋ฐ˜๋“œ์‹œ ์ž๋™ํ™” ์‹œ์Šคํ…œ ๊ตฌ์ถ•์ด ํ•„์š”ํ•˜๋‹ค.

  1. VM ํ˜น์€ baremetal ํ”„๋กœ๋น„์ €๋‹ ์ž๋™ํ™”
  2. ์šด์˜์ฒด์ œ ์„ค์ • ์ž๋™ํ™”
  3. ๋„คํŠธ์›Œํฌ์žฅ๋น„ ์„ค์ • ์ž๋™ํ™”

1, 2์˜ ๊ฒฝ์šฐ Chef ๊ฐ™์€ ์„ค์ •๊ด€๋ฆฌ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ์ž๋™ํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. L2, L3 ์žฅ๋น„์— ๋Œ€ํ•œ ์„ค์ • ์ž๋™ํ™”๋Š” ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ด ๋ฌธ์„œ์—์„œ ๊ณ ๋ คํ•˜๊ธฐ์—๋Š” ์ด์Šˆ๊ฐ€ ๋งŽ๋‹ค.

L4 ์žฅ๋น„์— ๋Œ€ํ•œ ์„ค์ •๊ด€๋ฆฌ๋งŒ ํ•˜๊ธฐ๋กœ ํ•œ๋‹ค. Citrix์™€ F5์˜ ๊ฒฝ์šฐ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์„ ๊ณ ๋ คํ•ด์„œ ํ’๋ถ€ํ•œ API๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค. ์ด๋“ค API๋ฅผ ์ด์šฉํ•ด์„œ ๋„คํŠธ์›Œํฌ ์žฅ๋น„์˜ ์„ค์ •๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ณตํ†ต API๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์žฅ๋น„๋งˆ๋‹ค ์ง์ ‘ ๊ฐœ๋ฐœํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์ด ๋ถ€๋‹ด์ด๋‹ค. ํ˜น์€ ์ง์ ‘ ๊ฐœ๋ฐœํ•ด๋„ ๋œ๋‹ค. ์ง์ ‘ ๊ฐœ๋ฐœํ•  ๊ฒฝ์šฐ ๋‹ค๋ฅธ ์šด์˜์ฒด์ œ์™€ ๊ฐ™์€ ๋ ˆ๋ฒจ์—์„œ์˜ ์„ค์ •๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•  ๊ฒƒ์ด๋‹ค. ํ†ตํ•ฉ ์ธก๋ฉด์—์„œ ์ข‹๊ธฐ๋Š” ํ•œ๋ฐ, ๊ฐœ๋ฐœ ๋ถ€๋‹ด์ด ์ข€ ๋” ์ปค์ง„๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.

๋ชจ๋‹ˆํ„ฐ๋ง

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

๊ธฐ๊ณ„์—ญ์‹œ (ํ•˜๋“œ์›จ์–ด, ์†Œํ”„ํŠธ์›จ์–ด์ ์ธ)์„ผ์„œ๋ฅผ ์ด์šฉํ•ด์„œ ์ฃผ๋ณ€ ํ™˜๊ฒฝ์„ ์ธ์‹ํ•ด์•ผ์ง€๋งŒ "์ž๋™ํ™”"๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

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

  • Auto VM provisioning
  • Auto scaling
  • Auto service provisioning
  • High Availability(๊ณ ๊ฐ€์šฉ์„ฑ)
  • Deploy management

Zabbix์™€ Zenoss, collectd, syslog-ng, snmp, rrd, ๋กœ๊ทธ๋ถ„์„ ์‹œ์Šคํ…œ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ์„ ์œตํ•ฉํ•œ ์†”๋ฃจ์…˜ ๊ฐœ๋ฐœ์ด ํ•„์š”ํ•˜๋‹ค. ํ™˜๊ฒฝ์— ๋”ฑ ๋งž์•„ ๋–จ์ด์ง€๋Š” ์†”๋ฃจ์…˜์ด๋ผ๋Š”๊ฒŒ ์—†์ด, ๋„คํŠธ์›Œํฌ/์‹œ์Šคํ…œ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ์„œ ์†”๋ฃจ์…˜์„ ๊ฐœ๋ฐœํ•ด์•ผ ํ•œ๋‹ค.

Hypervisor

๊ฐ€์ƒํ™”๋ฅผ ์œ„ํ•œ ๊ธฐ๋ฐ˜ ๋„๊ตฌ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. Xen์€ AWS์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ์ตœ๊ทผ๋“ค์–ด ์ฃผ๋ชฉ๋ฐ›๊ณ  ์žˆ๋Š” KVM ์—ญ์‹œ CloudStack, OpenStack ๋“ฑ์—์„œ ์ง์ ‘ ์ง€์›ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์—ฌ๋Ÿฌ ๊ธฐ์—…๋“ค์ด ๊ด€์‹ฌ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. Virtualbox ๊ธฐ๋ฐ˜์œผ๋กœ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•  ๊ฒฝ์šฐ ํ•œ ๊ฐ€์ง€ ๊ฑธ๋ฆฌ๋Š” ์ ์ด๋ผ๋ฉด, Tagged vlan์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์ด๋‹ค. Account ๋ณ„๋กœ VLAN์„ ํ• ๋‹นํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์˜๋ฏธ์ธ๋ฐ, ๋ญ VLAN์œผ๋กœ isolationํ•˜์ง€ ์•Š์„ ๊ฑฐ๋ผ๋ฉด ๋ญ ๋ณ„ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ ์ˆ˜๋„ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์–ด์ฐจํ”ผ KVM์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ ๊ตณ์ด ํ•œ ๋‹จ๊ณ„ ์ถ”์ƒํ™”๋œ virtualbox๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋‚˜๋ผ๋Š” ์ƒ๊ฐ์ด ๋“œ๋Š”๊ฒŒ ์‚ฌ์‹ค์ด๋‹ค.

Cloud OS

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

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

์–ธ์–ด์™€ ๋„๊ตฌ๋“ค

ํด๋ผ์šฐ๋“œ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด์™€ ๋„๊ตฌ๋“ค์„ ๋‚˜๋ฆ„์˜ ๊ธฐ์ค€์œผ๋กœ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.

  • perl: ์‹œ์Šคํ…œ/๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์ตœ์ ์˜ ์–ธ์–ด. CPAN๋งŒ ๋ฏฟ๊ณ  ๊ฐ€๋Š”๊ฑฐ๋‹ค.
  • shell: ์ง€์ €๋ถ„ํ•˜๋‹ค๊ณ  ์š•ํ•˜๊ณ  ์‹ถ๊ฒ ์ง€๋งŒ, perl๊ณผ ํ•จ๊ป˜ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์–ธ์–ด๋‹ค.
  • ruby: chef ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•œ๋‹ค. ์•„๋‹ˆ๋ผ๋ฉด ๊ทธ๋ƒฅ perl๋งŒ ๋ฏฟ๊ณ  ๊ฐ”์„๊ฑฐ๋‹ค.
  • chef: puppet์•„๋‹ˆ๋ฉด chef ๋‘˜ ์ค‘ ํ•˜๋‚˜์ธ ๊ฒƒ ๊ฐ™๋‹ค.
  • zabbix, zenoss: ๋ชจ๋‹ˆํ„ฐ๋ง์€ ํ•ด์•ผ์ง€.
  • collected: ๋ชจ๋‹ˆํ„ฐ๋ง์€ ํ•ด์•ผ์ง€.
  • rrd: ๋ชจ๋‹ˆํ„ฐ๋ง ์ •๋ณด๋ฅผ ํ†ต๊ณ„์ •๋ณด๋กœ ๋งŒ๋“ค๊ณ  ์ด๋ฅผ ์‹œ๊ฐํ™”.
  • splunk: ๋กœ๊ทธ ๋ถ„์„ํˆด. ์ข€ ๋น„์‹ธ๋‹ค.
  • php: ๋น ๋ฅด๊ฒŒ ์›น ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค ๋•Œ, ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • c/c++: ๊ธฐ๋ณธ ์†Œ์–‘
  • java: ๊ธฐ๋ณธ ์†Œ์–‘

Sys/net Admin

์‹œ์Šคํ…œ/๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ ๋Šฅ๋ ฅ ํ•„์ˆ˜๋‹ค. ์•„๋ž˜์˜ ๊ธฐ์ˆ ๋“ค์— ๋Œ€ํ•œ ๊ด€๋ฆฌ์ž ๋Šฅ๋ ฅ์ด ํ•„์š”ํ•˜๋‹ค.

  • NIC ๋„คํŠธ์›Œํฌ ์„ค์ •
  • VLAN
  • Bridge
  • PXE-BOOT
  • TFTP
  • NFS
  • ISCSI
  • chef modeling
  • iptables
  • ebtables
  • Proxy server
  • NAT
  • VNC
  • VPN
  • Load balance
  • LVS
  • LVM
  • distributed file system : glusterfs, swift
  • xen
  • kvm
  • IPMI