[ํ•˜์ง€ ๋งˆ์„ธ์š”] CDN์„ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”

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

[ํ•˜์ง€ ๋งˆ์„ธ์š”] CDN์„ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”

๊ทธ๋ฆผ์— ๋™๊ทธ๋ผ๋ฏธ๋กœ ํ‘œ์‹œ๋œ ์ง€์—ฐ์€ CDN ์‚ฌ์šฉ์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์—ญ์‚ฌ์˜ ๋น„ํŠธ

๋งŽ์€ ๊ธฐ์ˆ ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ CDN๋„ ํ•„์š”์— ๋”ฐ๋ผ ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท ์‚ฌ์šฉ์ž ๊ฐ„์˜ ์ธํ„ฐ๋„ท ์ฑ„๋„์ด ๋ฐœ์ „ํ•˜๋ฉด์„œ ์˜จ๋ผ์ธ ๋น„๋””์˜ค ์„œ๋น„์Šค๊ฐ€ ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹น์—ฐํžˆ ๋น„๋””์˜ค ์ฝ˜ํ…์ธ ์—๋Š” ์ผ๋ฐ˜ ์›น์‚ฌ์ดํŠธ ์ฝ˜ํ…์ธ (์‚ฌ์ง„, ํ…์ŠคํŠธ, CSS ๋˜๋Š” JS ์ฝ”๋“œ)์— ๋น„ํ•ด ํ›จ์”ฌ ๋” ๋งŽ์€ ๋Œ€์—ญํญ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

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

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

์›น์ด ๋ฐœ์ „ํ•จ์— ๋”ฐ๋ผ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž์ฒด๋„ ๋”์šฑ ๋ณต์žกํ•ด์ง€๊ณ  ๋ณต์žกํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ๋กœ๋”ฉ ์†๋„ ๋ฌธ์ œ๊ฐ€ ๋Œ€๋‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์›น ์‚ฌ์ดํŠธ ์†๋„๋ฅผ ์ข‹์•„ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ์›น ์‚ฌ์ดํŠธ ๋กœ๋“œ ์†๋„๋ฅผ ๋Š๋ฆฌ๊ฒŒ ๋งŒ๋“œ๋Š” ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š” ๋ฌธ์ œ๋ฅผ ๋น ๋ฅด๊ฒŒ ์‹๋ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ค‘ ํ•˜๋‚˜๋Š” ๋„คํŠธ์›Œํฌ ์ง€์—ฐ(RTT - ์™•๋ณต ์‹œ๊ฐ„ ๋˜๋Š” ํ•‘ ์‹œ๊ฐ„)์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ง€์—ฐ์€ TCP ์—ฐ๊ฒฐ ์„ค์ •, TLS ์„ธ์…˜ ์‹œ์ž‘, ๊ฐ ๊ฐœ๋ณ„ ๋ฆฌ์†Œ์Šค(์ด๋ฏธ์ง€, JS ํŒŒ์ผ, HTML ๋ฌธ์„œ ๋“ฑ) ๋กœ๋“œ ๋“ฑ ์›น ์‚ฌ์ดํŠธ ๋กœ๋”ฉ์˜ ๋งŽ์€ ํ”„๋กœ์„ธ์Šค์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

