DevOps - Mooneey/Facebook_Crawling GitHub Wiki

DevOps

  1. ๊ฐœ๋…
โ€ข ๋” ๋„“์€ ๋ฒ”์œ„์˜ ์ƒ๊ฐ ์•„์ด๋””์–ด ์™€ ๋ฐฉ๋ฒ• ๋ฐฉ์‹์„ ์ด์•ผ๊ธฐ
โ€ข ๋ณด์•ˆ , ํ˜‘์—… ๋ฐฉ์‹ , ๋ฐ์ดํ„ฐ ๋ถ„์„๋“ฑ์˜ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์š”์†Œ๊ฐ€ ํฌํ•จ
โ€ข ๊ฐœ๋ฐœ ํŒ€(Dev)๊ณผ ์šด์˜ ํŒ€(Ops) ํŒ€ ๊ฐ„์˜ ์›ํ™œํ•˜๊ณ  ์ง€์†์ ์ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—…, ํ†ตํ•ฉ, ๊ฐ€์‹œ์„ฑ ๋ฐ ํˆฌ๋ช…์„ฑ์„ ์žฅ๋ ค
  1. ํŠน์ง•
โ€ข Cross Functional Team
-๊ฐ ํ”„๋กœ์„ธ์Šค์˜(๊ฐœ๋ฐœ ~ ๋ฐฐํฌ ๋ฐ ํ…Œ์ŠคํŠธ๊นŒ์ง€) ๋‹ด๋‹น์ž๋“ค์„ ํ•˜๋‚˜์˜ ํŒ€์œผ๋กœ ๋ชจ์•„
 ์„œ๋น„์Šค ๊ธฐํš๋ถ€ํ„ฐ ๊ฐœ๋ฐœ ์šด์˜ ํ…Œ์ŠคํŠธ ๋ฐฐํฌ๋“ฑ ๋ชจ๋“  ์ œํ’ˆ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ•˜๋‚˜์˜ ํŒ€์—์„œ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค๋Š”๊ฒƒ
โ€ข Widely Shared Metrics
-ํŒ€์› ๋ชจ๋‘๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ํ•˜๋‚˜์˜ ๊ณต์œ ๋œ ์ง€ํ‘œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋Š”๊ฒƒ์ด๋‹ค.
 ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœ๋งŒ ํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ์„œ๋น„์Šค๊ฐ€ ์šด์˜์—์„œ ์ž˜ ๋Œ์•„๊ฐ€๊ณ  ์žˆ๋Š”์ง€
 ์‚ฌ์šฉ์ž์˜ ๋ฐ˜์‘์€ ์–ด๋–ค์ง€๋ฅผ ์ธก์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ค€์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ
โ€ข Automating repetitive tasks
- ๋ฐ˜๋ณต์ ์ธ ์ผ๋“ค์€ ์ž๋™ํ™”(๋นŒ๋“œ-๋ฐฐํฌ-ํ…Œ์ŠคํŠธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”)
โ€ข Post Mortems
- ์žฅ์• ๋‚˜ ์ด์Šˆ๊ฐ€ ์žˆ์„๋•Œ ๊ทธ๊ฑธ ํ˜ผ์ž๋งŒ ์•Œ์ง€ ๋ง๊ณ  ํŒ€์›๋“ค๊ณผ ๊ณต์œ (ํ›„์ฒ˜๋ฆฌ)
โ€ข Regular Release
-์งง์€ ์ฃผ๊ธฐ์˜ ์ •๊ธฐ ๋ฐฐํฌ๋ฅผ ํ†ตํ•ด์„œ ๋น ๋ฅด๊ฒŒ ์„œ๋น„์Šค์˜ ๊ธฐ๋Šฅ์„ ๊ฐœ์„ ํ•˜๊ณ  ๊ณ ๊ฐ๋“ค์˜ VoC๋ฅผ ๋ฐ˜์˜ํ•ด ๋‚˜๊ฐ
  1. ์žฅ์ 
