Slurm DevOps: Git์—์„œ SRE๊นŒ์ง€ ๋ชจ๋“  ๋‹จ๊ณ„๋ฅผ ํฌํ•จ

4์›” 6~XNUMX์ผ ์ƒํŠธํŽ˜ํ…Œ๋ฅด๋ถ€๋ฅดํฌ์˜ Selectel ์ปจํผ๋Ÿฐ์Šค ํ™€์—์„œ XNUMX์ผ๊ฐ„ ์Šฌ๋Ÿผ ๋ฐ๋ธŒ์˜ต์Šค.

Slurm DevOps: Git์—์„œ SRE๊นŒ์ง€ ๋ชจ๋“  ๋‹จ๊ณ„๋ฅผ ํฌํ•จ

์šฐ๋ฆฌ๋Š” ๋„๊ตฌ ๋งค๋‰ด์–ผ๊ณผ ๊ฐ™์€ DevOps์˜ ์ด๋ก ์  ์ž‘์—…์„ ๋ˆ„๊ตฌ๋‚˜ ์Šค์Šค๋กœ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ƒ๊ฐ์„ ๋ฐ”ํƒ•์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ค์ง ๊ฒฝํ—˜๊ณผ ์‹ค์ฒœ๋งŒ์ด ํฅ๋ฏธ๋กญ์Šต๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋Š”์ง€, ๋ฌด์—‡์„ ํ•˜๋ฉด ์•ˆ ๋˜๋Š”์ง€์— ๋Œ€ํ•œ ์„ค๋ช…, ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  ํšŒ์‚ฌ, ๋ชจ๋“  ๊ด€๋ฆฌ์ž ๋˜๋Š” ๊ฐœ๋ฐœ์ž๋Š” ๊ณ ์œ ํ•œ DevOps ์ˆ˜์ค€์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์‚ฌ๋žŒ๋“ค์€ Git์„ ์ž˜๋ชป ์‚ฌ์šฉํ•˜๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์€ SRE๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์€ ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์ง€๊ธˆ ์—ฌ๊ธฐ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ด€๋ จ์„ฑ์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Git์œผ๋กœ ์‹œ์ž‘ํ•œ ๋‹ค์Œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ, ์ฝ”๋“œ์™€ ์ธํ”„๋ผ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ, CI/CD ๊ตฌ์ถ•, ์ฝ”๋“œํ˜• ์ธํ”„๋ผ(IaC) ์„ค๋ช…, ๊ฒฐ๊ณผ ์†”๋ฃจ์…˜ ํ…Œ์ŠคํŠธ, ๋ชจ๋‹ˆํ„ฐ๋ง ์„ค์ •, ๋กœ๊ทธ ์ˆ˜์ง‘ ๋ฐ ์—ฐ๊ตฌ๋ฅผ ๊ฑฐ์ณ ๋งˆ์ง€๋ง‰์œผ๋กœ SRE๋กœ: ์‹ ๋ขฐ์„ฑ์„ ์ธก์ • ๊ฐ€๋Šฅํ•˜๊ณ  ๊ด€๋ฆฌ ๊ฐ€๋Šฅํ•œ ์Šคํ† ๋ฆฌ๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

ํž˜๋‚ด

