AWS MediaConvert๋ฅผ ์ฌ์ฉํ ์๋ฒ๋ฆฌ์ค ๋น๋์ค ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ
๋น๋์ค ํ๋ซํผ์ ์ ๋ก๋๊ฐ ์ ์ ํ๊ฐํ ๊ธฐ๊ฐ๋ถํฐ ์๋ฐฑ ๊ฐ์ ๋์ ์์ ์ด ๋ฐ์ํ๋ ํผํฌ ์๊ฐ๊น์ง, ๊ฐ๋ณ์ ์ธ ์ธ์ฝ๋ฉ ์ํฌ๋ก๋๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ํ์ฅ ๊ฐ๋ฅํ๊ณ ๋น์ฉ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ด ํ์ํ์ต๋๋ค.
ํ๋ก์ ํธ ์๋ดํ๊ธฐ
๊ณผ์
๊ณ ์ ์ฉ๋ ์ธ์ฝ๋ฉ ์ธํ๋ผ๋ ๊ณผ๋ํ๊ฒ ํ๋ก๋น์ ๋(๋น์ฉ ์๋ชจ์ )๋๊ฑฐ๋ ๋ถ์ถฉ๋ถํ๊ฒ ํ๋ก๋น์ ๋(๋๋ฆผ)๋์์ต๋๋ค.
- ์ธ์ฝ๋ฉ ์ํฌ๋ก๋๋ ๋ณ๋์ฑ์ด ๋งค์ฐ ํฌ๊ณ ์์ธก ๋ถ๊ฐ๋ฅํ์ต๋๋ค.
- ์ฝํ ์ธ ์ถ์ ๊ธฐ๊ฐ ๋์ ํผํฌ ๊ธฐ๊ฐ์๋ ํ์ ๋๋น 100๋ฐฐ์ ๋ณผ๋ฅจ์ ๋ณด์ผ ์ ์์์ต๋๋ค.
- ์ ์ฉ ์ธ์ฝ๋ฉ ์๋ฒ๋ฅผ 24์๊ฐ ์ฐ์ค๋ฌดํด๋ก ์ด์ํ๋ ๊ฒ์ ํ๊ฐํ ๊ธฐ๊ฐ ๋์ ๋น์ฉ์ด ๋ง์ด ๋ค์์ต๋๋ค.
- ์์ ์คํจ ์ ์๋ ๊ฐ์ ์์ด ์๋ ๊ฐ์ง ๋ฐ ์ฌ์๋๊ฐ ํ์ํ์ต๋๋ค.
์ฐ๋ฆฌ์ ์๋ฃจ์
์ฐ๋ฆฌ๋ ์ ์ฐํ๊ณ ์ฌ์ฉ๋ ๊ธฐ๋ฐ์ ๋น๋์ค ์ฒ๋ฆฌ๋ฅผ ์ํด 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 ์ธ์ฝ๋ฉ ์ธ์คํด์ค๋ฅผ ์คํํ๋ ๊ฒ๊ณผ ๋น๊ตํ์ฌ burtsy ๋น๋์ค ์ฒ๋ฆฌ ์ํฌ๋ก๋์์ 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 ๋น์ฉ๋ง ์ง๋ถํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
๋น์ฆ๋์ค ํ์ ์ ์์ํ ์ค๋น๊ฐ ๋์ จ๋์?
๊ทํ์ ๊ณผ์ ์ ์ ์ฌํ ์๋ฃจ์ ์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ ผ์ํด ๋ณด๊ฒ ์ต๋๋ค.