HTTP/1.1 ํ”„๋กœํ† ์ฝœ(SPDY, QUIC ๋ฐ HTTP/2๊ฐ€ ์ถœํ˜„ํ•˜๊ธฐ ์ „์—๋Š” ์ด๊ฒƒ์ด ์œ ์ผํ•œ ์˜ต์…˜์ด์—ˆ์Šต๋‹ˆ๋‹ค)์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ•˜๋‚˜์˜ ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•ด 6๊ฐœ ์ดํ•˜์˜ TCP ์—ฐ๊ฒฐ์„ ์—ด ์ˆ˜ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค๋กœ ์ธํ•ด ๋ฌธ์ œ๊ฐ€ ๋”์šฑ ์•…ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์—ฐ๊ฒฐ์ด ์ค‘๋‹จ๋˜๊ณ  ์ฑ„๋„ ๋Œ€์—ญํญ์ด ๋น„ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ์—ฐ๊ฒฐ ์ˆ˜ ์ œํ•œ์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ํ˜ธ์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋„๋ฉ”์ธ ์ƒค๋”ฉ์„ ํ†ตํ•ด ๋ถ€๋ถ„์ ์œผ๋กœ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ CDN์˜ ๋‘ ๋ฒˆ์งธ ๊ธฐ๋Šฅ์ด ๋‚˜ํƒ€๋‚˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๋งŽ์€ ์ˆ˜์˜ ํฌ์ธํŠธ์™€ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ๋…ธ๋“œ์˜ ๊ทผ์ ‘์„ฑ์œผ๋กœ ์ธํ•ด ๋Œ€๊ธฐ ์‹œ๊ฐ„(RTT)์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฒฐ์ •์ ์ธ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋น›์˜ ์†๋„๋Š” ์ œํ•œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค(๊ด‘์„ฌ์œ ์—์„œ๋Š” ์•ฝ 200km/์ดˆ). ์ฆ‰, 000km๋ฅผ ์ด๋™ํ•  ๋•Œ๋งˆ๋‹ค 1000ms์˜ ์ง€์—ฐ ๋˜๋Š” RTT์— 5ms๊ฐ€ ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ค‘๊ฐ„ ์žฅ๋น„์—์„œ๋„ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•˜๋ฏ€๋กœ ์ „์†ก์— ํ•„์š”ํ•œ ์ตœ์†Œ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. CDN์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์„œ๋ฒ„์—์„œ ๊ฐœ์ฒด๋ฅผ ์บ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ์œผ๋ฏ€๋กœ CDN์„ ํ†ตํ•ด ์ด๋Ÿฌํ•œ ๊ฐœ์ฒด๋ฅผ ๋กœ๋“œํ•˜๋ฉด ์ด์ ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ํ•„์š”ํ•œ ์กฐ๊ฑด: ์บ์‹œ์— ๊ฐ์ฒด๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„(์›๋ณธ ์„œ๋ฒ„)์™€ ๋น„๊ตํ•˜์—ฌ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ CDN ์ง€์ ์˜ ๊ทผ์ ‘์„ฑ. CDN ๋…ธ๋“œ์˜ ์ง€๋ฆฌ์  ๊ทผ์ ‘์„ฑ์ด ๋‚ฎ์€ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ์™€ CDN ๊ฐ„์˜ ๋ผ์šฐํŒ…์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋‹ค๋ฅธ ๊ตญ๊ฐ€, ๊ฐ€๋Šฅํ•˜๋ฉด ๋‹ค๋ฅธ ๋Œ€๋ฅ™์˜ ํ˜ธ์ŠคํŠธ์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌ์ถ•๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ํ†ต์‹  ์‚ฌ์—…์ž์™€ CDN ์„œ๋น„์Šค(ํ”ผ์–ด๋ง, ์—ฐ๊ฒฐ, IX ์ฐธ์—ฌ ๋“ฑ) ๊ฐ„์˜ ๊ด€๊ณ„์™€ CDN ์ž์ฒด์˜ ํŠธ๋ž˜ํ”ฝ ๋ผ์šฐํŒ… ์ •์ฑ…์ด ์ž‘์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Cloudflare๋Š” ๋‘ ๊ฐ€์ง€ ์ดˆ๊ธฐ ๊ณ„ํš(๋ฌด๋ฃŒ ๋ฐ ์ €๊ฐ€)์„ ์‚ฌ์šฉํ•  ๋•Œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ํ˜ธ์ŠคํŠธ๋กœ๋ถ€ํ„ฐ์˜ ์ฝ˜ํ…์ธ  ์ „๋‹ฌ์„ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ๋Š” ์ตœ์†Œ ๋น„์šฉ์„ ๋‹ฌ์„ฑํ•˜๋„๋ก ์„ ํƒ๋ฉ๋‹ˆ๋‹ค.

