์ง€๋‚œ 1๋…„๊ฐ„์˜ ์›จ์ผ ๋ธŒ๋ผ์šฐ์ €์™€ ๊ทธ ๋ฏธ๋ž˜ - ๊น€ํšจ๋‹˜

Whale ํ˜„์žฌ ์ƒํ™ฉ

  • Desktop : 1100๋งŒ
  • Mobile : 42๋งŒ
  • XWhale(Naver ์•ฑ ๋‚ด๋ถ€์—”์ง„) : 3000๋งŒ
  • ์ „์ฒด ๋ธŒ๋ผ์šฐ์ €์˜ Whale ์‹œ์žฅ ์ ์œ ์œจ : 1.4%

์˜ˆ์ „์— ๋ชฉํ‘œ ํ–ˆ๋˜ ๊ฒƒ

  • Move the Web Forward
    • Active-x, exe ์ œ๊ฑฐ
    • ํ”Œ๋Ÿฌ๊ทธ์ธ ํ˜ธํ™˜ ๋ชจ๋“œ ์ง€์› ์ค‘๋‹จ.
    • ์‹ ํ•œ์€ํ–‰์— ์ ์šฉ.
    • ์•„์ง๋„ ๋‚จ์€ ๋ฌธ์ œ๋“ค์ด ์žˆ์ง€๋งŒ ํ˜„์žฌ ์ •๋ถ€์˜ ๋…ธ๋ ฅ์œผ๋กœ ๋ณ€ํ™”๊ฐ€ ์ƒ๊ธธ ๊ฒƒ ๊ฐ™์€ ๊ธฐ๋Œ€.
  • ๋ชจ๋‘๊ฐ€ ์‰ฝ๊ฒŒ ์“ฐ๋Š” ๋ธŒ๋ผ์šฐ์ € ์›จ์ผ
    • ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ
    • ์ฐธ์—ฌ ํ”Œ๋žซํผ : ํ™•์žฅ์•ฑ, ํ…Œ๋งˆ ์Šคํ† ์–ด, ๊ฐœ๋ฐœ์ž ์„ผํ„ฐ
  • ๊ธฐ์ˆ  / ๋ณด์•ˆ
    • ์„ฑ๋Šฅ / ๋ฉ”๋ชจ๋ฆฌ / ํŒŒ์›Œ ์ ˆ์•ฝ
    • Safe Browsing

๋ชจ๋‘๊ฐ€ ์‰ฝ๊ฒŒ ์“ฐ๋Š” ๋ธŒ๋ผ์šฐ์ € ์›จ์ผ

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

๋ชจ๋“  ๊ธฐ๋Šฅ์„ ๋‹ค ๋„ฃ์ž VS ์ตœ๋Œ€ํ•œ ์‹ฌํ”Œํ•˜๊ฒŒ

  • ๊ธฐ๋Šฅ == ๋ฒ„ํŠผ
  • ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ == ์ถ”๊ฐ€ ๋ฒ„ํŠผ
  • ๋ฒ„ํŠผ์ด ๋งŽ์•„์ง€๋ฉด?
    • ๋ณต์žก == ๋ชจ๋ฐ”์ผ์— ์ ํ•ฉํ•˜์ง€ ์•Š์Œ.
    • ๋ชจ๋ฐ”์ผ์€ ์‹ฌํ”Œํ•ด์•ผํ•˜๋Š”๋ฐ..
  • ๊ฒฐ๊ตญ์—”?
    • ๋งŽ์€ ๊ณ ๋ฏผ ๋์— ์•„๋ž˜์— 5๊ฐœ์˜ ๋ฒ„ํŠผ ์ƒ๋‹จ์˜ ๋ฒ„ํŠผ 2๊ฐœ ๊ตฌ์กฐ

๋ฒ„ํŠผ(๊ธฐ๋Šฅ)์„ ๋ทฐ์—์„œ ์ œ๊ฑฐํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ๊ธฐ๋Šฅ์„ ์ฐพ์•„์„œ ์‚ฌ์šฉํ• ๊นŒ?

  • ์•„๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋“ค์€ ๊ธฐ๋Šฅ์„ ์ฐพ์•„์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ํ™ˆ๋ฒ„ํŠผ์€ ์ฐพ์•„์„œ ์‚ฌ์šฉํ•˜๊ฒ ์ง€๋งŒ ๋ฒจ๋ฆฌ๋ฒ„ํŠผ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ฐพ์•„์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๊ฒƒ ๊ฐ™๋‹ค.
  • ๊ทธ๋ž˜์„œ ๋ฒจ๋ฆฌ๋ฒ„ํŠผ์„ ์‚ด๋ฆฌ๊ณ  ํ™ˆ๋ฒ„ํŠผ์„ ์ œ๊ฑฐํ–ˆ๋‹ค.

์ƒˆํƒญ์˜ ๊ฐ์„ฑ์€ ์‹œ๊ฐ„ Resource ๋ถ€์กฑ์œผ๋กœ ํฌ๊ธฐ

  • ์•ˆ๋“œ๋กœ์ด๋“œ : ๋ฐ์Šคํฌํƒ‘๊ณผ ๊ฐ™์€ ํฌ๋กœ๋ฏธ์›€ ๋ฒ ์ด์Šค
  • ios : ํฌ๋กœ๋ฏธ์›€์œผ๋กœ ๊ฐœ๋ฐœ ์‹œ์ž‘ํ•ด๋ณผ๊นŒ?
    • iOS ๊ฐœ๋ฐœ์ž๊ฐ€ Object C, C++๋ฅผ ์ž˜ ๋ชจ๋ฅด๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒ
      • ๊ฐœ๋ฐœ ์†๋„๊ฐ€ ์›ํ•˜๋Š” ๋งŒํผ ๋‚˜์˜ค์ง€ ์•Š์Œ.
    • ๊ธฐ์กด ๋ฒ„์ ผ ํ๊ธฐ ๋ฐ ์‹ ๊ทœ ๊ฐœ๋ฐœ : Swift
    • iOS, ์•ˆ๋“œ๋กœ์ด๋“œ ์™„์ „ํ•œ ๋‹จ์ผ ๋ฒ„์ „์€ ๋ถˆ๊ฐ€๋Šฅ
      • ๋‹ค๋ฅธ ๊ธฐ์ˆ , ๋‹ค๋ฅธ ๊ฐ์„ฑ
      • ์—”์ง„ ๊ฐœ๋ฐœ vs OS ์ œ๊ณต ๋‹จ์ผ ์—”์ง„