โ€ข ๋” ์šฐ์ˆ˜ํ•œ ์ œํ’ˆ์„ ๋” ๋น ๋ฅด๊ฒŒ ์ œ๊ณต
โ€ข ๋” ๋น ๋ฅธ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐ ๋ณต์žก์„ฑ ๊ฐ์†Œ
โ€ข ํ™•์žฅ์„ฑ ๋ฐ ๊ฐ€์šฉ์„ฑ ํ–ฅ์ƒ
โ€ข ๋ณด๋‹ค ์•ˆ์ •์ ์ธ ์šด์˜ ํ™˜๊ฒฝ
โ€ข ํ–ฅ์ƒ๋œ ๋ฆฌ์†Œ์Šค ํ™œ์šฉ๋ฅ 
โ€ข ์ž๋™ํ™” ํ–ฅ์ƒ
โ€ข ์‹œ์Šคํ…œ ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ๊ฐ€์‹œ์„ฑ ๊ฐœ์„ 
โ€ข ๋” ์œ„๋Œ€ํ•œ ํ˜์‹ 
  1. ๋„๊ตฌ
โ€ข ๋ฒ„์ „ ๊ด€๋ฆฌ ๋„๊ตฌ
- GIT, SUBVERSION
โ€ข ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๋„๊ตฌ
- GitHub์˜ Issue, Redmine, JIRA
โ€ข ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๋„๊ตฌ
- JUnit, PHPUnit, Selenium, AntBot
โ€ข ์ง€์†์  ํ†ตํ•ฉ ๋„๊ตฌ
- Jenkins, Hudson, CircleCI
โ€ข ๊ฐ€์ƒ ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋„๊ตฌ
- Vagrant, Virtualenv, Docker
โ€ข ํ”„๋กœ๋น„์ €๋‹ ๋„๊ตฌ
- Ansible, Chef
โ€ข ๋ชจ๋‹ˆํ„ฐ๋ง ๋„๊ตฌ
- Sensu, Zabbix, Nagios, Bmon
  1. ์‚ฌ๋ก€
โ€ข ์ง€์†์ ์ธ ๊ฐœ๋ฐœ
- DevOps ๋ผ์ดํ”„์‚ฌ์ดํด์˜ ๊ณ„ํš ๋ฐ ์ฝ”๋”ฉ ๋‹จ๊ณ„์— ๊ฑธ์ณ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฒ„์ „ ์ œ์–ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ๊ด€๋ จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข ์ง€์†์ ์ธ ํ…Œ์ŠคํŠธ
- ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋™์•ˆ ์ž๋™ํ™”๋˜๊ณ  ์‚ฌ์ „ ์˜ˆ์•ฝ๋œ ์ง€์†์ ์ธ ์ฝ”๋“œ ํ…Œ์ŠคํŠธ๋ฅผ ํฌํ•จํ•จ
  ์ด๋Ÿฌํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ์ฝ”๋“œ๋ฅผ ๋” ๋น ๋ฅด๊ฒŒ ์šด์˜ ํ™˜๊ฒฝ์— ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Œ
โ€ข ์ง€์†์ ์ธ ํ†ตํ•ฉ(CI)
- ๊ตฌ์„ฑ ๊ด€๋ฆฌ(CM) ํˆด์„ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ ๋ฐ ๊ฐœ๋ฐœ ํˆด๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ ์ค‘์ธ ์ฝ”๋“œ์˜ ์šด์˜ ์ค€๋น„ ์ƒํƒœ๋ฅผ ์ถ”์ 
  ํ…Œ์ŠคํŠธ์™€ ๊ฐœ๋ฐœ ๊ฐ„์˜ ์‹ ์†ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ํ†ตํ•ด ์ฝ”๋“œ ๋ฌธ์ œ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ํŒŒ์•…ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๋Š” ์ž‘์—…์ด ํฌํ•จ