๋งŽ์€ ์„ ๋„์ ์ธ ์ธํ„ฐ๋„ท ๊ธฐ์—…๋“ค์ด ๋กœ๋”ฉ ์†๋„์™€ ์›น์‚ฌ์ดํŠธ ์„ฑ๋Šฅ์ด๋ผ๋Š” ์ฃผ์ œ๋กœ ๋Œ€์ค‘์˜ ๊ด€์‹ฌ(์›น ๊ฐœ๋ฐœ์ž ๋ฐ ์„œ๋น„์Šค ์†Œ์œ ์ž)์„ ๋Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํšŒ์‚ฌ ์ค‘์—๋Š” Yahoo(Yslow ๋„๊ตฌ), AOL(WebPageTest) ๋ฐ Google(Page Speed โ€‹โ€‹โ€‹โ€‹Insights ์„œ๋น„์Šค)์ด ์žˆ์œผ๋ฉฐ ์‚ฌ์ดํŠธ ์†๋„ ํ–ฅ์ƒ์„ ์œ„ํ•œ ์ž์ฒด ๊ถŒ์žฅ ์‚ฌํ•ญ์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค(์ฃผ๋กœ ํด๋ผ์ด์–ธํŠธ ์ตœ์ ํ™”์™€ ๊ด€๋ จ๋จ). ๋‚˜์ค‘์— ์›น์‚ฌ์ดํŠธ ์†๋„๋ฅผ ๋†’์ด๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ํŒ๋„ ์ œ๊ณตํ•˜๋Š” ์ƒˆ๋กœ์šด ์›น์‚ฌ์ดํŠธ ์†๋„ ํ…Œ์ŠคํŠธ ๋„๊ตฌ๊ฐ€ ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐ ์„œ๋น„์Šค ๋˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์—๋Š” "CDN ์‚ฌ์šฉ"์ด๋ผ๋Š” ์ผ๊ด€๋œ ๊ถŒ์žฅ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ์ง€์—ฐ ์‹œ๊ฐ„์˜ ๊ฐ์†Œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ CDN์˜ ํšจ๊ณผ์— ๋Œ€ํ•œ ์„ค๋ช…์œผ๋กœ ์ธ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ถˆํ–‰ํ•˜๊ฒŒ๋„ ๋ชจ๋“  ์‚ฌ๋žŒ์ด CDN์˜ ๊ฐ€์† ํšจ๊ณผ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋‹ฌ์„ฑ๋˜๊ณ  ์–ด๋–ป๊ฒŒ ์ธก์ •ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ •ํ™•ํžˆ ์ดํ•ดํ•  ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ถŒ์žฅ ์‚ฌํ•ญ์„ ๋ฏฟ์Œ์œผ๋กœ ๋ฐ›์•„๋“ค์ด๊ณ  ๊ฐ€์ •์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋ชจ๋“  CDN์ด ๋™์ผํ•˜๊ฒŒ ์ƒ์„ฑ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

์ง€๊ธˆ CDN ์‚ฌ์šฉํ•˜๊ธฐ

CDN ์‚ฌ์šฉ์˜ ์œ ์šฉ์„ฑ์„ ํ‰๊ฐ€ํ•˜๋ ค๋ฉด CDN์„ ๋ถ„๋ฅ˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์‹ค์ œ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค(๋ฌผ๋ก  ๊ด„ํ˜ธ ์•ˆ์˜ ์˜ˆ๋Š” ์™„์ „ํ•œ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค).

  1. JS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ๋ฌด๋ฃŒ CDN(MaxCDN, Google. Yandex).
  2. ํด๋ผ์ด์–ธํŠธ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ์„œ๋น„์Šค CDN(์˜ˆ: ๊ธ€๊ผด์šฉ Google Fonts, ์ด๋ฏธ์ง€์šฉ Cloudinary, Cloudimage)
  3. CMS์˜ ์ •์  ๋ฐ ๋ฆฌ์†Œ์Šค ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ CDN(Bitrix, WordPress ๋ฐ ๊ธฐํƒ€์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)
  4. ๋ฒ”์šฉ CDN(StackPath, CDNVideo, NGENIX, Megafon).
  5. ์›น์‚ฌ์ดํŠธ ๊ฐ€์†ํ™”๋ฅผ ์œ„ํ•œ CDN(Cloudflare, Imperva, Airi).