์š”์ฆ˜ Git์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์‚ฌ๋žŒ์€ ์–ด์ œ ์ฒ˜์Œ์œผ๋กœ ๋…ธํŠธ๋ถ์„ ๊ตฌ์ž…ํ•œ ์‚ฌ๋žŒ๋ฟ์ด๋‹ค. ์ด๊ฒƒ์€ ์‚ฌ์†Œํ•˜๊ณ  ์–ด๋””์—๋‚˜ ์žˆ๋Š” ๋„๊ตฌ์ด์ง€๋งŒ ๋งˆ์Šคํ„ฐ์— ๊ฐ•์ œ๋กœ ํ‘ธ์‹œํ•˜๋Š” ๊ฒƒ๋ถ€ํ„ฐ Ctrl-C, Ctrl-V๋ฅผ ํ†ตํ•ด Git์—์„œ ์„œ๋ฒ„๋กœ ํŒŒ์ผ์„ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ๊นŒ์ง€ ์˜ค์šฉ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฐ์Šค๋ธŒ๋ฆฌ์ง€์—์„œ ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ, ํ•˜์ง€ ๋ง์•„์•ผ ํ•  ๊ฒƒ๊ณผ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋Š”์ง€ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค.
์šฐ๋ฆฌ๋Š” ๊ธฐํƒ€์˜ ๊ธฐ๋ณธ, ํŒ€์›Œํฌ๋ฅผ ์—ฐ์Šตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์ œ #1: Git ๊ธฐ์ดˆ

  • ๊ธฐ๋ณธ ๋ช…๋ น git init, commit, add, diff, log, status, pull, push
  • Git ํ๋ฆ„, ๋ถ„๊ธฐ ๋ฐ ํƒœ๊ทธ, ๋ณ‘ํ•ฉ ์ „๋žต
  • ์—ฌ๋Ÿฌ ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ์ž‘์—…ํ•˜๊ธฐ

์ฃผ์ œ #2: Git์„ ์‚ฌ์šฉํ•œ ํŒ€์›Œํฌ

  • GitHub ํ๋ฆ„
  • ํฌํฌ, ์›๊ฒฉ, ํ’€ ์š”์ฒญ
  • ํŒ€๊ณผ ๊ด€๋ จ๋œ Gitflow ๋ฐ ๊ธฐํƒ€ ํ๋ฆ„์— ๋Œ€ํ•œ ์ถฉ๋Œ, ๋ฆด๋ฆฌ์Šค, ๋‹ค์‹œ ํ•œ ๋ฒˆ

๊ด€๋ฆฌ์ž์™€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์—…๋ฌด์— ์žˆ์–ด ๋ชจ๋“  ์‹ค๋ฌด๋ฅผ ์ฆ‰์‹œ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž๋ฃŒ๊ฐ€ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

DevOps ๊ด€์ ์—์„œ Git์„ ์ ์ ˆํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ ๋ฐ ๊ด€๋ฆฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ„์†Œํ™” ๋ฐ ์ž๋™ํ™”ํ•˜๊ณ  ๋ฐ˜๋ณต๋˜๋Š” ์—ฌ๋Ÿฌ ๋ฌธ์ œ๋ฅผ ์ œ๊ฑฐํ•˜๋ฉฐ ์ƒ์‚ฐ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DevOps ๊ฐœ๋ฐœ์ž

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

์ฃผ์ œ #3: ๊ฐœ๋ฐœ ๊ด€์ ์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž‘์—…

  • ๋กœ์ปฌ ํ™˜๊ฒฝ ์„ค์ •: ์‹ค์ œ ๊ถŒ์žฅ ์‚ฌํ•ญ
  • Python์œผ๋กœ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์ž‘์„ฑ(ํ…Œ์ŠคํŠธ ํฌํ•จ)
  • ๊ฐœ๋ฐœ ์‹œ docker-compose ์‚ฌ์šฉ

์ฃผ์ œ #4: ์ฝ”๋“œ์™€ ์ธํ”„๋ผ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ

  • ๊ตฌ์„ฑ ์ž‘์—… ์—ฐ์Šต

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

์ด ๋‹จ๊ณ„์—์„œ๋Š” DevOps์˜ ์ฃผ์š” ์ž„๋ฌด๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค. Dev์™€ Ops ๊ฐ„์˜ ์ƒํ˜ธ ์ดํ•ด์™€ ๊ณต๋™ ์ž‘์—…์ด ๊ตฌ์ถ•๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ž‘์—… ๊ณต์œ ์—์„œ ์ฑ…์ž„ ์žˆ๋Š” ํ˜‘์—…์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ํ•ต์‹ฌ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ ์ž‘์—… ์†๋„์™€ ํ’ˆ์งˆ์ด ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.

CI / CD