์šฐ๋ฆฌ๊ฐ€ ์Šคํฌ๋žฉํ•˜๋Š” ๋ฐฉ๋ฒ•?

  • ์นดํ†ก, ๋ผ์ธ์˜ ๊ฐœ์ธ ๋Œ€ํ™”๋ฐฉ
  • ๋ถ๋งˆํฌ
  • ๋ฉ”๋ชจ์žฅ์— link์™€ ์„ค๋ช…
  • ํŽ˜์ด์Šค๋ถ ๋‚˜๋งŒ ๋ณด๊ธฐ / ๋น„๊ณต๊ฐœ
  • ์ „์šฉ์•ฑ(ํฌ์ผ“, Keep)

์†”๋ฃจ์…˜์ด ๋งŽ๋‹ค๋Š” ์–˜๊ธฐ๋Š” ๊ฐ•๋ ฅํ•œ ์†”๋ฃจ์…˜์ด ์—†๋‹ค๋ผ๋Š” ๊ฒƒ์„ ์˜๋ฏธ.

  • ๋ธŒ๋ผ์šฐ์ €์— ๋ถ™์—ฌ์„œ ๊ฐ•๋ ฅํ•˜๊ฒŒ ๋งŒ๋“ค์ž. ๊ทธ๋ž˜์„œ ํƒ„์ƒํ•œ๊ฒŒ ๋ฒจ๋ฆฌ(Belly)

ํ•˜์ง€๋งŒ ์‚ฌ์šฉ์ž๋Š” ๋ฒจ๋ฆฌ๊ฐ€ ๋ญ”์ง€ ๋ชจ๋ฅธ๋‹ค?

  • ๋งŽ์€ ์„ค๋ช…์ด ํ•„์š”ํ•˜๋ฉด ๊ทธ๋งŒํผ ์ง๊ด€์ ์ด์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ.
  • ์ข€ ๋” ์„œ๋น„์Šค๋ฅผ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•˜๋„๋ก ํ•ด์•ผํ•จ.

์ƒˆ๋กœ์šด Whale

  • ๋ฉ”์ธ UI๋Š” ์ตœ๋Œ€ํ•œ ์‹ฌํ”Œํ•˜๊ฒŒ
    • ์‚ฌ์šฉ์ž์—๊ฒŒ ๋„“์€ ํ™”๋ฉด
    • ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์€ ๋ฉ”๋‰ด ์•ˆ์œผ๋กœ
    • ๋ฉ”๋‰ด๋Š” ๋ณด๋‹ค ๊ณ„์ธต์ ์œผ๋กœ
  • ์ƒˆํƒญ : ๊ฐ์„ฑ๊ณผ ํŽธ๋ฆฌ/์ •๋ณด๋ฅผ ๊ฐ™์ด ์žก์•„์ฃผ๋Š” ๊ณณ
  • Belly -> Scrapbook
    • Rebranding
    • ๋‹ค์‹œ ๋ณด๊ณ  ์‹ถ์€ ๊ฑด ๋ญ๋“  ๋‹ด๋Š” ์Šคํฌ๋žฉ
    • ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ์ œ๋Œ€๋กœ ์ „๋‹ฌ ์•ˆ๋œ ์ด์œ ๊ฐ€ ์ด๋ฆ„์ด ์•„๋‹ˆ๊ธธ ๋ฐ”๋ผ๋ฉด์„œ.

๋ฐ์Šคํฌํƒ‘๊ณผ ๋ชจ๋ฐ”์ผ

  • ๋ฐ์Šคํฌํƒ‘ ์›จ์ผ์„ ์“ฐ๋Š” ์ด์œ 
    • ์บก์ณ๊ฐ€ ํŽธํ•ด์„œ, ์ƒˆํƒญ/๋””์ž์ธ์ด ์ด๋ป์„œ
    • ๋ชจ๋‘ ๋‹ค๋ฅด๋‹ค.
  • ๋ชจ๋ฐ”์ผ ์›จ์ผ์„ ์“ฐ๋Š” ์ด์œ 
    • ๋ฐ์Šคํฌํƒ‘์ฒ˜๋Ÿผ ๋‹ค์–‘ํ•˜์ง€ ์•Š๊ณ  ๋‹จ์ˆœํ•˜๋‹ค.
    • ํƒ„ํƒ„ํ•œ ๋ธŒ๋ผ์šฐ์ €์˜ ๊ธฐ๋ณธ๊ธฐ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

์•ž์œผ๋กœ์˜ Whale

  • Naver Tech Platform = Global Platform
  • Future Info Platform
    • ์‚ฌ๋ฌผ ๋ธŒ๋ผ์šฐ์ €