์ด๋Ÿฌํ•œ ์œ ํ˜• ๊ฐ„์˜ ์ฃผ์š” ์ฐจ์ด์ ์€ CDN์„ ํ†ต๊ณผํ•˜๋Š” ํŠธ๋ž˜ํ”ฝ์˜ ์–‘์ž…๋‹ˆ๋‹ค. ์œ ํ˜• 1-3์€ ํ•˜๋‚˜์˜ ์š”์ฒญ๋ถ€ํ„ฐ ์ˆ˜์‹ญ ๊ฐœ(๋ณดํ†ต ์‚ฌ์ง„)๊นŒ์ง€ ์ฝ˜ํ…์ธ ์˜ ์ผ๋ถ€๋งŒ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์œ ํ˜• 4์™€ 5๋Š” CDN์„ ํ†ตํ•œ ํŠธ๋ž˜ํ”ฝ์˜ ์ „์ฒด ํ”„๋ก์‹œ์ž…๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ ์ด๋Š” ์‚ฌ์ดํŠธ๋ฅผ ๋กœ๋“œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์—ฐ๊ฒฐ ์ˆ˜๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. HTTP/2์—์„œ๋Š” ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•œ ๋‹จ์ผ TCP ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ์ˆ˜์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฉ”์ธ ํ˜ธ์ŠคํŠธ(์›๋ณธ)์™€ CDN์œผ๋กœ ๋‚˜๋ˆ„๋ฉด ์š”์ฒญ์„ ์—ฌ๋Ÿฌ ๋„๋ฉ”์ธ์— ๋ถ„์‚ฐํ•˜๊ณ  ์—ฌ๋Ÿฌ TCP ์—ฐ๊ฒฐ์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์•…์˜ ๊ฒฝ์šฐ๋Š” DNS(1 RTT) + TCP(1 RTT) + TLS(2-3 RTT) = 6-7 RTT์ž…๋‹ˆ๋‹ค. ์ด ๊ณต์‹์€ ์žฅ์น˜์˜ ๋ฌด์„  ์ฑ„๋„ ํ™œ์„ฑํ™”๋ฅผ ์œ„ํ•œ ๋ชจ๋ฐ”์ผ ๋„คํŠธ์›Œํฌ์˜ ์ง€์—ฐ(ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ)๊ณผ ๊ธฐ์ง€๊ตญ์˜ ์ง€์—ฐ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‚ฌ์ดํŠธ์˜ ๋กœ๋”ฉ ํญํฌ ๋ชจ์–‘์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค(CDN ์—ฐ๊ฒฐ ์ง€์—ฐ ์‹œ๊ฐ„์€ RTT 150ms๋กœ ๊ฐ•์กฐ ํ‘œ์‹œ๋จ).

[ํ•˜์ง€ ๋งˆ์„ธ์š”] CDN์„ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”

CDN์ด ๋ชจ๋“  ์‚ฌ์ดํŠธ ํŠธ๋ž˜ํ”ฝ(ํƒ€์‚ฌ ์„œ๋น„์Šค ์ œ์™ธ)์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ ๋‹จ์ผ TCP ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๊ฐ€ ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ ์ง€์—ฐ์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ด๋Š” HTTP/2 ์—ฐ๊ฒฐ์—๋„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ์ฐจ์ด์ ์€ ํŠน์ • CDN์˜ ๊ธฐ๋Šฅ์— ๋”ฐ๋ผ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์œ ํ˜•์˜ ๊ฒฝ์šฐ ์ •์  ํŒŒ์ผ์„ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๊ฒƒ์ด๊ณ , ๋‹ค์„ฏ ๋ฒˆ์งธ ์œ ํ˜•์˜ ๊ฒฝ์šฐ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ์—ฌ๋Ÿฌ ์œ ํ˜•์˜ ์‚ฌ์ดํŠธ ์ฝ˜ํ…์ธ ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์›น์‚ฌ์ดํŠธ ๊ฐ€์†ํ™”๋ฅผ ์œ„ํ•œ CDN ๊ธฐ๋Šฅ