ํ˜„๋Œ€ ์ž๋™ํ™”์—๋Š” CI/CD๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. makefile, githook, ์Šคํฌ๋ฆฝํŠธ ๋“ฑ ์ˆ˜๋™ ์ž๋™ํ™”๋ถ€ํ„ฐ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋„๊ตฌ๊ฐ€ ์—ฌ์ „ํžˆ ๊ด€๋ จ์„ฑ์ด ์žˆ๋Š” ๊ฒฝ์šฐ์™€ ์‚ฌ์šฉํ•ด์„œ๋Š” ์•ˆ ๋˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ Gitlab์„ ์˜ˆ๋กœ ๋“ค์–ด ํ˜„๋Œ€ CI์˜ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ฃผ์ œ #5: ์ž๋™ํ™”์— ๋Œ€ํ•œ CI/CD ์†Œ๊ฐœ

  • ์ž๋™ํ™” ์†Œ๊ฐœ
  • ๋„๊ตฌ(bash, make, gradle)
  • git-hooks๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค ์ž๋™ํ™”
  • ๊ณต์žฅ ์กฐ๋ฆฝ ๋ผ์ธ ๋ฐ IT ๋ถ„์•ผ์˜ ์‘์šฉ
  • "์ผ๋ฐ˜" ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•์˜ ์˜ˆ
  • CI/CD์šฉ ์ตœ์‹  ์†Œํ”„ํŠธ์›จ์–ด: Drone CI, BitBucket Pipelines, Travis ๋“ฑ

์ฃผ์ œ #6: CI/CD: Gitlab ์ž‘์—…

  • Gitlab CI - ์ผ๋ฐ˜
  • Gitlab Runner, ์œ ํ˜• ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜
  • Gitlab CI, ๊ตฌ์„ฑ ๊ธฐ๋Šฅ, ๋ชจ๋ฒ” ์‚ฌ๋ก€
  • Gitlab CI ๋‹จ๊ณ„
  • Gitlab CI ๋ณ€์ˆ˜
  • ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ
  • ์‹คํ–‰ ์ œ์–ด ๋ฐ ์ œํ•œ: ๊ฒฝ์šฐ์—๋งŒ
  • ์•„ํ‹ฐํŒฉํŠธ ์ž‘์—…
  • .gitlab-ci.yml ๋‚ด์˜ ํ…œํ”Œ๋ฆฟ, ํŒŒ์ดํ”„๋ผ์ธ์˜ ๋‹ค๋ฅธ ๋ถ€๋ถ„์—์„œ ์ž‘์—…์„ ์žฌ์‚ฌ์šฉ
  • ํฌํ•จ - ์„น์…˜
  • gitlab-ci.yml์˜ ์ค‘์•™ ์ง‘์ค‘์‹ ๊ด€๋ฆฌ(ํŒŒ์ผ XNUMX๊ฐœ ๋ฐ ๋‹ค๋ฅธ ์ €์žฅ์†Œ๋กœ ์ž๋™ ํ‘ธ์‹œ)

๊ด€๋ฆฌ์ž์™€ ๊ฐœ๋ฐœ์ž ๊ฐ„์˜ ํ˜‘์—…์ด ์ƒˆ๋กœ์šด ์ˆ˜์ค€์— ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž๋Š” CI ํ…œํ”Œ๋ฆฟ์„ ์ž‘์„ฑํ•˜๊ณ  ๊ฐœ๋ฐœ์ž๋Š” ์ด๋ฅผ ํŽธ์ง‘ํ•˜์—ฌ ๊ด€๋ฆฌ์ž์™€ ๋…๋ฆฝ์ ์œผ๋กœ CI๋ฅผ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์˜ ๊ด€๋ฆฌ์ž์— ๋Œ€ํ•œ ์˜์กด๋„๊ฐ€ ์ค„์–ด๋“ค๊ณ , ์ˆ˜์ž‘์—…๋Ÿ‰์ด ์ค„์–ด๋“ค๋ฉฐ, โ€œmake ํŒŒ์ผ์„ ๋‹ค๋ฃฐ ์ค„ ์•„๋Š” ์œ ์ผํ•œ ์‚ฌ๋žŒโ€์ด๋ผ๋Š” ๋ฌธ์ œ๋„ ์‚ฌ๋ผ์ง„๋‹ค. ์ถœ์‹œ๋Š” ์•ˆ์ •์ ์ด๊ณ  ์‹ ์†ํ•˜๊ฒŒ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