Question

  • Naver - Whale ๊ด€๊ณ„?
    • ํฌ๋กฌ๊ณผ ๊ตฌ๊ธ€ ์•ฑ์˜ ๊ด€๊ณ„
      • Naver์•ฑ์€ Naver๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ตœ์ ํ™”๋œ ์•ฑ
      • Whale์•ฑ์€ ๋ธŒ๋ผ์šฐ์ง•ํ•˜๊ธฐ ์ตœ์ ํ™”๋œ ์•ฑ
    • ์•ž์œผ๋กœ Naver์™€ Whale์˜ ์—”์ง„์ด ๋™์ผํ•˜๊ฒŒ ์ง„ํ–‰๋  ์˜ˆ์ •
  • Progressive Web ์ง€์› ์—ฌ๋ถ€?
    • ์ง€์›ํ•  ์˜ˆ์ •
  • ํฌ๋กœ๋ฏธ์›€์˜ ๋ณด์•ˆ ์ด์Šˆ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์€ ์–ด๋–ป๊ฒŒ ๋™๊ธฐํ™” ํ•˜๊ณ  ์žˆ๋‚˜?
    • ๋ณด์•ˆ์— ๋Œ€ํ•œ issue๋Š” cherrypickํ•˜์—ฌ rebaseํ•˜์—ฌ ๋™๊ธฐํ™” ์ค‘.
  • Global ์ „๋žต์„ ์œ„ํ•ด Opensourceํ•  ์ƒ๊ฐ์ด ์žˆ๋Š”๊ฐ€?
    • Yes.
    • ์˜คํ”ˆ์†Œ์Šค์—๋Š” ์ค€๋น„ํ• ๊ฒŒ ๋งŽ์•„์„œ ์‹œ๊ฐ„์ด ํ•„์š”.

ํ›„๊ธฐ

  • ์›จ์ผ ํ™•์žฅ์•ฑ ํ”Œ๋žซํผ ์†Œ๊ฐœ.
    • ์ด๋Ÿฐ๊ฑด ๋ˆ„๊ฐ€ ๋งŒ๋“ค๊นŒ? ๊ฒฐ๊ตญ์—” ๊ฐœ๋ฐœ์ž๋“ค.
    • ๊ฐœ๋ฐœ์ž๋“ค์ด ์›จ์ผ๊ฐ€์„œ ๋งŒ๋“ค๊นŒ? ํฌ๋กฌ์— ๊ฐ€์„œ ๋งŒ๋“ค๊นŒ?
    • ์ƒํƒœ๊ณ„ ์กฐ์„ฑ์ด ํ•„์š”ํ•ด ๋ณด์ธ๋‹ค.
  • Whale - Conference ์ง„ํ–‰ํ•  ์˜ˆ์ •.
  • ์™œ IT ๋Œ€๊ธฐ์—…๋“ค์€ Browser๋ฅผ ๋งŒ๋“œ๋ ค๊ณ  ํ• ๊นŒ?
    • ๊ตฌ๊ธ€์˜ ํฌ๋กฌ, ์• ํ”Œ์˜ ์‚ฌํŒŒ๋ฆฌ, ๋„ค์ด๋ฒ„์˜ ์›จ์ผ, ์•„๋งˆ์กด, ๋ฐ”์ด๋‘ ๋“ฑ๋“ฑ.
    • ์†Œ๋น„์ž๋ฅผ Lock-inํ•˜๋Š” ํšจ๊ณผ๋ฅผ ์–ป์ง€ ์•Š์„๊นŒ?
      • ํ•˜์ง€๋งŒ ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์€ ๋ฆฌ์†Œ์Šค์™€ ์ง€์‹์„ ๊ฐ€์ง„ ๊ฐœ๋ฐœ์ž๋“ค์ด ํ•„์š”ํ•ด ๋ณด์ธ๋‹ค.

Slide


์„œ๋น„์Šค ์˜ค๋ฆฌ์—”ํ‹ฐ๋“œ ๋ธ”๋ก์ฒด์ธ์„ ์œ„ํ•œ ์Šค์ผ€์ผ๋ง ๋ฌธ์ œ ํ•ด๊ฒฐ - ์ดํ™๊ทœ๋‹˜

ํ›„๊ธฐ

  • ๋ธ”๋ก์ฒด์ธ์˜ ๊ธฐ๋ณธ์ ์ธ ๊ฐœ๋…์ด ์—†์–ด์„œ.. ๋„ˆ๋ฌด ์–ด๋ ค์›€.
  • ๋‚˜์ค‘์— ๋ธ”๋ก์ฒด์ธ ๊ตฌ์กฐ์™€ ์ด๋ก  ์ฑ…์„ ์ฝ์–ด๋ณด๊ณ  ๋‹ค์Œ์— ๋‹ค์‹œ ์ฝ์–ด๋ณด์ž.

Slide


Javascript ๋ฐฐํ‹€๊ทธ๋ผ์šด๋“œ๋กœ๋ถ€ํ„ฐ ์‚ด์•„๋‚จ๊ธฐ - ๋ฐ•์žฌ์„ฑ๋‹˜

  • Marc Andreessen
    • ๋‹น์‹œ ์›น์€ ์ •์ ์ด์˜€๋‹ค. DOM ์ธํ„ฐ๋ ‰์…˜์„ ํ†ตํ•ด ๋‹ค์ด๋‚ด๋ฏนํ•œ ์›น์„ ๋งŒ๋“ค๊ณ ์ž ํ•˜๋Š” ๋น„์ „
    • Mocha โ†’ Livescript โ†’ JavaScript
    • MS์˜ JS : JScript
    • Action Script : Flash์—์„œ ์‚ฌ์šฉ
  • Ajax, Json์˜ ๋“ฑ์žฅ.
  • Server-Side Javascript
    • Node.js
  • Modules
    • AMD(RequireJS), CommonJs
  • Package Manager
    • NPM
    • bouler

