์๋์ ๊ฐ์ ๊ธฐ๋ฅ์ ๊ฐ๋ ๋น๋์ค ์คํธ๋ฆฌ๋ฐ ์๋น์ค
์ค๊ณ์ ์ด์ ์ ๋ง์ถ ์์
infrastructure cost
DAU
์๋ 5๋ฐฑ๋ง(5million)CloudFront
๋ฅผ CDN ์๋ฃจ์
์ผ๋ก ์ฌ์ฉํ ๊ฒฝ์ฐ, 100% ํธ๋ํฝ์ด ๋ฏธ๊ตญ์์ ๋ฐ์ํ๋ค๊ณ ๊ฐ์ ํ๋ฉด 1GB๋น $0.02์ ์๊ธ์ด ๋ฐ์. ๋ฌธ์ ๋ฅผ ๋จ์ํํ๊ธฐ ์ํด ๋น๋์ค ์คํธ๋ฆฌ๋ฐ ๋น์ฉ๋ง ๋ฐ์ง๋๋ก ๊ฐ์ ๊ท๋ชจ ํ์ฅ์ด ์ฌ์ด
BLOB ์ ์ฅ์
๋CDN
์ ๋ง๋๋ ๊ฒ์ ์ง๊ทนํ ๋ณต์กํ ๋ฟ ์๋๋ผ ๋ง์ ๋น์ฉ์ด ๋๋ ์ผ. ๋ทํ๋ฆญ์ค๋ ํ์ด์ค๋ถ ๊ฐ์ ํฐ ํ์ฌ๋ ๋ชจ๋ ๊ฒ์ ์ค์ค๋ก ๊ตฌ์ถํ์ง๋ ์์. ๋ทํ๋ฆญ์ค๋ ์๋ง์กด์ ํด๋ผ์ฐ๋ ์๋น์ค๋ฅผ ์ฌ์ฉํ๊ณ , ํ์ด์ค๋ถ์ ์์นด๋ง์ด(Akamai)์ CDN์ ์ด์ฉ
๊ฐ๋ต์ ์ผ๋ก ๋ณด๋ฉด ์ด ์์คํ
์ ๋จ๋ง(client)
, CDN
, API ์๋ฒ
์ธ ๊ฐ์ ์ปดํฌ๋ํธ๋ก ๊ตฌ์ฑ
API ์๋ฒ
: ๋น๋์ค ์คํธ๋ฆฌ๋ฐ์ ์ ์ธํ ๋ชจ๋ ์์ฒญ์ API ์๋ฒ๊ฐ ์ฒ๋ฆฌ. ํผ๋ ์ถ์ฒ(Feed recommendation)
, ๋น๋์ค ์
๋ก๋ URL ์์ฑ
, ๋ฉํ๋ฐ์ดํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์บ์ ๊ฐฑ์
, ์ฌ์ฉ์ ๊ฐ์
๋ฑ๋ฑ์ด API ์๋ฒ๊ฐ ์ฒ๋ฆฌํ๋ ์์
๋น๋์ค ์
๋ก๋๋ ๋น๋์ค ์
๋ก๋
์ ๋น๋์ค ๋ฉํ๋ฐ์ดํฐ ๊ฐฑ์
(๋ฉํ ๋ฐ์ดํฐ์๋ ๋น๋์ค URL, ํฌ๊ธฐ, ํด์๋, ํฌ๋งท, ์ฌ์ฉ์ ์ ๋ณด๊ฐ ํฌํจ) ๋ ํ๋ก์ธ์ค๊ฐ ๋ณ๋ ฌ์ ์ผ๋ก ์ํ๋๋ค.
๋ณ๋ ฌ์
์ผ๋ก ์ํ์๋ณธ ์ ์ฅ์์ ํ์ผ์ด ์
๋ก๋ ๋๋ ๋์. ๋จ๋ง ๋ณ๋ ฌ์ ์ผ๋ก ๋น๋์ค ๋ฉํ๋ฐ์ดํฐ ๊ฐฑ์ ์์ฒญ API ์๋ฒ
์ ๋ณด๋
์คํธ๋ฆฌ๋ฐ ํ๋กํ ์ฝ(streaming protocol)
: ๋น๋์ค ์คํธ๋ฆฌ๋ฐ์ ์ํด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ ์ฐ์ด๋ ํ์คํ๋ ํต์ ๋ฐฉ๋ฒ
๋๋ฆฌ ์ฌ์ฉ๋๋ ์คํธ๋ฆฌ๋ฐ ํ๋กํ ์ฝ
MPEG-DASH
: MPEG(Moving Picture Experts Group). DASH(Dynamic Adaptive Streaming over HTTP)HLS
: HLS(HTTP Live Streaming)๋ง์ดํฌ๋ก์ํํธ ์ค๋ฌด๋ ์คํธ๋ฆฌ๋ฐ(Microsoft Smooth Streaming)
์ด๋๋น HTTP ๋์ ์คํธ๋ฆฌ๋ฐ(Adobe HTTP Dynamic Streaming, HDS)
ํ๋กํ ์ฝ๋ง๋ค ์ง์ํ๋ ๋น๋์ค ์ธ์ฝ๋ฉ์ด ๋ค๋ฅด๊ณ ํ๋ ์ด์ด๋ ๋ค๋ฅด๋ฏ๋ก ๋น๋์ค ์คํธ๋ฆฌ๋ฐ ์๋น์ค๋ฅผ ์ค๊ณํ ๋์๋ ์๋น์ค์ ์ฉ๋ก์ ๋ง๋ ํ๋กํ ์ฝ์ ์ ๊ณจ๋ผ์ผ ํจ.
์คํธ๋ฆฌ๋ฐ ํ๋กํ ์ฝ์ ๋ํด ๋ ์๊ณ ์ถ๋ค๋ฉด...
๋น๋์ค๋ CDN
์์ ๋ฐ๋ก ์คํธ๋ฆฌ๋ฐ
๋น๋์ค ํธ๋์ค์ฝ๋ฉ์ด ์ค์ํ ์ด์
์ธ์ฝ๋ฉ ํฌ๋งท
์ปจํ
์ด๋(container)
: ๋น๋์ค ํ์ผ, ์ค๋์ค, ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ด๋ ๋ฐ๊ตฌ๋ ๊ฐ์ ๊ฒ. .avi, .mov, .mp4 ๊ฐ์ ํ์ผ ํ์ฅ์๋ฅผ ๋ณด๊ณ ์ปจํ
์ด๋ ํฌ๋งท ํ์ธ ๊ฐ๋ฅ์ฝ๋ฑ(codec)
: ๋น๋์ค ํ์ง์ ๋ณด์กดํ๋ฉด์ ํ์ผ ํฌ๊ธฐ๋ฅผ ์ค์ผ ๋ชฉ์ ์ผ๋ก ๊ณ ์๋ ์์ถ ๋ฐ ์์ถ ํด์ ์๊ณ ๋ฆฌ์ฆ. ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๋น๋์ค ์ฝ๋ฑ์ผ๋ก๋ H.264, VP9, HEVC๊ฐ๊ธฐ ๋ค๋ฅธ ์ ํ์ ๋น๋์ค ํ๋ก์ธ์ฑ ํ์ดํ๋ผ์ธ์ ์ง์ํ๋ ํํธ
์ฒ๋ฆฌ ๊ณผ์ ์ ๋ณ๋ ฌ์ฑ์ ๋์ด๊ธฐ ์ํด์๋ ์ ์ ํ ์์ค์ ์ถ์ํ๋ฅผ ๋์
ํ์ฌ ํด๋ผ์ด์ธํธ ํ๋ก๊ทธ๋๋จธ๋ก ํ์ฌ๊ธ ์คํํ ์์
task
์ ์์ ์ ์ํ ์ ์๋๋ก ํด์ผ ํจ
๋น๋์ค ํธ๋์ค์ฝ๋ฉ์ ์ํด ๋ณธ ์ค๊ณ์์ด ์ฑํํ DAG ๋ชจ๋ธ
์๋ณธ ๋น๋์ค๋ ๋น๋์ค, ์ค๋์ค, ๋ฉํ๋ฐ์ดํฐ์ ์ธ ๋ถ๋ถ์ผ๋ก ๋๋์ด ์ฒ๋ฆฌ
์ ์ฒ๋ฆฌ๊ธฐ๊ฐ ํ๋ ์ผ
๋น๋์ค ๋ถํ (video splitting)
: ๋น๋์ค ์คํธ๋ฆผ์ GOP(Group of Picture)
๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋จ์๋ก ์ชผ๊ฐฌ. GOP๋ ํน์ ์์๋ก ๋ฐฐ์ด๋ ํ๋ ์(frame) ๊ทธ๋ฃน. ํ๋์ GOP๋ ๋
๋ฆฝ์ ์ผ๋ก ์ฌ์์ด ๊ฐ๋ฅํ๋ฉฐ, ๊ธธ์ด๋ ๋ณดํต ๋ช ์ด ์ ๋DAG ์์ฑ
๋ฐ์ดํฐ ์บ์
: ์ ์ฒ๋ฆฌ๊ธฐ๋ ๋ถํ ๋ ๋น๋์ค์ ์บ์์ด๊ธฐ๋ ํจ. ์์ ์ฑ์ ๋์ด๊ธฐ ์ํด ์ ์ฒ๋ฆฌ๊ธฐ๋ GOP์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์์ ์ ์ฅ์(temporary storage)
์ ๋ณด๊ดDAG ์ค์ผ์ค๋ฌ
๋ DAG ๊ทธ๋ํ๋ฅผ ๋ช ๊ฐ ๋จ๊ณ(stage)๋ก ๋ถํ ํ ๋ค์ ๊ทธ ๊ฐ๊ฐ์ ์์ ๊ด๋ฆฌ์์ ์์
ํ(task queue)์ ์ง์ด๋ฃ๋๋ค.
ํ๋์ DAG ๊ทธ๋ํ๋ฅผ 2๊ฐ ์์ ๋จ๊ณ(stage)๋ก ๋๋ ์ฌ๋ก
์์ ๊ด๋ฆฌ์(resoyrece manager)
๋ ์์ ๋ฐฐ๋ถ์ ํจ๊ณผ์ ์ผ๋ก ์ํํ๋ ์ญํ
3๊ฐ์ ํ์ ์์ ์ค์ผ์ค๋ฌ(task scheduler) ๋ก ๊ตฌ์ฑ
๋น๋์ค ์ ๋ถ๋ฅผ ํ ๋ฒ์ ์ ๋ก๋๋ก ์ฌ๋ฆฌ๋ ๊ฒ์ ๋นํจ์จ์
๋ถํ ํ GOP๋ฅผ ๋ณ๋ ฌ์ ์ผ๋ก ์
๋ก๋ํ๋ฉด ์ค์ฌ ์ผ๋ถ๊ฐ ์คํจํด๋ ๋น ๋ฅด๊ฒ ์
๋ก๋๋ฅผ ์ฌ๊ฐํ ์ ์์
๋น๋์ค๋ฅผ GOP ๊ฒฝ๊ณ์ ๋ง์ถฐ ๋ถํ ํ๋ ์์
์ ๋จ๋ง์ด ์ํํ๋ฉด ์
๋ก๋ ์๋๋ฅผ ํฅ์์ํฌ ์ ์์
์ ๋ก๋ ์ผํฐ๋ฅผ ์ฌ๋ฌ ๊ณณ์ ๋๊ณ ๊ทผ๊ฑฐ๋ฆฌ์ ์๋ ์ผํฐ์ ๋ฐ์ดํฐ๋ฅผ ์๊ตฌํ๋ฉด ๋๋ค
๋์จํ๊ฒ ๊ฒฐํฉ๋ ์์คํ ์ ๋ง๋ค์ด์ ๋ณ๋ ฌ์ฑ์ ๋์ด์
๋น๋์ค๋ฅผ ์๋ณธ ์ ์ฅ์์์ CDN์ผ๋ก ์ฎ๊ธฐ๋ ์ ์ฐจ
์ด๋ฐ ํํ๋ก ์์กด์ฑ์ด ์์ผ๋ฉด ๋ณ๋ ฌ์ฑ์ ๋์ด๊ธฐ ์ด๋ ค์ - ๋ฉ์ธ์ง ํ
๋ฅผ ๋์
๋ฉ์ธ์ง ํ
๊ฐ ์ด๋ป๊ฒ ์์คํ
๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ๋๋ฐ ?
๋น๋์ค๋ฅผ ์๋ณธ ์ ์ฅ์์์ CDN์ผ๋ก ์ฎ๊ธฐ๋ ์ ์ฐจ - ๋ฉ์ธ์ง ํ ๋์
ํ๊ฐ ๋ฐ์(authorized) ์ฌ์ฉ์ ๋ง์ด ์ฌ๋ฐ๋ฅธ ์ฅ์์ ๋น๋์ค๋ฅผ ์ ๋ก๋
๋น๋์ค ์ ์๊ถ ๋ณดํธ
์ ํ๋ธ์ ๋น๋์ค ์คํธ๋ฆฌ๋ฐ์ ๋กฑํ
์ผ(long-tail)
๋ถํฌ๋ฅผ ๋ฐ๋ฆ
์ธ๊ธฐ ์๋ ๋น๋์ค๋ ๋น๋ฒํ ์ฌ์๋๋ ๋ฐ๋ฉด, ๋๋จธ์ง๋ ๊ฑฐ์ ๋ณด๋ ์ฌ๋์ด ์๋ค๋ ๊ฒ
์ด๋ฐ ๋ฐฉ๋ฒ๋ค์ ๊ตฌ์ถํ๊ธฐ ์ํด์ ์์ฒญ ํจํด์ ๋ถ์ํ๋ ๊ฒ์ด ๋งค์ฐ ์ค์
์ฝ์ด๋ณผ ๋งํ ์๋ฃ
Understanding the Characteristics of Internet Short Video Sharing
Content Popularity for Open Connect
์์คํ ์ค๋ฅ์ ์ข ๋ฅ
ํ๋ณต ๊ฐ๋ฅ ์ค๋ฅ(recoverable error)
: ํน์ ๋น๋์ค ์ธ๊ทธ๋จผํธ๋ฅผ ํธ๋์ค์ฝ๋ฉํ๋ค ์คํจํ๋ค๋ ๊ฐ ํ๋ ์ค๋ฅ๋ ํ๋ณต ๊ฐ๋ฅํ ์ค๋ฅ์ ์ํจ. ๊ทธ๋ฅ retry๋ง ํ๋ฉด ๋จ. ๋ง์ฝ ๊ณ์ ๋ฐ๋ณต๋ ์์๋ ์ค๋ฅ์ฝ๋ ๋ฐํํ๋ณต ๋ถ๊ฐ๋ฅ ์ค๋ฅ(non-recoverable error)
: ๋น๋์ค ํฌ๋งท์ด ์๋ชป๋์๋ค๊ฑฐ๋ ํ๋ ํ๋ณต ๋ถ๊ฐ๋ฅํ ์ค๋ฅ๊ฐ ๋ฐ๊ฒฌ๋๋ฉด ์์คํ
์ ํด๋น ๋น๋์ค์ ๋ํ ์์
์ ์ค๋จํ๊ณ ํด๋ผ์ด์ธํธ์๊ฒ ์ ์ ํ ์ค๋ฅ ์ฝ๋๋ฅผ ๋ฐํ์ค๋ฅ์ ๋ํ ์ ํ์ ํด๊ฒฐ ๋ฐฉ๋ฒ