IAC

Terraform์„ ์˜ˆ๋กœ ๋“ค์–ด ์ฝ”๋“œ๋กœ์„œ์˜ ์ธํ”„๋ผ ์ฃผ์ œ์— ๋Œ€ํ•ด์„œ๋Š” Selectel ํด๋ผ์šฐ๋“œ ๊ด€๋ฆฌ์ž Alexey Stepanenko๊ฐ€ ๋…ผ์˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Š” ์„œ๋ฒ„๋ฅผ ์ž๋™์œผ๋กœ ์‹ ์†ํ•˜๊ฒŒ ๋ฐฐํฌํ•˜๊ณ  ํ™•์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•, ์ด๋ฏธ์ง€๋ฅผ ์ž๋™์œผ๋กœ ํŒจํ‚ค์ง•ํ•˜๋Š” ๋ฐฉ๋ฒ•, ๊ตฌ์„ฑ ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฆ‰์‹œ ๊ตฌ์„ฑ๋œ ์‹œ์Šคํ…œ์„ ์–ป๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ˆ˜์ฒœ ๊ฐœ์˜ IaC ์†”๋ฃจ์…˜์„ ๋งŒ๋“  ์‚ฌ๋žŒ์ด ์ด๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ํ•˜์ง€ ๋ง์•„์•ผ ํ•  ๊ฒƒ์„ ์•Œ๋ ค์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Selectel ํด๋ผ์šฐ๋“œ ์†”๋ฃจ์…˜์€ ์ตœ์†Œํ•œ์˜ ์ˆ˜์ •๋งŒ์œผ๋กœ Google ๋ฐ Amazon ํด๋ผ์šฐ๋“œ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

Southbridge ์ง์› Nikolai Mesropyan์€ Ansible์„ ์˜ˆ๋กœ ๋“ค์–ด ๋‹ค์šดํƒ€์ž„ ์—†์ด ์ž‘๋™ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•˜๊ณ  ์„ฑ๋Šฅ์„ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ธํ”„๋ผ๋ฅผ ์ˆ˜๋™์œผ๋กœ ํŽธ์ง‘ํ•˜๋Š” ๊ฒฝ์šฐ(์„œ๋ฒ„ ์„ค์ •, ํ•„์š”์— ๋”ฐ๋ผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ํŒจํ‚ค์ง€ ์„ค์น˜) ํ™˜๊ฒฝ ๋ณต์‚ฌ๋ณธ์„ ์ƒ์„ฑํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋ชจ๋“  ์ž‘์—…์„ ๊ธฐ์–ตํ•˜๊ณ  ์žฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ž‘์—…์€ 3~5์ผ์ด ์†Œ์š”๋ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œํ˜• ์ธํ”„๋ผ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ช‡ ๋ถ„ ์•ˆ์— ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ์ตœ์‹  ์„ค๋ช…์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Nikolay๋Š” ํ”Œ๋ ˆ์ด๋ถ์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•, ์–ด๋–ค ์‹ค์ˆ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”์ง€, ํ”Œ๋ ˆ์ด๋ถ์ด ๋•Œ๋•Œ๋กœ ์˜ˆ์ƒ๋Œ€๋กœ ๋А๋ฆฌ๊ฒŒ ์ž‘๋™ํ•˜๊ฑฐ๋‚˜ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋ฅผ ์•Œ๋ ค์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” Southbridge์—์„œ ์ˆ˜๋…„๊ฐ„ IaC๋ฅผ ์‚ฌ์šฉํ•ด ๋ณธ ๊ฒฝํ—˜์ž…๋‹ˆ๋‹ค.