Framework ๋“ฑ์žฅ.

  • 1์„ธ๋Œ€.
    • jQuery
    • Prototype
    • MooTools
  • 2์„ธ๋Œ€
    • AngularJs
    • React
    • Vue

๋‹ค์–‘ํ•œ Browser์˜ ๋“ฑ์žฅ.

  • Evergreen Browser
    • ๊ณผ๊ฑฐ์™€ ๋‹ฌ๋ผ์ง„ ๋ธŒ๋ผ์šฐ์ € ๋ฒ„์ „์˜ ์ค‘์š”์„ฑ
  • Vanilla ๊ฐœ๋ฐœ์€ ์ผ๋ฐ˜์ ์ด์ง€ ์•Š์Œ

์˜ค๋Š˜๋‚ ์˜ JS ๊ฐœ๋ฐœ์€?

  • ํ”„๋ ˆ์ž„์›Œํฌ + ๊ฐœ๋ฐœ ๋„๊ตฌ
  • Library โ†’ Framework
    • ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ง• ๋ฌธ์ œ๊ฐ€ Native Level๋กœ ๋‚ด๋ ค๊ฐ
    • ๋”ฐ๋ผ์„œ ๊ทธ๋Ÿฐ Library๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๋ชจ์Šต
      • Github์—์„œ jQuery๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ์›€์ง์ž„

Babel

  • 2014๋…„ ๋ฐœํ‘œ.
  • ES6 โ†’ ES5๋กœ ์ „ํ™˜ํ•ด์คŒ.
    • ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ƒˆ ๋ฌธ๋ฒ•์„ ์ง€์›ํ•˜์ง€ ์•Š๋”๋ผ๋„ ์‚ฌ์šฉ๊ฐ€๋Šฅ.
    • -> function ์•Œ์•„์„œ ๋ณ€ํ™˜ํ•ด์คŒ.

2018๋…„ ๋™ํ–ฅ

  • ๋ฒ„์ „ ๊ตฌ๋ถ„ ์ค‘์š”์„ฑ ๊ฐ์†Œ
    • Evergreen ๋ธŒ๋ผ์šฐ์ €๋Š” ์ŠคํŽ™์„ ๋น ๋ฅด๊ฒŒ ๊ตฌํ˜„
  • ์ •์  ํƒ€์ž… ์‹œ์Šคํ…œ(loose typing)
    • ๋ฒ„๊ทธ ๊ฐ์†Œ (15% ๊ฐ์†Œ ์—ฐ๊ตฌ๊ฒฐ๊ณผ)
    • ํšจ์œจ์  ์ฝ”๋“œ์ž‘์„ฑ
    • Language : Typescript, PureScript
    • Tools: Flow

Web Assembly

  • ์–ด๋Š ๋ธŒ๋ผ์šฐ์ €์—์„œ๋‚˜ ๋น ๋ฅด๊ฒŒ ์‹คํ–‰๋˜๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ๋ฐ”๊พธ๋Š” ๊ธฐ์ˆ 

React

  • ๋ผ์ด์„ผ์Šค ์ด์Šˆ โ†’ MIT
  • ์„ฑ๋Šฅ ๊ฐœ์„ .

Vue.js

  • 40K Github Stars
  • Nuxt.js
  • NativeScript - Vue
  • Ver 3.0

Angular

  • Ivy Renderer
  • Angular Elements

Web Components

  • All Major browsers Support

Polymer

  • Factory ๋ฉ”์„œ๋“œ ํ†ตํ•œ ์š”์†Œ์ •์˜

๋ธŒ๋ผ์šฐ์ € ๋ฐ–์˜ ๋™ํ–ฅ

  • NPM
    • ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ๋ชจ๋“ˆ๋„ ๋งŽ์Œ.
  • YARN
    • NPM์˜ ์ „์ฒด ๋‹ค์šด๋กœ๋“œ์˜ 0.03%
    • ์†๋„๋„ NPM๋งŒํผ ๋น ๋ฅด์ง€ ์•Š์Œ.
  • Webpack
    • ํ–ฅ์ƒ๋œ ๋นŒ๋“œ ์‹œ๊ฐ„ : 60 ~ 98% ๊ฐ์†Œ
    • mode property
      • development, production, none
    • Configuration Headache
    • Parcel๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋Š” ๋ฌด์„ค์ • ๋ฒˆ๋“ค๋ง