๊ฐœ๋ณ„ CDN ์œ ํ˜•์˜ ๊ธฐ๋Šฅ์— ๊ด€๊ณ„์—†์ด ์‚ฌ์ดํŠธ ๊ฐ€์†ํ™”๋ฅผ ์œ„ํ•œ ์ „์ฒด CDN ๊ธฐ๋Šฅ์„ ์„ค๋ช…ํ•œ ๋‹ค์Œ ๊ฐ ์œ ํ˜•์—์„œ ๊ตฌํ˜„๋˜๋Š” ๋‚ด์šฉ์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1. ํ…์ŠคํŠธ ๋ฆฌ์†Œ์Šค ์••์ถ•

๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ด๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ๊ธฐ๋Šฅ์ด์ง€๋งŒ ์ œ๋Œ€๋กœ ๊ตฌํ˜„๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  CDN์€ ์••์ถ• ๊ธฐ๋Šฅ์„ ๊ฐ€์† ๊ธฐ๋Šฅ์œผ๋กœ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ข€ ๋” ์ž์„ธํžˆ ์‚ดํŽด๋ณด๋ฉด ๋‹จ์ ์ด ๋ถ„๋ช…ํ•ด์ง‘๋‹ˆ๋‹ค.

  • ๋™์  ์••์ถ•์„ ์œ„ํ•ด ๋‚ฎ์€ ์ˆ˜์ค€์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค - 5-6(์˜ˆ: gzip์˜ ๊ฒฝ์šฐ ์ตœ๋Œ€๊ฐ’์€ 9)
  • ์ •์  ์••์ถ•(์บ์‹œ์— ์žˆ๋Š” ํŒŒ์ผ)์€ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ(์˜ˆ: 11๋“ฑ๊ธ‰์˜ zopfi ๋˜๋Š” brotli)์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ํšจ์œจ์ ์ธ brotli ์••์ถ•์€ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(gzip์— ๋น„ํ•ด ์•ฝ 20% ์ ˆ์•ฝ).

CDN์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ ๋ช‡ ๊ฐ€์ง€ ์‚ฌํ•ญ์„ ํ™•์ธํ•ด ๋ณผ ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. CDN์—์„œ ๊ฐ€์ ธ์˜จ ํŒŒ์ผ์„ ๊ฐ€์ ธ์™€์„œ ์••์ถ•๋œ ํฌ๊ธฐ๋ฅผ ๊ธฐ๋กํ•˜๊ณ  ๋น„๊ต๋ฅผ ์œ„ํ•ด ์ˆ˜๋™์œผ๋กœ ์••์ถ•ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด brotli ์ง€์›์ด ํฌํ•จ๋œ ์ผ๋ถ€ ์˜จ๋ผ์ธ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. vsszhat.rf).

2. ํด๋ผ์ด์–ธํŠธ ์บ์‹ฑ ํ—ค๋” ์„ค์ •

๋˜ํ•œ ๊ฐ„๋‹จํ•œ ์†๋„ ํ–ฅ์ƒ ๊ธฐ๋Šฅ: ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)์˜ ์ฝ˜ํ…์ธ  ์บ์‹ฑ์„ ์œ„ํ•œ ํ—ค๋”๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์‹  ํ—ค๋”๋Š” ์บ์‹œ ์ œ์–ด์ด๊ณ , ์˜ค๋ž˜๋œ ํ—ค๋”๋Š” ๋งŒ๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ Etag๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์บ์‹œ ์ œ์–ด์˜ ์ตœ๋Œ€ ์ˆ˜๋ช…์ด ์ถฉ๋ถ„ํžˆ ํฌ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(ํ•œ ๋‹ฌ ์ด์ƒ). ๋ฆฌ์†Œ์Šค๋ฅผ ์ตœ๋Œ€ํ•œ ์บ์‹œํ•  ์ค€๋น„๊ฐ€ ๋˜๋ฉด ๋ถˆ๋ณ€ ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CDN์€ max-age ๊ฐ’์„ ๋‚ฎ์ถ”์–ด ์‚ฌ์šฉ์ž๊ฐ€ ์ •์  ์ฝ˜ํ…์ธ ๋ฅผ ๋” ์ž์ฃผ ๋‹ค์‹œ ๋กœ๋“œํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฌด์—‡๊ณผ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š”์ง€๋Š” ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ์˜ ํŠธ๋ž˜ํ”ฝ์„ ๋Š˜๋ฆฌ๊ฑฐ๋‚˜ ์บ์‹œ๋ฅผ ์žฌ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฅด๋Š” ์‚ฌ์ดํŠธ์™€์˜ ํ˜ธํ™˜์„ฑ์„ ๋†’์ด๋ ค๋Š” ์š•๊ตฌ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ธฐ๋ณธ Cloudflare ํ—ค๋” ์บ์‹œ ์‹œ๊ฐ„์€ 1์‹œ๊ฐ„์œผ๋กœ, ์ด๋Š” ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ์ •์  ๋ฐ์ดํ„ฐ์˜ ๊ฒฝ์šฐ ๋งค์šฐ ๋‚ฎ์Šต๋‹ˆ๋‹ค.