โ€ข ์ง€์†์ ์ธ ์ œ๊ณต 
- ํ…Œ์ŠคํŠธ ํ›„ ์‚ฌ์ „ ์šด์˜ ๋˜๋Š” ์Šคํ…Œ์ด์ง• ํ™˜๊ฒฝ์œผ๋กœ ์ฝ”๋“œ ๋ณ€๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ์ž‘์—…์„ ์ž๋™ํ™”
  ์ œ๊ณต๋œ ํ›„์—๋Š” ์ง์›์ด ์ด๋Ÿฌํ•œ ์ฝ”๋“œ ๋ณ€๊ฒฝ์„ ์šด์˜ ํ™˜๊ฒฝ์œผ๋กœ ์Šน๊ฒฉํ•  ์ˆ˜ ์žˆ์Œ
โ€ข ์ง€์†์ ์ธ ๊ตฌ์ถ•(CD)
- ์ง€์†์ ์ธ ์ œ๊ณต๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ด ์‚ฌ๋ก€๋Š” ์‹ ๊ทœ ๋˜๋Š” ๋ณ€๊ฒฝ๋œ ์ฝ”๋“œ๋ฅผ ์šด์˜ ๋‹จ๊ณ„๋กœ ์ž๋™ ๋ฆด๋ฆฌ์ฆˆํ•จ
  Docker, Kubernetes ๋ฐ ๊ธฐํƒ€ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋กœ ๋‹ค๋ฅธ ๊ตฌ์ถ• ํ”Œ๋žซํผ ๋ฐ ํ™˜๊ฒฝ์—์„œ 
  ์ฝ”๋“œ์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•ด ์ง€์†์ ์ธ ๊ตฌ์ถ•์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ์Œ
โ€ข ์ง€์†์ ์ธ ๋ชจ๋‹ˆํ„ฐ๋ง
- ์ž‘๋™ ์ค‘์ธ ์ฝ”๋“œ์™€ ์ด๋ฅผ ์ง€์›ํ•˜๋Š” ๊ธฐ๋ณธ ์ธํ”„๋ผ์— ๋Œ€ํ•œ ์ง€์†์ ์ธ ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ๊ด€๋ จ
  ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„๋ฅผ ํ†ตํ•ด ๋ฒ„๊ทธ ๋˜๋Š” ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ ํ•œ ํ›„ ๋‹ค์‹œ ๊ฐœ๋ฐœ ๋‹จ๊ณ„๋กœ ๋˜๋Œ์•„๊ฐ
โ€ข ์ฝ”๋“œํ˜• ์ธํ”„๋ผ
- ๋‹ค์–‘ํ•œ DevOps ๋‹จ๊ณ„์—์„œ ์†Œํ”„ํŠธ์›จ์–ด ๋ฆด๋ฆฌ์ฆˆ์— ํ•„์š”ํ•œ ์ธํ”„๋ผ ํ”„๋กœ๋น„์ €๋‹์„ ์ž๋™ํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Œ
  ๊ฐœ๋ฐœ์ž๋Š” ๊ธฐ์กด ๊ฐœ๋ฐœ ํˆด ๋‚ด์—์„œ ์ธํ”„๋ผ "์ฝ”๋“œ"๋ฅผ ์ถ”๊ฐ€ํ•จ(ex)๊ฐœ๋ฐœ์ž๊ฐ€ Docker, Kubernetes ๋˜๋Š” OpenShift์—์„œ ํ•„์š”์— ๋”ฐ๋ผ 
  ์Šคํ† ๋ฆฌ์ง€ ๋ณผ๋ฅจ์„ ์ƒ์„ฑ์„, ์šด์˜ ํŒ€์€ ์ด ์‚ฌ๋ก€๋ฅผ ํ†ตํ•ด ํ™˜๊ฒฝ ๊ตฌ์„ฑ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ , ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๋ฉฐ, ๊ตฌ์„ฑ ๋กค๋ฐฑ์„ ๊ฐ„์†Œํ™”