Required Technology - cra16/overcast GitHub Wiki
ํด๋ผ์ฐ๋ ์ปดํจํ ์์คํ ๊ฐ๋ฐ ๋ฐ ์ ์ง ๋ณด์, ์ง์์ ์ธ ๊ด๋ฆฌ์ ํ์ํ ๋ชจ๋ ๊ธฐ์ ์ ์ ๋ฆฌํ ๋ฌธ์.
์๋ํ
์์ ์์ฌ๋ก ๋ชจ์๊ณผ ํฌ๊ธฐ๊ฐ ๋ณํ๋ ๊ตฌ๋ฆ์ฒ๋ผ, ํด๋ผ์ฐ๋ ์ญ์ ๋ชจ์๊ณผ ํฌ๊ธฐ๊ฐ ์์ ๋กญ๊ฒ ๋ณํ ์ ์์ด์ผ ํ๋ค. ํ์์ด ์์ ๋กญ๊ฒ ๋ณํํ ์ ์์ด์ผ ํ๋ค๋๊ฑด๋ฐ, ํ์์ด๋ผ๋ ๊ฒ์ ๊ฒฐ๊ตญ "์ค์ (configuration)"์ผ๋ก ํํ๋๋ค.
์ด ์ค์ ์ ์ฌ๋์ด ์์ผ๋ก ๊ด๋ฆฌํ ์๋ ์๋ ๋ฒ์ด๋ค. ๊ธฐ์กด์ ํธ์คํ ์๋น์ค๋ผ๋ฉด ํ๋์จ์ด ์ธํ๋ผ์ ๊ด๋ฆฌ ์ฃผ์ฒด๊ฐ ์๋น์ค ์ฌ์ฉ์์๋ค. ๋ฐ๋ผ์ ์๋น์ค ์ ๊ณต์๋ ํ๋์จ์ด์ ์ค์ ์ ์ง์ ๊ด์ฌํ ํ์๊ฐ ์๋ค. ๊ณ ๊ฐ์ด ์ํ ๊ฒฝ์ฐ ์ด์์ฒด์ ๋ฅผ ์ค์นํด ์ฃผ๋ ์ ๋๋ก ์ญํ ์ด ๋๋๊ธฐ ๋๋ฌธ์ ์๋ํ์ ํ์์ฑ์ด ๊ทธ๋ฆฌ ํฌ์ง ์์๋ค.
ํ์ง๋ง ํด๋ผ์ฐ๋ ์์คํ ์ ๋ชจ๋ ์ค์ ์ ์๋น์ค ์ ๊ณต์๊ฐ ๊ด๋ฆฌํด์ผ ํ๋ค. ์ฌ๋์ด ์์ผ๋ก ์ค์ ๊ด๋ฆฌ๋ฅผ ํ๋ ๊ฑด ๋ถ๊ฐ๋ฅํ๋ฏ๋ก ๋ฐ๋์ ์๋ํ ์์คํ ๊ตฌ์ถ์ด ํ์ํ๋ค.
- VM ํน์ baremetal ํ๋ก๋น์ ๋ ์๋ํ
- ์ด์์ฒด์ ์ค์ ์๋ํ
- ๋คํธ์ํฌ์ฅ๋น ์ค์ ์๋ํ
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