3. ์ด๋ฏธ์ง€ ์ตœ์ ํ™”

CDN์€ ์ด๋ฏธ์ง€๋ฅผ ์บ์‹ฑํ•˜๊ณ  ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋ฏ€๋กœ CDN ์ธก์—์„œ ์ด๋ฏธ์ง€๋ฅผ ์ตœ์ ํ™”ํ•˜๊ณ  ์ด๋Ÿฌํ•œ ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ๋…ผ๋ฆฌ์ ์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ CDN ์œ ํ˜• 2, 3, 5์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ฐ”๋กœ ์˜ˆ์•ฝํ•ฉ์‹œ๋‹ค.

๊ณ ๊ธ‰ ์••์ถ• ํ˜•์‹(์˜ˆ: WebP), ๋ณด๋‹ค ํšจ์œจ์ ์ธ ์ธ์ฝ”๋”(MozJPEG) ์‚ฌ์šฉ, ๋ถˆํ•„์š”ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ •๋ฆฌ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ์ตœ์ ํ™”์—๋Š” ํ’ˆ์งˆ ์†์‹ค์ด ์žˆ๋Š” ์ตœ์ ํ™”์™€ ํ’ˆ์งˆ ์†์‹ค์ด ์—†๋Š” ์ตœ์ ํ™”์˜ ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค. CDN์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋ฏธ์ง€ ํ’ˆ์งˆ ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ๊ณ ๊ฐ ๋ถˆ๋งŒ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๋ฌด์†์‹ค ์ตœ์ ํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์กฐ๊ฑด์—์„œ๋Š” ์ด๋“์ด ์ตœ์†Œํ™”๋ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ๋Š” JPEG ํ’ˆ์งˆ ์ˆ˜์ค€์ด ํ•„์š”ํ•œ ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๋†’์€ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์œผ๋ฏ€๋กœ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์†์ƒ์‹œํ‚ค์ง€ ์•Š์œผ๋ฉด์„œ ๋” ๋‚ฎ์€ ํ’ˆ์งˆ ์ˆ˜์ค€์œผ๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ๋‹ค์‹œ ์••์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์—, ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•ด ๋ณดํŽธ์ ์œผ๋กœ ํ’ˆ์งˆ ์ˆ˜์ค€๊ณผ ์„ค์ •์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— CDN์€ ์ปจํ…์ŠคํŠธ(์ด๋ฏธ์ง€์˜ ๋ชฉ์ , ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์œ ํ˜•)๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„ค์ •์— ๋น„ํ•ด ์ข€ ๋” ๋ณด์ˆ˜์ ์ธ ์„ค์ •์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. , ๋“ฑ.)

4. TLS ์—ฐ๊ฒฐ ์ตœ์ ํ™”