์ •๋ฆฌํ•˜์ž๋ฉด?

  • ๋งค๋ชฐ๋น„์šฉ ์˜ค๋ฅ˜์˜ ํ•จ์ •
    • ํŠน์ • ๋„๊ตฌ์— ํˆฌ์žํ•œ ๋…ธ๋ ฅ์ด ๋งŽ์•„์ง€๋ฉด, ๋‚˜์˜ ์„ ํƒ(๋„๊ตฌ)์ด ํ•ฉ๋ฆฌ์ ์ด์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ์ž์‹ ์ด๋‚˜ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์„ค๋“ํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅ.
  • Magpie Developer
    • ๋Œ€์ฒด๋กœ ๊ฐœ๋ฐœ์ž๋“ค์€ ๊ธฐ์กด์— ๋ฌธ์ œ์—†์ด ์‚ฌ์šฉํ•˜๋˜ ๊ธฐ์ˆ ๋“ค์„ ๋’ค๋กœํ•˜๊ณ , ์ƒˆ๋กญ๊ณ  ๋ฐ˜์ง ์ด๋Š” ๊ฒƒ๋“ค์— ๋„ˆ๋ฌด ์‰ฝ๊ฒŒ ๊ด€์‹ฌ์„ ๋นผ์•—๊ธด๋‹ค.
    • ๋ชจ๋“  ๊ธฐ์ˆ ์—๋Š” ์žฅ์ ๊ณผ ๋‹จ์ ์ด ์žˆ์œผ๋‹ˆ ํŒŒ์•…๋ถ€ํ„ฐํ•˜์ž.
  • ์ตœ์‹  ์—…๋ฐ์ดํŠธ ํ•ญ์ƒ ์ •๋‹ต์ธ๊ฐ€?
    • ๋ฌด์—‡์ด ์ •๋‹ต์ด๋ผ ํ•  ์ˆ˜ ์—†๋‹ค.
    • ๊ฐ์ž์˜ ์‚ฌ์ •์€ ๋ชจ๋‘ ๋‹ค๋ฅด๋‹ค.
    • ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ์ •๋‹ต์„ ์ฐพ์•„๊ฐ€๋Š”๊ฒŒ ํ•ต์‹ฌ.
  • ์šฐ๋ฆฌ์˜ ์ž์„ธ๋Š”?
    • Everything is amazing and nobody is happy
    • Expert๋กœ์จ ๋ชจ๋“  ํ”Œ๋žซํผ์˜ ๋ชจ๋“  ๊ฒƒ์„ ์•Œ์•„์•ผ ํ•œ๋‹ค๋Š” ์ƒ๊ฐ
    • ๋ชจ๋“  ๊ฒƒ์„ ๋ฐฐ์šฐ๋Š” ๊ฒƒ์ด ํ•ด๊ฒฐ์ฑ…์ธ๊ฐ€?
    • ๋‹จ์ˆœํ•˜๊ฒŒ ํ˜„์žฌ ์ž‘์—…์— ํ•„์š”ํ•œ ๊ฒƒ. ๋˜๋Š” ๋Œ๋ฆฌ๋Š” ๊ฒƒ์— ์ง‘์ค‘
    • ์ ๋‹นํ•œ ๋ฐธ๋Ÿฐ์Šค
      • ์ ๋‹นํ•œ ํ˜ธ๊ธฐ์‹ฌ
      • ์ง€์†์ ์ธ ๊พธ์ค€ํ•จ์€ ํ•„์š”.

ํ›„๊ธฐ

  • Front ์„ธ๊ณ„๋Š” ์•„์ง ๋‚ด๊ฒ ๋„ˆ๋ฌด ๋‹ค์–‘ํ•˜๊ณ  ๋งŽ์€ ๊ฒƒ ๊ฐ™๋‹ค.
  • ํ† ์ด ํ”„๋กœ์ ํŠธ๋กœ ํ•˜๋‚˜๋งŒ ์‹œ๋„ํ•ด๋ณด๋Š” ๊ฒƒ๋„ ๋‚˜์˜์ง€ ์•Š์„ ๊ฒƒ ๊ฐ™๋‹ค.
  • ๋“ค์–ด๋ณธ ์ด๋ฆ„๋“ค์ด ์žˆ์—ˆ์ง€๋งŒ ์ •ํ™•ํžˆ ๋ฌด์Šจ ์—ญํ• ์ธ์ง€ ๋ชฐ๋ž๋Š”๋ฐ ์ด๋ฒˆ ๊ธฐํšŒ์— ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

Slide


๋„ค์ด๋ฒ„์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ Data Platform, ๊ทธ๋ฆฌ๊ณ  Mongo DB - ์ด๋•ํ˜„๋‹˜

๋„ค์ด๋ฒ„์—์„œ์˜ Data Platform

  • ์ดˆ๊ธฐ ๋ชจ์Šต : 2 tier ๊ตฌ์กฐ
    • Web Server
    • RDBMS
      • MySQL, ORACLE
  • ์„œ๋น„์Šค๊ฐ€ ์ ์  ์ปค์ง€๋ฉด์„œ DB Query๋Š” ์ ์  ๋ณต์žกํ•˜๊ณ  ๋ฌด๊ฑฐ์›Œ ์ง
    • ๋น ๋ฅธ ์‘๋‹ต์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด, DB์•ž์— Cache ์‚ฌ์šฉ
    • Redis, ARCUS
  • ์ง€ํ‘œ๋ฅผ ์ €์žฅํ•˜๊ธฐ์—๋Š” RDBMS๋Š” ๊ณต๊ฐ„๊ณผ ๋น„์šฉ์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ
    • ์›ํ™œํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด Hadoop๊ธฐ๋ฐ˜์˜ HBase ์‚ฌ์šฉ
  • Schema-lessํ•˜๊ณ  Sharding๊ณผ secondary Index, Transaction์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ Data Platform MongoDB๋„ ์ง€์›ํ•˜๊ฒŒ ๋จ.

Schema-less

table A{
    userNumber int
    , userCellPhoneNumber char(13)
}
  • RDBMS : 1 row ๋‹น 17byte
  • MongoDB : 1 doc ๋‹น 46byte (_id ํฌํ•จ์‹œ 58Byte) Type ์ €์žฅ
  • RDBMS์— ๋น„ํ•ด disk READ/WRITE (IO) ์ธก๋ฉด์—์„œ ๋ณด๋ฉด ๋” ์•ˆ ์ข‹์„ ์ˆ˜ ์žˆ๋‹ค.

Sharding

  • Scale up
    • ๋‹จ์ผ ์„œ๋ฒ„ spec ์ฆ๊ฐ€
  • Scale out
    • ์—ฌ๋Ÿฌ๋Œ€์˜ ์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ ๋ถ„์‚ฐ
  • RDBMS๋Š” ์‘์šฉ์—์„œ ์ƒค๋”ฉ์œผ๋กœ Scale out ๊ตฌํ˜„ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ?
    • ํ™•์žฅ์„ฑ์ด ๋–จ์–ด์ง€๋ฉฐ
    • ๊ฐœ๋ฐœ ๋ฐ ๊ด€๋ฆฌ์˜ Overhead ๋ฐœ์ƒ
  • ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Db Level์—์„œ Sharding์„ ์ œ๊ณตํ•˜๋Š” NoSQL
    • ๊ฐœ๋ฐœ Cost ์ ˆ๊ฐ