์ฃผ์ œ #7: ์ฝ”๋“œํ˜• ์ธํ”„๋ผ

  • IaC: ์ธํ”„๋ผ๋ฅผ ์ฝ”๋“œ๋กœ ์ ‘๊ทผ
  • ์ธํ”„๋ผ ์ œ๊ณต์ž๋กœ์„œ์˜ ํด๋ผ์šฐ๋“œ ์ œ๊ณต์ž
  • ์‹œ์Šคํ…œ ์ดˆ๊ธฐํ™” ๋„๊ตฌ, ์ด๋ฏธ์ง€ ๊ตฌ์ถ•(ํŒจ์ปค)
  • Terraform์„ ์˜ˆ์‹œ๋กœ ์‚ฌ์šฉํ•˜๋Š” IaC
  • ๊ตฌ์„ฑ ์ €์žฅ, ํ˜‘์—…, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž๋™ํ™”
  • Ansible ํ”Œ๋ ˆ์ด๋ถ ์ƒ์„ฑ ์—ฐ์Šต
  • ๋ฉฑ๋“ฑ์„ฑ, ์„ ์–ธ์„ฑ
  • Ansible์„ ์˜ˆ๋กœ ์‚ฌ์šฉํ•˜๋Š” IaC
  • ์ฝ”๋“œํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค/PostgreSQL ๋‚ด๊ฒฐํ•จ์„ฑ

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

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

์ธํ”„๋ผ ํ…Œ์ŠคํŠธ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง

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

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

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

์ฃผ์ œ #8: ์ธํ”„๋ผ ํ…Œ์ŠคํŠธ

  • Molecule ๋ฐ Gitlab CI๋ฅผ ์‚ฌ์šฉํ•œ ํ…Œ์ŠคํŠธ ๋ฐ ์ง€์†์ ์ธ ํ†ตํ•ฉ
  • ๋ฐฉ๋ž‘์ž ์‚ฌ์šฉ

์ฃผ์ œ #9: Prometheus๋ฅผ ์‚ฌ์šฉํ•œ ์ธํ”„๋ผ ๋ชจ๋‹ˆํ„ฐ๋ง

  • ๋ชจ๋‹ˆํ„ฐ๋ง์ด ํ•„์š”ํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
  • ๋ชจ๋‹ˆํ„ฐ๋ง ์œ ํ˜•
  • ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์˜ ์•Œ๋ฆผ
  • ๊ฑด๊ฐ•ํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ๋ˆ„๊ตฌ๋‚˜ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์•Œ๋ฆผ
  • ๊ฑด๊ฐ•๊ฒ€์ง„, ์ฃผ์˜ํ•ด์•ผ ํ•  ์ 
  • ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์ž๋™ํ™”

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

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

์„น์…˜ ๋ณด๋„ˆ์Šค: ๋ชจ๋‹ˆํ„ฐ๋ง ๊ธฐ๋ฐ˜ ์ž๋™ํ™”. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ชจ๋‹ˆํ„ฐ๋ง์€ ์‚ฌ์ดํŠธ์— ๋กœ๋“œ๊ฐ€ ๋„๋‹ฌํ–ˆ์Œ์„ ๋ณด๊ณ ํ•˜๊ณ  ์›น ์„œ๋ฒ„ ํ™•์žฅ์ด ์ž๋™์œผ๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

๋ฒŒ์ฑ„ ๋ฐ˜์ถœ

๋กœ๊ทธ ์ž‘์—… ์‹œ ๊ฐ€์žฅ ํฐ ์‹ค์ˆ˜๋Š” ๊ด€๋ฆฌ์ž์™€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์„œ๋ฒ„์—์„œ ์ง์ ‘ ๋กœ๊ทธ๋ฅผ ๋ณธ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์„œ๋ฒ„๊ฐ€ ๋‘ ๊ฐœ ์ด์ƒ์ธ ๊ฒฝ์šฐ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ์ด๋Š” ์•ˆ์ „ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ์žˆ์–ด์„œ๋Š” ์•ˆ๋˜๋Š” ์„œ๋ฒ„์— ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค.