์˜ค๋Š˜๋‚  ๋Œ€๋ถ€๋ถ„์˜ ํŠธ๋ž˜ํ”ฝ์€ TLS ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ์ด๋™ํ•˜๋ฏ€๋กœ TLS ํ˜‘์ƒ์— ์ถ”๊ฐ€ ์‹œ๊ฐ„์ด ์†Œ์š”๋ฉ๋‹ˆ๋‹ค. ์ตœ๊ทผ์—๋Š” ์ด ํ”„๋กœ์„ธ์Šค์˜ ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด EC ์•”ํ˜ธํ™”, TLS 1.3, ์„ธ์…˜ ์บ์‹œ ๋ฐ ํ‹ฐ์ผ“, ํ•˜๋“œ์›จ์–ด ์•”ํ˜ธํ™” ๊ฐ€์†(AES-NI) ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. TLS๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •ํ•˜๋ฉด ์—ฐ๊ฒฐ ์‹œ๊ฐ„์„ 0-1 RTT(DNS ๋ฐ TCP๋Š” ๊ณ„์‚ฐํ•˜์ง€ ์•Š์Œ)๋กœ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ตœ์‹  ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์„ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์–ด๋ ต์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  CDN์ด TLS ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์ด๋Š” TLS ์—ฐ๊ฒฐ ์‹œ๊ฐ„์„ ์ธก์ •ํ•˜์—ฌ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: Webpagetest). ์ƒˆ๋กœ์šด ์—ฐ๊ฒฐ์— ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค - 1RTT, 2RTT - ํ‰๊ท  ์ˆ˜์ค€, 3RTT ๋“ฑ - ๋ถˆ๋Ÿ‰.

๋˜ํ•œ CDN ์ˆ˜์ค€์—์„œ TLS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์žˆ๋Š” ์„œ๋ฒ„๋„ TLS๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜์ง€๋งŒ CDN ์ธก์—์„œ๋Š” ์„œ๋ฒ„์™€ CDN ๊ฐ„์˜ ํŠธ๋ž˜ํ”ฝ์ด ๊ณต์šฉ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ต๊ณผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์•…์˜ ๊ฒฝ์šฐ์—๋Š” ์ด์ค‘ TLS ์—ฐ๊ฒฐ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค(์ฒซ ๋ฒˆ์งธ๋Š” CDN ํ˜ธ์ŠคํŠธ์—, ๋‘ ๋ฒˆ์งธ๋Š” CDN ํ˜ธ์ŠคํŠธ์™€ ์„œ๋ฒ„ ์‚ฌ์ด์—์„œ).

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

5. ์—ฐ๊ฒฐ ์ง€์—ฐ ๊ฐ์†Œ

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

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

๋Œ€๋ถ€๋ถ„์˜ ์„œ๋ถ€ CDN์—๋Š” ๋Ÿฌ์‹œ์•„์— ์ง€์ ์ด ์ „ํ˜€ ์—†์Šต๋‹ˆ๋‹ค. ์—ฐ๊ฒฐํ•˜๋ฉด ๋Ÿฌ์‹œ์•„ ์ฒญ์ค‘์˜ ์ง€์—ฐ ์‹œ๊ฐ„๋งŒ ๋Š˜๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

6. ์ฝ˜ํ…์ธ  ์ตœ์ ํ™”(์ถ•์†Œ, ๊ตฌ์กฐ ๋ณ€๊ฒฝ)

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

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

์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ๋ชจ๋“  ์ตœ์ ํ™”๋Š” ์„ค์ •์— ์˜ํ•ด ์ œ์–ด๋˜๋ฉฐ ๊ฐ€์žฅ ์œ„ํ—˜ํ•œ ์ตœ์ ํ™”๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.

CDN ์œ ํ˜•๋ณ„ ๊ฐ€์† ๊ธฐ๋Šฅ ์ง€์›

์ด์ œ ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ CDN์ด ์ œ๊ณตํ•˜๋Š” ์ž ์žฌ์ ์ธ ๊ฐ€์†ํ™” ๊ธฐํšŒ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