Secondary Index

  • ๋‹จ์ˆœ bigdata์„ฑ ๋ฐ์ดํ„ฐ๋Š” Hbase๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Œ
    • HBase๋Š” ์ œํ’ˆ ์ž์ฒด์—์„œ Secondary Index๋ฅผ ์ œ๊ณตํ•ด์ฃผ์ง€ ์•Š์Œ
    • Coprocessor, hIndex, Phoenix์„ ํ†ตํ•ด secondary Index์™€ ๋น„์Šทํ•˜๊ฒŒ ๊ตฌํ˜„์€ ๊ฐ€๋Šฅ
    • ๊ฒ€์ƒ‰์— ์•Œ๋งž๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์žฌ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹

Transaction

  • MongoDB ~ 3.6๊นŒ์ง€
    • 1 Document (row Level Lock)
  • MongoDB 4.0๋ถ€ํ„ฐ
    • Multi Document Transaction

IDB DR

  • ์„œ๋น„์Šค๊ฐ€ ์ ์  ์ค‘์š”ํ•ด์ง์— ๋”ฐ๋ผ IDC ์ด์ค‘ํ™”๊ฐ€ ํ•„์š”ํ•ด์ง
    • DR(Disaster Recovery) ์š”๊ตฌ๋จ.
  • Auto failover๊ฐ€ ๊ฐ€๋Šฅํ•œ Data Platform
  • MongoDB ์ •์ฑ… ์ƒ ํ™€์ˆ˜๋กœ ์šด์˜ํ•˜์—ฌ
    • 50% ๋„˜๋Š” ์ƒ์กด์œจ์ด ํ•„์ˆ˜

Mongos ๊ด€๋ฆฌ

  • Mongos(Router) ์„œ๋ฒ„
  • Client ์„œ๋ฒ„์™€ ๋™์ผํ•˜๊ฒŒ ์žˆ๋„๋ก ๊ฐ€์ด๋“œ

L4์™€ getmore

  • Sharding์—์„œ์˜ L4(network switch)์‚ฌ์šฉ์„ ์ดˆ๊ธฐ์—๋Š” ๊ถŒ์žฅํ–ˆ์œผ๋‚˜ getmore ์ด์Šˆ๋กœ ์ œ๊ฑฐ
  • getmore ํ•จ์ˆ˜ ํŠน์„ฑ์ƒ ์งˆ์˜ํ–ˆ๋˜ Node์— ๋‹ค์‹œ ์งˆ์˜ํ•ด์•ผ ํ•˜๋Š” ํŠน์„ฑ์ด ์žˆ์Œ
    • L4๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ Round Robin์„ ํ†ตํ•ด ๋‹ค์‹œ Node์— ์งˆ์˜ํ•˜๊ธฐ ํž˜๋“ค๊ธฐ ๋•Œ๋ฌธ์— L4๋ฅผ ์ œ๊ฑฐ.

Mongos โ†> shard ์ปค๋„ฅ์…˜

  • Connection ๊ด€๋ฆฌ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ
    • Connection ๊ด€๋ จ Parameter๊ฐ€ ๋„ˆ๋ฌด ๋‚ฎ๋‹ค๋ฉด?
      • ์„ฑ๋Šฅ์ƒ ์ข‹์ง€์•Š๋‹ค.
    • ๋„ˆ๋ฌด ๋†’๊ฒŒ ์žก์œผ๋ฉด?
      • connection์ด ๋งŽ์•„์ ธ ์žฅ์• ๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ…Œ์ŠคํŠธ ํ•ด๋ณด๊ณ  ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ ์ ˆํ•˜๊ฒŒ ๋ฐ˜์˜ํ•  ๊ฒƒ.

Storage Engine

  • NoSQL Storage Engine ํ™•์ธํ•˜๊ธฐ
  • eviction
    • Memory Buffer์—์„œ ์˜ค๋ž˜๋œ data(dirty page) ์‚ญ์ œํ•˜๋Š” ์ž‘์—…
  • checkpoint
    • memory buffer์™€ disk ์‚ฌ์ด์˜ ๋ฐ์ดํ„ฐ ๋ถˆ์ผ์น˜๋ฅผ ํ•ด์†Œํ•˜๊ธฐ ์œ„ํ•ด์„œ memoery โ†’ disk๋กœ data sync ํ•˜๋Š” ์ž‘์—…
  • compact
    • ์ฃผ๋กœ ์ƒˆ๋ฒฝ์‹œ๊ฐ„์— ์Šค์ผธ์ค„๋กœ ์šด์˜ํ•˜๊ณ  ์žˆ์Œ.

ํ›„๊ธฐ

  • DBA ๊ด€์ ์—์„œ Storage Engine๊นŒ์ง€ ์•Œ๊ฒŒ๋œ ์ข‹์€ ๊ณ„๊ธฐ๊ฐ€ ๋˜์—ˆ๋‹ค.

Slide


์ฟ ํŒก ์„œ๋น„์Šค Cloud Migration์„ ํ†ตํ•ด ๋ฐฐ์šด ๊ฒƒ๋“ค - ์–‘์›์„๋‹˜

  • 100๊ฐœ์˜ Microservice
    • ๋ชฉ๋™ IDC, ๋ถ„๋‹น IDC
    • ์„œ๋ฒ„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์˜ค๋žœ ์‹œ๊ฐ„์ด ์†Œ์š”๋˜๋Š” ๋‹จ์ .