DevOps์—๋Š” ์ค‘์•™ ์ง‘์ค‘์‹ ๋กœ๊ทธ ์ˆ˜์ง‘, ์ฒ˜๋ฆฌ ๋ฐ ๋ถ„์„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์ œ #10: ELK๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๊น…

  • Elastic์˜ ๊ธฐ๋ณธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ๊ธฐ๋Šฅ(๊ฒ€์ƒ‰, ์ €์žฅ, ํ™•์žฅ ๊ธฐ๋Šฅ, ์‚ฌ์šฉ์ž ์ •์˜ ์œ ์—ฐ์„ฑ)
  • Kibana ๊ฐœ์š”(์ฃผ์š” ๊ธฐ๋Šฅ, ์ฟผ๋ฆฌ ์–ธ์–ด, ๋Œ€์‹œ๋ณด๋“œ ๊ด€๋ฆฌ, ์ฐจํŠธ ์ƒ์„ฑ)
  • ํƒ„์„ฑ ๊ธฐ๋ฐ˜ ์ œํ’ˆ ๋ฐ ์‘์šฉ ๊ฒ€ํ† 
  • APM์—์„œ ์ง€ํ‘œ ์ˆ˜์ง‘(์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ถ”์ )
  • ์ถ”๊ฐ€: ์‹ ์ œํ’ˆ ๋ฆฌ๋ทฐ - SIEM

์ด ์ ‘๊ทผ ๋ฐฉ์‹์„ ๋„์ž…ํ•˜๋ฉด ๋กœ๊ทธ๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์ธํ”„๋ผ๋ฅผ ๋ถ„์„, ๊ตฌ์„ฑ ๋ฐ ๋””๋ฒ„๊น…ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ„๋‹จํ•˜๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ๋„๊ตฌ๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

SRE

๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” Southbridge๊ฐ€ ์ฃผ๋ชฉํ•˜๊ณ  ์žˆ๋Š” ์ฃผ์ œ์™€ ๋‹ค๋ฅธ ์—ฐ์‚ฌ๋“ค์ด Slurm์˜ ๋งˆ์ง€๋ง‰ ๋‚ ์— ๋จธ๋ฌผ๊ธฐ๋ฅผ ์›ํ•˜๋Š” ์ฃผ์ œ์— ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. Booking.com์˜ Ivan Kruglov๊ฐ€ ์ด ๊ธ€์„ ์ฝ๋Š” ๋ฐ ๋™์˜ํ•ด์ฃผ์…”์„œ ๊ธฐ์˜๊ฒŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์ ํŠธ๋Š” ์‹ ๋ขฐ์„ฑ์ด ๊ฒฐ์ฝ” ์ ˆ๋Œ€์ ์ด์ง€ ์•Š๊ณ  ๋ชจ๋“  ๊ฒฐ์ •์— ๋น„์šฉ์ด ๋“œ๋Š” ํ˜„์‹ค ์„ธ๊ณ„์— ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

๋ณต์žกํ•œ ํ”„๋กœ์ ํŠธ์™€ ๊ด€๋ จ๋œ SLA๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์‚ฌ์ดํŠธ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ด๋ฏธ์ง€๊ฐ€ ์ง€์—ฐ๋˜์–ด ๋กœ๋“œ๋˜๋Š”์ง€ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. SLA ์ธก์ •ํ•ญ๋ชฉ์€ ๋ฌด์—‡์ด๋ฉฐ, ์–ด๋””์—์„œ, ์–ด๋–ป๊ฒŒ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋‚˜์š”?

SLA๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์–ด๋–ป๊ฒŒ ๊ฒฌ๋ŽŒ์•ผ ํ• ๊นŒ์š”?

์ฃผ์ œ #11: SRE
SRE ์„ธ๊ณ„์˜ SLA, SLO, ์˜ค๋ฅ˜ ์˜ˆ์‚ฐ ๋ฐ ๊ธฐํƒ€ ๋ฌด์„œ์šด ์šฉ์–ด์˜ ์ •์˜
SRE: SLI ๋ฐ SLO ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐฉ์‹
SRE: Error Budget ํ™œ์šฉ ์‹ค์Šต
SRE: ์ธํ„ฐ๋ŸฝํŠธ ๋ฐ ์šด์˜ ๋ถ€ํ•˜ ๊ด€๋ฆฌ(apigateway, ์„œ๋น„์Šค ๋ฉ”์‹œ, ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ)
๊ธฐ์—…์€ SRE๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Œํ•œ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์ˆ˜์ค€์—์„œ๋Š” ๋ฐฑ์—… ์„œ๋ฒ„๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ• ๊นŒ์š”, ์•„๋‹ˆ๋ฉด ๋ฐฑ์—…์—์„œ ๋“ค์–ด ์˜ฌ๋ ค์•ผ ํ• ๊นŒ์š”? ๋‹จ์ผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋˜๋Š” ํด๋Ÿฌ์Šคํ„ฐ? DDoS ๋ณดํ˜ธ ๊ธฐ๋Šฅ์„ ์‚ฌ์ „์— ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ๊ณต๊ฒฉ ์‹œ์—๋งŒ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