ํŽธ์˜์ƒ ๋ถ„๋ฅ˜๋ฅผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

  1. JS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ๋ฌด๋ฃŒ CDN(MaxCDN, Google. Yandex).
  2. ํด๋ผ์ด์–ธํŠธ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ์„œ๋น„์Šค CDN(์˜ˆ: ๊ธ€๊ผด์šฉ Google Fonts, ์ด๋ฏธ์ง€์šฉ Cloudinary, Cloudimage)
  3. CMS์˜ ์ •์  ๋ฐ ๋ฆฌ์†Œ์Šค ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ CDN(Bitrix, WordPress ๋ฐ ๊ธฐํƒ€์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)
  4. ๋ฒ”์šฉ CDN(StackPath, CDNVideo, NGENIX, Megafon).
  5. ์›น์‚ฌ์ดํŠธ ๊ฐ€์†ํ™”๋ฅผ ์œ„ํ•œ CDN(Cloudflare, Imperva, Airi).

์ด์ œ CDN์˜ ๊ธฐ๋Šฅ๊ณผ ์ข…๋ฅ˜๋ฅผ ๋น„๊ตํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ธฐํšŒ
1 ์œ ํ˜•
2 ์œ ํ˜•
3 ์œ ํ˜•
4 ์œ ํ˜•
5 ์œ ํ˜•

ํ…์ŠคํŠธ ์••์ถ•
+โ€“
-
+โ€“
+โ€“
+

์บ์‹œ ํ—ค๋”
+
+
+
+
+

์‚ฌ์ง„๋“ค
-
+โ€“
+โ€“
-
+

TLS
-
-
-
+โ€“
+

์ง€์—ฐ
-
-
-
+
+

๋งŒ์กฑ
-
-
-
-
+

์ด ํ‘œ์—์„œ "+"๋Š” ์ „์ฒด ์ง€์›์„ ๋‚˜ํƒ€๋‚ด๊ณ  "-"๋Š” ์ง€์›ํ•˜์ง€ ์•Š์œผ๋ฉฐ "+-"๋Š” ๋ถ€๋ถ„ ์ง€์›์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์‹ค์ œ๋กœ๋Š” ์ด ํ‘œ์™€ ์ฐจ์ด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ(์˜ˆ๋ฅผ ๋“ค์–ด ์ผ๋ถ€ ๋ฒ”์šฉ CDN์€ ์ด๋ฏธ์ง€ ์ตœ์ ํ™” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค) ์ผ๋ฐ˜์ ์ธ ์•„์ด๋””์–ด๋กœ๋Š” ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ

์ด ๊ธฐ์‚ฌ๋ฅผ ์ฝ์€ ํ›„ ์‚ฌ์ดํŠธ ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•œ "CDN ์‚ฌ์šฉ" ๊ถŒ์žฅ ์‚ฌํ•ญ์— ๋Œ€ํ•ด ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ฒŒ ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

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

์ง€๊ธˆ CDN์„ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์ดํŠธ ๋กœ๋”ฉ ์‹œ๊ฐ„์ด ๋Š๋ ค์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์ธ ๊ถŒ์žฅ ์‚ฌํ•ญ์œผ๋กœ๋Š” ๋‹ค์Œ ์‚ฌํ•ญ์— ์ค‘์ ์„ ๋‘˜ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒญ์ค‘์„ ์—ฐ๊ตฌํ•˜๊ณ  ์ง€๋ฆฌ์  ๋ฒ”์œ„๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ์ฒญ์ค‘์ด ๋ฐ˜๊ฒฝ 1~2km ๋‚ด์— ์ง‘์ค‘๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ ๋Œ€๊ธฐ ์‹œ๊ฐ„ ๋‹จ์ถ•์ด๋ผ๋Š” ์ฃผ์š” ๋ชฉ์ ์„ ์œ„ํ•ด CDN์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋” ๊ฐ€๊นŒ์ด ๋ฐฐ์น˜ํ•˜๊ณ  ์ ์ ˆํ•˜๊ฒŒ ๊ตฌ์„ฑํ•˜์—ฌ ๋ฌธ์„œ์— ์„ค๋ช…๋œ ๋Œ€๋ถ€๋ถ„์˜ ์ตœ์ ํ™”(๋ฌด๋ฃŒ ๋ฐ ์˜๊ตฌ)๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์ถœ์ฒ˜ : habr.com

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