๋ฌธ์ œ์ 

  • ์ถ”๊ฐ€ ๋ฐ ํ™•์žฅ ์ง„ํ–‰ ์‹œ๊ฐ„
  • ํ™•์žฅํ•˜์ง€ ๋ชปํ•ด์„œ ์žฅ์•  ๋ฐœ์ƒ

ํด๋ผ์šฐ๋“œ ์ด์ „ ์›์น™

  • ํ™•์žฅ์„ฑ์„ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•ด ํด๋ผ์šฐ๋“œ๋กœ ์ด์ „
  • ์„œ๋น„์Šค ๋ฌด์ค‘๋‹จ
  • ๊ณ ๊ฐ์—๊ฒŒ ๋งŒ์กฑ๋„์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.

Roman Ride

  • ๋ฐ์ดํ„ฐ์„ผํ„ฐ์™€ ํด๋ผ์šฐ๋“œ ๋™์‹œ์šด์˜
  • ๋ฆฌ์Šคํฌ ์ตœ์†Œํ™”
  • ์ž‘์€ ๋ณ€ํ™”
  • ๋น ๋ฅธ Rollback

Dynamic Routing

  • DB Connection Manager
    • ๊ณตํ†ต ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜•ํƒœ
    • Dynamic Config
    • ์ƒํƒœ ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ์กฐ์ž‘์„ ์œ„ํ•œ admin
    • ๋น ๋ฅธ Rollback ์ง€์›
    • ZooKeepper๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ • ๊ด€๋ฆฌ
  • DB ์ด๊ด€ ์ˆœ์„œ
    • Read DB ์—ฐ๊ฒฐ ์ด๋™
    • Write DB ์—ฐ๊ฒฐ ์ด๋™
  • API Gateway๋ฅผ ํ†ตํ•œ ํŠธ๋ž˜ํ”ฝ ์กฐ์ ˆ
    • ๊ธฐ์กด API Gateway๋ฅผ ํ™œ์šฉ
  • ํŠธ๋ž˜ํ”ฝ์ด ์ž‘๊ณ  ์˜ํ–ฅ๋„๊ฐ€ ๋‚ฎ์€ ๊ฒƒ๋ถ€ํ„ฐ ์ง„ํ–‰
  • 0 ~ 100% ๊นŒ์ง€ ํŠธ๋ž˜ํ”ฝ Rame-up
  • ๋น ๋ฅธ Rollback
  • instance size ์ด์Šˆ

Canary testing

  • Blue Green Deployment
  • docker๋กœ ๋ฐฐํฌ
  • 10๋ถ„๊ฐ„ ํ…Œ์ŠคํŠธ ์ง„ํ–‰
  • ๊ธฐ์กด ํ™˜๊ฒฝ๊ณผ ๋น„๊ต ํ…Œ์ŠคํŠธ
  • Metric ์ •๋ณด ๋น„๊ต
    • CPU
    • Memory
    • Load
    • tomcat,requestCount, tomcat.currentThreadBusy
    • jvm.gc.fullgc.times, etc
  • Log ์ˆ˜์ง‘, ์ €์žฅ
    • ELK Stack
    • Object Storage
    • ์••์ถ•, ๋ผ์ดํ”„ ์‚ฌ์ดํด ์ ์šฉ.
      • ๋กœ๊ทธ ์ข…๋ฅ˜ ๋ณ„๋กœ Life cycle์„ ๋‹ค๋ฅด๊ฒŒ ์ ์šฉ.
  • ๋ถ„์‚ฐ๋œ Service์˜ ํ˜„ํ™ฉ์€?
    • Pinpoint๋ฅผ ํ†ตํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์ƒˆ๋กœ์šด ๋ฌธ์ œ๋“ค

  • ์ „ํŒŒ๋˜๋Š” ์žฅ์• 
    • ๋‚ฎ์•„์ง€๋Š” SLA
  • ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๊ณณ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์žฅ์• 
    • Noisy Neighbor Problem
    • ๊ณต์œ  ์ž์›, ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ์ œ๊ณต ์ž์›
    • ํด๋ผ์šฐ๋“œ์˜ CPU ์ž๋™ ํŒจ์น˜๋กœ ์ธํ•œ ์žฅ์• 

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์™€ ํด๋ผ์šฐ๋“œ๋ฅผ ํ†ตํ•ด ๋ฐฐ์šด ๊ฒƒ.

๋ชจ๋“  ๊ฒƒ์—์„œ ์‹คํŒจ ๊ฐ€๋Šฅํ•˜๋‹ค.

  • Load Balancer
  • DB, Cache
  • Queue
    • ๊ณต์šฉ ์ž์›์€ ๋˜๋„๋ก์ด๋ฉด ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฐฉ์‹์œผ๋กœ
  • Object Storage
  • Block Storage
    • ๋น„๋™๊ธฐ ๋ฐฉ์‹
    • MemDisk
  • ์œ„ ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ• ๊นŒ?
    • Retry
    • Fallback
    • Circuit Breaker
      • Hystrix
      • Valves

์˜ˆ์ธก ๋ชปํ•˜๋Š” ๊ฒƒ์„ ์˜ˆ์ธกํ•˜๋ผ

  • Chaos Engineering
  • Chaos Monkey
  • ๋ณต๊ตฌ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ
  • ์•ฝ์  ์ฐพ์•„๋‚ด๊ธฐ