์›์žฅ์€ ๊ณ ๊ฐ์ด ์ „ํ™”๋ฅผ ๊ฑธ์–ด ์ฃผ๋ฌธ ์–‘์‹์ด ์—ด๋ฆฌ์ง€ ์•Š๋Š”๋‹ค๊ณ ๋ณด๊ณ ํ•˜๋ฉด "์‚ฌ์ดํŠธ๊ฐ€ ์ž‘๋™ ์ค‘"์ด๋ผ๋Š” ์ด์•ผ๊ธฐ์— ๋งŒ์กฑํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ DevOps ์—”์ง€๋‹ˆ์–ด๊ฐ€ SRE์˜ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋Œ€ํ•ด ๋น„์ฆˆ๋‹ˆ์Šค์™€ ์ ์ ˆํ•˜๊ฒŒ ๋Œ€ํ™”ํ•˜๋ ค๋ฉด ์ตœ์†Œํ•œ ํ‘œ๋ฉด์ ์œผ๋กœ SRE๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

ํ•ฉ๊ณ„

๋™์•ˆ ์Šฌ๋Ÿผ ๋ฐ๋ธŒ์˜ต์Šค ๊ด€๋ฆฌ์ž์™€ ๊ฐœ๋ฐœ์ž๋Š” ๋‹ค์Œ์„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
โ€” Git์œผ๋กœ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
โ€” ์ง€์—ญ ๊ฐœ๋ฐœ์„ ์กฐ์งํ•ฉ๋‹ˆ๋‹ค.
โ€” CI/CD ๊ตฌ์„ฑ(๊ด€๋ฆฌ์ž) ๋ฐ ์‚ฌ์šฉ(๊ฐœ๋ฐœ์ž)
โ€” ์ฝ”๋“œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ธํ”„๋ผ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…ํ•ฉ๋‹ˆ๋‹ค.
โ€” ์ธํ”„๋ผ๋ฅผ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.
โ€” ์ธํ”„๋ผ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.
โ€” ๋กœ๊น…์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
โ€” SRE๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ด์ƒ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

์„ธ์‹ฌํ•œ ๋…์ž๋ฅผ ์œ„ํ•ด habrapost ํ”„๋กœ๋ชจ์…˜ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 15% ํ• ์ธ์„ ๋ฐ›์œผ์„ธ์š”.

๋ชจ๋“  ํฌ์ธํŠธ์— ๋Œ€ํ•œ ์—ฐ์Šต๊ณผ ๋„๊ตฌ๋ฅผ ์ค€๋น„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ ์ฐธ๊ฐ€์ž๋Š” Slurm์—์„œ ๋Œ์•„์™€ ํšŒ์‚ฌ๋ฅผ DevOps์˜ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋Œ์–ด์˜ฌ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„์ฆˆ๋‹ˆ์Šค์˜ ๊ฒฝ์šฐ ์ด๋Š” ๊ด€๋ฆฌ ๋ฐ ๊ฐœ๋ฐœ ๋น„์šฉ ์ ˆ๊ฐ, ๊ฐ€๋™ ์ค‘์ง€ ์‹œ๊ฐ„ ๊ฐ์†Œ, ์•ˆ์ •์„ฑ ํ–ฅ์ƒ, ๊ธฐ๋Šฅ ์ œ๊ณต ์†๋„ ํ–ฅ์ƒ ๋ฐ ๋ฒ„๊ทธ ์ œ๊ฑฐ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€