AWS MediaConvert๋ฅผ ํ์ฉํ ์๋ฒ๋ฆฌ์ค ์์ ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ
ํด๋น ์์ ํ๋ซํผ์ ์ ๋ก๋ ์๊ฐ ์ ์ ํ์ฐํ ์๊ธฐ๋ถํฐ ์๋ฐฑ ๊ฐ์ ์์ ์ด ๋์์ ๋ฐ์ํ๋ ํผํฌ ์๊ฐ๋์ ์ด๋ฅด๊ธฐ๊น์ง, ๊ฐ๋ณ์ ์ธ ์ธ์ฝ๋ฉ ์ํฌ๋ก๋๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ํ์ฅ ๊ฐ๋ฅํ๊ณ ๋น์ฉ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ด ํ์ํ์ต๋๋ค.
ํ๋ก์ ํธ ์๋ดํ๊ธฐ
๊ณผ์
๊ณ ์ ์ฉ๋ ์ธ์ฝ๋ฉ ์ธํ๋ผ๋ ๊ณผ๋ํ๊ฒ ํ๋ก๋น์ ๋(๋น์ฉ ์๋ชจ)๋๊ฑฐ๋ ๋ถ์กฑํ๊ฒ ํ๋ก๋น์ ๋(์๋ ์ ํ)๋๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
- ์ธ์ฝ๋ฉ ์ํฌ๋ก๋๋ ๋งค์ฐ ๊ฐ๋ณ์ ์ด๊ณ ์์ธก ๋ถ๊ฐ๋ฅํ์ต๋๋ค.
- ์ฝํ ์ธ ์ถ์ ์ ํผํฌ ๊ธฐ๊ฐ์๋ ํ์ ๋๋น 100๋ฐฐ์ ํธ๋ํฝ์ด ๋ฐ์ํ ์ ์์์ต๋๋ค.
- ์ ์ฉ ์ธ์ฝ๋ฉ ์๋ฒ๋ฅผ 24์๊ฐ 7์ผ ๋ด๋ด ์ด์ํ๋ ๊ฒ์ ํ์ฐํ ์๊ธฐ์ ๋น์ฉ์ด ๋ง์ด ๋ค์์ต๋๋ค.
- ์์ ์คํจ ์ ์๋ ๊ฐ์ ์์ด ์๋ ๊ฐ์ง ๋ฐ ์ฌ์๋๊ฐ ํ์ํ์ต๋๋ค.
์ฐ๋ฆฌ์ ์๋ฃจ์
์ ํฌ๋ ์ ์ฐํ๊ณ ์ฌ์ฉ๋ ๊ธฐ๋ฐ์ ์์ ์ฒ๋ฆฌ๋ฅผ ์ํด AWS Lambda ํธ๋ฆฌ๊ฑฐ์ AWS MediaConvert๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ๋ฆฌ์ค ์ธ์ฝ๋ฉ ํ์ดํ๋ผ์ธ์ ๊ตฌํํ์ต๋๋ค.
์ํคํ ์ฒ
- ํธ๋ฆฌ๊ฑฐ: S3 ์ ๋ก๋ ์ด๋ฒคํธ๋ฅผ ๋ชจ๋ํฐ๋งํ๋ AWS Lambda ํจ์
- ์ธ์ฝ๋ฉ: ํํธ๋๋ณ ์์ ํ ํ๋ฆฟ์ด ์ ์ฉ๋ AWS MediaConvert
- ๋ฉ์์ง: ๋น๋๊ธฐ ์์ ์ํ ์ ๋ฐ์ดํธ๋ฅผ ์ํ ActiveMQ/STOMP
- ๋ชจ๋ํฐ๋ง: ์์ ์งํ ์ํฉ์ ์ถ์ ํ๋ NestJS ์ธ์ฝ๋ ๋ฐฑ์๋
- ์คํ ๋ฆฌ์ง: ์ ๋ ฅ/์ถ๋ ฅ ์์ฐ์ ์ํ AWS S3
ํ์ดํ๋ผ์ธ ํ๋ฆ
- S3 ์ด๋ฒคํธ - ์์ ์ ๋ก๋ ์ Lambda ํจ์ ํธ๋ฆฌ๊ฑฐ
- ์์ ๊ตฌ์ฑ - Lambda๊ฐ ํํธ๋ ํ๋กํ์ ์ฝ๊ณ MediaConvert ์์ ์ ๊ตฌ์ฑ
- ์ ์ถ - ์ ์ ํ ์ถ๋ ฅ ์ค์ ์ผ๋ก MediaConvert ์์ ์ ์ถ
- ์งํ ์ํฉ ์ถ์ - STOMP ๋ฉ์์ง๊ฐ ์ธ์ฝ๋ ๋ฐฑ์๋๋ก ์ํ ์ ๋ฌ
- ์๋ฃ - ์ถ๋ ฅ ์์ฐ์ S3์ ์ ์ฅ๋๊ณ , ๋ฉํ๋ฐ์ดํฐ๋ MongoDB์ ์ ๋ฐ์ดํธ๋จ
- ์ค๋ฅ ์ฒ๋ฆฌ - ์คํจํ ์์ ์ ์ง์ ๋ฐฑ์คํ(exponential backoff)๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์๋๋ฅผ ์ํด ๋๊ธฐ์ด์ ์ถ๊ฐ
์ฃผ์ ๊ธฐ๋ฅ
- ์ ํด ๋น์ฉ ์์ - Lambda์ MediaConvert๋ ์ค์ ์ฌ์ฉ๋์ ๋ํด์๋ง ์๊ธ ๋ถ๊ณผ
- ํ๋ ฅ์ ํ์ฅ - 1๊ฐ์์ 1000๊ฐ ์ด์์ ๋์ ์ธ์ฝ๋ฉ ์์ ์ ์ฒ๋ฆฌ
- ํํธ๋ ํ ํ๋ฆฟ - ํํธ๋๋ณ ์ฌ์ ๊ตฌ์ฑ๋ MediaConvert ์์ ํ ํ๋ฆฟ
- ์ด๋ฒคํธ ๊ธฐ๋ฐ - S3 ์ด๋ฒคํธ๊ฐ ์ธ์ฝ๋ฉ ์ํฌํ๋ก์ฐ๋ฅผ ์๋์ผ๋ก ํธ๋ฆฌ๊ฑฐ
- ํฌ๊ด์ ๋ชจ๋ํฐ๋ง - ์์ ์ํ, ๊ธฐ๊ฐ ๋ฐ ์ค๋ฅ ์ถ์
๊ฒฐ๊ณผ
๊ธฐ์ ์คํ
caseStudyDetail.more ์ฌ๋ก ์ฐ๊ตฌ
๋ ๋ง์ ๊ธฐ์ ๊ตฌํ ์ฌ๋ก๋ฅผ ์ดํด๋ณด์ธ์
SCTE-35 ๋ง์ปค ํ์ฑ ๋ฐ ๋ค์ค ํ๋ซํผ ํ๋ ์ด์ด ํตํฉ์ ํตํ ํด๋ผ์ด์ธํธ ์ธก ๊ด๊ณ ์ฝ์ (CSAI)
ํ ๋น๋์ค ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ์ ์น, ๋ชจ๋ฐ์ผ ๋ฐ ์ปค๋ฅํฐ๋ TV ์ฑ ์ ๋ฐ์ ๊ฑธ์ณ Client-Side Ad Insertion (CSAI)์ ๊ตฌํํด์ผ ํ์ต๋๋ค. ์ด๋ ์๋ฒ ์ธก ์ฝ์ ์ผ๋ก๋ ์ ๊ณตํ ์ ์๋, ํด๋ฆญ ๊ฐ๋ฅํ ์ค๋ฒ๋ ์ด, ์ปดํจ๋์ธ ๋ฐฐ๋, ๊ฑด๋๋ฐ๊ธฐ ๋ฒํผ ๋ฑ ์์ ํ ๊ด๊ณ ์ํธ์์ฉ ์ง์์ ํตํด ๊ฐ์ธํ๋ ๊ธฐ๊ธฐ ์์ค์ ๊ด๊ณ ๊ฒฝํ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
SCTE-35 ๊ด๊ณ ๋ง์ปค ์ ํธ ๋ฐ ๋ฏธ๋์ด ํธ๋ ์ผ๋ฌ ์ฝ์ ํ์ดํ๋ผ์ธ
ํ ์คํธ๋ฆฌ๋ฐ ๋ฏธ๋์ด ํ์ฌ๋ FAST ์ฑ๋, ๋ผ์ด๋ธ ์ด๋ฒคํธ ๋ฐ ์ฃผ๋ฌธํ ์ฝํ ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๋ฐ์ ๊ฑธ์ณ ์์ต์ ์ฐฝ์ถํ ์ ์๋๋ก, ์ค์๊ฐ ๋ฐ VOD ์คํธ๋ฆผ์ SCTE-35 ๊ด๊ณ ๋ง์ปค๋ฅผ ์ฝ์ ํ๊ณ ํ๋ก๋ชจ์ ํธ๋ ์ผ๋ฌ(pre-roll, mid-roll, post-roll)๋ฅผ ์ ํํ ์๊ฐ์ ์ฝ์ ํ ์ ์๋ ๊ฐ๋ ฅํ ์๋ํ๋ ํ์ดํ๋ผ์ธ์ด ํ์ํ์ต๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
MicrocosmWorks๋ Step Functions๊ฐ ํ์ดํ๋ผ์ธ์ ์ค์ผ์คํธ๋ ์ด์ ํ๋ ์ธ๊ทธ๋จผํธํ๋ ์ฒ๋ฆฌ ์ํคํ ์ฒ๋ฅผ ์ค๊ณํ์ต๋๋ค. Lambda ํจ์๊ฐ ์๋ณธ ๋์์์ ์ธ๊ทธ๋จผํธ๋ก ๋ถํ ํ๊ณ , AWS MediaConvert๊ฐ Lambda ํ์์์ ์ ์ฝ ์์ด ์ค์ ํธ๋์ค์ฝ๋ฉ์ ์ฒ๋ฆฌํ๋ฉฐ, ์ต์ข Lambda๊ฐ ๊ฒฐ๊ณผ๋ฌผ์ ํฉ์นฉ๋๋ค. ์ด ํ์ด๋ธ๋ฆฌ๋ ์ ๊ทผ ๋ฐฉ์์ ๋ชจ๋ ๊ธธ์ด์ ๋์์์ ์ง์ํ๋ฉด์ ์๋ฒ๋ฆฌ์ค ๋น์ฉ ๋ชจ๋ธ์ ์ ์งํฉ๋๋ค.
MicrocosmWorks๋ ์ ์ฉ EC2 ์ธ์ฝ๋ฉ ์ธ์คํด์ค๋ฅผ ์คํํ๋ ๊ฒ๊ณผ ๋น๊ตํ์ฌ, ๋ฒ์คํธ์ฑ ๋์์ ์ฒ๋ฆฌ ์ํฌ๋ก๋์์ 70-85%์ ๋น์ฉ ์ ๊ฐ์ ์ธก์ ํ์ต๋๋ค. ์๋ฒ๋ฆฌ์ค ํ์ดํ๋ผ์ธ์ ์ ํด ์ํ์ผ ๋ ๋น์ฉ์ด ๋ฐ์ํ์ง ์์ผ๋ฉฐ, ํผํฌ ๊ธฐ๊ฐ ๋์ ์๋ฐฑ ๊ฐ์ ๋์ ์์ ์ผ๋ก ํ์ฅ๋ฉ๋๋ค. AWS MediaConvert์ ๋ถ ๋จ์ ์๊ธ์ ํผํฌ ์ฉ๋์ ๋ฏธ๋ฆฌ ํ๋ก๋น์ ๋ํ ํ์์ฑ์ ์์ ์ค๋๋ค.
MicrocosmWorks๋ AWS Step Functions๋ฅผ ๋จ๊ณ๋ณ ์ฌ์๋ ์ ์ฑ ๋ฐ ์ง์ ๋ฐฑ์คํ๋ก ๊ตฌ์ฑํ์ฌ, ์คํจํ ํธ๋์ค์ฝ๋ฉ ๋จ๊ณ๊ฐ ์ ์ฒด ํ์ดํ๋ผ์ธ์ ๋ค์ ์์ํ์ง ์๊ณ ์๋์ผ๋ก ์ฌ์๋๋๋๋ก ๋ณด์ฅํฉ๋๋ค. ๊ฐ ๋จ๊ณ๋ ์ค๊ฐ ๊ฒฐ๊ณผ๋ฌผ์ S3์ ๊ธฐ๋กํ๋ฏ๋ก, ๋ณต๊ตฌ๋ ์๋ณธ ํ์ผ๋ถํฐ ๋ค์ ์ฒ๋ฆฌํ๋ ๋์ ๋ง์ง๋ง ์ฑ๊ณต์ ์ธ ์ฒดํฌํฌ์ธํธ๋ถํฐ ๋ค์ ์์๋ฉ๋๋ค.
MicrocosmWorks๋ ์ค์ํ Lambda ํจ์์ ํ๋ก๋น์ ๋๋ ๋์์ฑ๊ณผ MediaConvert ์์ฝ ํธ๋์ค์ฝ๋ฉ ์ฌ๋กฏ์ ์ฌ์ฉํ์ฌ ์ฝ๋ ์คํํธ ์ํ๋ฅผ ํตํด ์ค์ค์๊ฐ ์ฌ์ฉ ์ฌ๋ก์ ๋ง๊ฒ ํ์ดํ๋ผ์ธ์ ์ต์ ํํ์ต๋๋ค. ๋ผ์ด๋ธ ์ํฌํ๋ก์ ๊ฒฝ์ฐ, ํ์ดํ๋ผ์ธ์ ์ ๋ก๋๋ถํฐ ์ ๋ฌ๊น์ง 2-5๋ถ์ ์ข ๋จ ๊ฐ ์ง์ฐ ์๊ฐ์ ๋ฌ์ฑํ๋ฉฐ, ์ด๋ ํด๋ฆฝ ์ถ์ถ ๋ฐ ํ์ด๋ผ์ดํธ ๋ฐฐํฌ์ ์ ํฉํฉ๋๋ค.
MicrocosmWorks๋ ์๊ฐ๋น $25-$45์ ์์จ๋ก ์๋ฒ๋ฆฌ์ค ๋์์ ์ธํ๋ผ๋ฅผ ๊ตฌ์ถํ๋ฉฐ, Step Functions ์ค์ผ์คํธ๋ ์ด์ , S3 ์๋ช ์ฃผ๊ธฐ ๊ด๋ฆฌ, ๋ชจ๋ํฐ๋ง์ ํฌํจํ๋ ์๋ฒฝํ MediaConvert ๊ธฐ๋ฐ ํ์ดํ๋ผ์ธ์ ์ผ๋ฐ์ ์ผ๋ก 250-400 ๊ฐ๋ฐ ์๊ฐ์ด ์์๋ฉ๋๋ค. ์ด ์ํคํ ์ฒ์ ์ข ๋์ (pay-per-use) ๋ชจ๋ธ์ ํด๋ผ์ด์ธํธ๊ฐ ์ค์ ์ฒ๋ฆฌ๋์ ๋น๋กํ๋ AWS ๋น์ฉ๋ง ์ง๋ถํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
๋น์ฆ๋์ค ํ์ ์ ์์ํ ์ค๋น๊ฐ ๋์ จ๋์?
๊ทํ์ ๊ณผ์ ์ ์ ์ฌํ ์๋ฃจ์ ์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ ผ์ํด ๋ณด๊ฒ ์ต๋๋ค.