ํ˜ผ๋ˆ ์†์— ์‚ด๊ธฐ

  • ์žฅ์•  ๋ณต๊ตฌ ๋˜์—ˆ๋‚˜์š”?
  • 1์‹œ๊ฐ„ ๋‚ด์— ๋ฐฐํฌ๋‚˜ ๋ณ€๊ฒฝ๋œ ๋‚ด์—ญ ํ™•์ธ ๋ถ€ํƒ๋“œ๋ ค์š”.
  • ๋ณต์žกํ•œ ์‹œ์Šคํ…œ ์ƒํ™ฉ์—์„œ ์ƒํƒœ ํ™•์ธ ์–ด๋ ค์›€
  • ๋ชจ๋“  ์„œ๋น„์Šค ๊ด€๊ณ„๋ฅผ ์•Œ๊ธฐ ์–ด๋ ค์›€
  • ์•ˆ์ • ์ƒํƒœ ์ฐพ๊ธฐ
    • ์„œ๋น„์Šค์˜ ๊ฑด๊ฐ•๋„ ์ธก์ •
    • ์ฃผ๊ธฐ ์ ๊ทน ํ™œ์šฉ
      • ํŠธ๋ ˆํ”ฝ์ด ๋†’์€ ๊ฒฝ์šฐ
      • ๋งค๋‹ฌ 1์ผ 00์‹œ
      • ์ผ์š”์ผ ์ €๋…
  • ๋ณ€๊ฒฝ ๋‚ด์—ญ ํ™•์ธ ํ•˜๊ธฐ
    • ๊ฐ ์„œ๋น„์Šค์˜ ์ƒํƒœ
    • ๋ฐฐํฌ ์ด๋ ฅ
    • ์ธํ”„๋ผ ๋ณ€๊ฒฝ ์ด๋ ฅ
    • dns, security, auth

Auto Scaling

  • ์š”์ฒญ์— ๋”ฐ๋ผ ์ž๋™ ์กฐ์ ˆ
  • ์ด๋ฒคํŠธ ์ค€๋น„ ์‹œ๊ฐ„ ๋‹จ์ถ•
  • Target Tracking Policy
  • ๋ฉ”ํŠธ๋ฆญ ์ •๋ณด(CPU, Request ๋“ฑ)
  • ํ๊ธฐ ๊ฐ€๋Šฅ(Disposability)
    • ๋น ๋ฅธ ์‹œ์ž‘๊ณผ ๋น ๋ฅธ ์ •์ƒ ์ข…๋ฃŒ ๋ณด์žฅ
    • ์‹œ์ž‘์ด ์˜ค๋ž˜๊ฑธ๋ฆฌ๋ฉด Auto Scaling์ด ํŠธ๋ž˜ํ”ฝ์„ ๋”ฐ๋ผ๊ฐ€์ง€ ๋ชปํ•จ
    • ์ •์ƒ ์ข…๋ฃŒ๊ฐ€ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋ฉด ์ƒˆ๋กœ์šด ๋ฐฐํฌ์‹œ ๋ฆฌ์†Œ์Šค ๋ฌธ์ œ ๋ฐœ์ƒ
    • ๋น ๋ฅด๊ฒŒ ๋Š˜๋ฆฌ๊ณ  ์ฒœ์ฒœํžˆ ์ค„์ธ๋‹ค.
    • ๋ฏผ๊ฐํ•˜์ง€ ์•Š๊ฒŒ ์ž˜ ๋งŒ๋“ค๊ธฐ

๋‹ค๋ฅธ ์žฅ์• ๋กœ ๋ถ€ํ„ฐ ๋ฐฐ์šฐ๊ธฐ

  • ์‚ฌ๊ฑด ์‚ฌ๊ณ ๋Š” ํ•„์—ฐ์ ์ธ ๊ฒƒ.
  • ๋Œ€์šฉ๋Ÿ‰์˜ ๋ณต์žกํ•œ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ
  • ๋Š์ž„์—†๋Š” ๋ณ€ํ™”
  • ์ง€์†์ ์ธ ์•ˆ์ •ํ™”

์žฅ์•  ๋ฆฌํฌํŠธ

  • ํƒ€์ž„๋ผ์ธ
    • Detection์— ๊ฑธ๋ฆฐ ์‹œ๊ฐ„
    • ์›์ธ ์ฐพ๋Š”๋ฐ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„
    • ๋ณต๊ตฌ์— ๊ฑธ๋ฆฐ ์‹œ๊ฐ„
  • ์›์ธ ์ฐพ๊ธฐ
    • ๊ณ ๊ฐ ๊ด€์ ์—์„œ 5 why ์ž‘์„ฑ
  • ์žฌ๋ฐœ ๋ฐฉ์ง€
    • Poka-Yoke

Site Reliability Engineering (SRE)

  • Service Reliability๋ฅผ ์ฑ…์ž„

  • ๋ณต์žกํ•œ ์žฅ์•  ์ƒํ™ฉ์—์„œ ์ปจํŠธ๋กค ํƒ€์›Œ

  • ์žฅ์• ์— ๋Œ€ํ•œ ์ง€์‹ ๊ณต์œ 

  • ์žฅ์•  ์žฌ๋ฐœ ๋ฐฉ์ง€

  • ์ž˜ํ•œ ๊ฒƒ

    • ์ž‘์€ ๋ณ€ํ™”์™€ ๋น ๋ฅธ Rollback
    • ๊ณตํ†ต ๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ ์œ ์ง€
    • ๋งŒ๋“  ์‚ฌ๋žŒ์ด ์šด์˜ํ•˜๋Š” ๋ฌธํ™”
    • ์žฅ์•  ๊ด€๋ฆฌ ๋ฌธํ™”
  • ๋‹ค๋ฅด๊ฒŒ ํ•ด๋ณด๊ณ  ์‹ถ์€ ๊ฒƒ

    • ๋ณต์žก๋„ ๊ด€๋ฆฌ
    • ๋„์ปค ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ์ ์šฉ
    • ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ

ํ›„๊ธฐ

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

Slide