ã¹ããã3.å ¬é
ClipBucketãç¬èªã®ãµãŒããŒã«ã€ã³ã¹ããŒã«ã§ãããªãŒãã³ãœãŒã¹ã®YouTubeã¯ããŒã³
ç§ãæåã«è©Šããã®ã¯ClipBucketã§ãããããã¯ããµãŒããŒã«ã€ã³ã¹ããŒã«ã§ãããªãŒãã³ãœãŒã¹ã®YouTubeã¯ããŒã³ãšåŒã°ããŠããŸãã
é©ããããšã«ãClipBucketã«ã¯ã€ã³ã¹ããŒã«æé ããããŸããããããã§ãµãŒãããŒãã£ã®ãã¥ãŒããªã¢ã«ã§ã¯ãç§ã¯ãã€ã³ã¹ããŒã«ããã»ã¹ã®èªåå䜿çšAnsibleããµãŒãæ§æç®¡çããŒã«ãã
é£ããã®äžéšã¯ãClipBucketã€ã³ã¹ããŒã«ã¹ã¯ãªãããå®å šã«å£ããŠããããšã§ãããåœæãç§ã¯Googleã§åããŠããŠãå¥çŽã®æ¡ä»¶ã®äžã§ããªãŒãã³ãœãŒã¹ã®YouTubeã¯ããŒã³ã«è²¢ç®ããæš©å©ã¯ãããŸããã§ããããå¿ èŠãªä¿®æ£ãç°¡åã«è¡ãããã°ã¬ããŒããæçš¿ããŸãããäœã¶æãçµã¡ãŸãããã圌ãã¯ãŸã åé¡ãäœã§ããããçè§£ããŠããŸããã§ããã代ããã«ããªãªãŒã¹ããšã«ãã°ãã©ãã©ã远å ãããŠããŸããã
ClipBucketã¯ã³ã³ãµã«ãã£ã³ã°ã¢ãã«ã«åãçµã¿ãŸãã-圌ãã¯ç¡æã§ã³ãŒãããªãªãŒã¹ããå±éãæ¯æŽããããã«æéãè«æ±ããŸãããåŸã ã«ãææãµããŒããããéã皌ãäŒç€Ÿã¯ããããã顧客ã«è£œåãèªåã§ã€ã³ã¹ããŒã«ããŠãããããšã«ããŸãèå³ããªãããšã«æ°ã¥ããŸããã
MediaGoblinãããçŸä»£çãªä»£æ¿ææ®µ
ClipBucketã«äœã¶æãäžæºãæããåŸãå©çšå¯èœãªãªãã·ã§ã³ã確èªããMediaGoblinãèŠã€ããŸããã
MediaGoblin ã¯ãã¹ã¿ã³ãã¢ãã³ã®ã¡ãã£ã¢å ±æãã©ãããã©ãŒã
ã§ããMediaGoblinã«ã¯å€ãã®å©ç¹ããããŸããèŠèŠããPHPã®ClipBucketãšã¯ç°ãªããMediaGoblinã¯Pythonã§èšè¿°ãããŠããŸããããã¯ãç§ãã³ãŒãã£ã³ã°ã®çµéšãè±å¯ãªèšèªã§ãããããªã®ããŠã³ããŒããç°¡åã«èªååã§ããã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ããããŸããæãéèŠãªããšã¯ãMediaGoblinã¯ã€ã³ã¹ããŒã«ã®åé¡ãæé€ããDockerã€ã¡ãŒãžã§æäŸãããŸãã
Dockerã¯ãã©ãã§ãå®è¡ã§ããã¢ããªã±ãŒã·ã§ã³çšã®èªå·±å®çµåç°å¢ãäœæãããã¯ãããžãŒã§ããç§ã¯å€ãã®ãããžã§ã¯ãã§Dockerã䜿çšããŠããŸãã
MediaGoblinã®åãããã³ã°ã®é©ãã¹ãé£ãã
MediaGoblindockerã€ã¡ãŒãžã®ãããã€ã¯ç°¡åã ãšæããŸããããŸããããã¯ãã®ããã«ã¯ããŸããããŸããã§ããã
宿ããç»åã«ã¯ã2ã€ã®å¿ èŠãªæ©èœããããŸããã§ããã
- èªèšŒ
- MediaGoblinã¯ããã©ã«ãã§ãããªãã¯ã¡ãã£ã¢ããŒã¿ã«ãäœæããŸãããäžæ£ã¢ã¯ã»ã¹ãå¶éããæ¹æ³ãå¿ èŠã§ããã
- ãã©ã³ã¹ã³ãŒãã£ã³ã°
- MediaGoblinã¯ããããªãã¢ããããŒããããã³ã«ãæé©ãªã¹ããªãŒãã³ã°ã®ããã«ãããªãåã³ãŒãã£ã³ã°ããããšããŸãããããªãæåã«ã¹ããªãŒãã³ã°ããæºåãã§ããŠããå Žåããã©ã³ã¹ã³ãŒãã£ã³ã°ã«ãã£ãŠå質ãäœäžããŸãã
- MediaGoblinã¯ãæ§æãªãã·ã§ã³ãä»ããŠãã©ã³ã¹ã³ãŒãã£ã³ã°ãç¡å¹ã«ããããšãæäŸããŸãããããã¯æ¢åã®Dockerã€ã¡ãŒãžã§ã¯å®è¡ã§ããŸããã
ãŸããåé¡ãããŸããã Dockerã€ã¡ãŒãžã¯ãªãŒãã³ãœãŒã¹ã§ãããããèªåã§åæ§ç¯ã§ããŸãã
æ®å¿µãªãããDockerã€ã¡ãŒãžã¯çŸåšã®MediaGoblinãªããžããªããæ§ç¯ãããªããªããŸãããååæåãããã«ãã®ããŒãžã§ã³ãšåæããããšããŸããããã©ã¡ããæ©èœããŸããã§ããããŸã£ããåãã³ãŒãã䜿çšããŸããããMediaGoblinã®å€éšäŸåé¢ä¿ã倿Žããããã«ããå£ããŸãããæ°åæéåŸãMediaGoblinã®10ã15åã®ãã«ãããã»ã¹ãäœåºŠãç¹°ãè¿ããŠãæçµçã«æ©èœããããã«ããŸããã
æ°ã¶æåŸãåãããšãèµ·ãããŸãããéå»2幎éã§ãMediaGoblinäŸåé¢ä¿ãã§ãŒã³ãäœåºŠããã«ããå£ããŠããŸããŸãããæåŸã«èµ·ãã£ãã®ã¯ããã®èšäºãæžããŠãããšãã§ãããäŸåé¢ä¿ãããŒãã³ãŒãããã©ã€ãã©ãªã®ããŒãžã§ã³ãæç€ºããŠãMediaGoblinã®ç¬èªã®ãã©ãŒã¯ãå ¬éããããšã«ãªããŸãããèšãæããã°ã代ããã®çãããMediaGoblinã¯ãä»»æã®ããŒãžã§ã³ã§åäœããããšã䞻匵ããŠã»ããª> = 3.0ãç§ã¯äžã®ç¹å®ã®äŸåé¢ä¿ãã€ã³ã¹ããŒã«ã»ããª4.2.1ããç§ã¯ãã®ããŒãžã§ã³ã§MediaGoblinããã¹ãããŠããããã補åã«ã¯åçŸå¯èœãªãã«ãã¡ã«ããºã ãå¿ èŠãªããã§ãããç§ã¯ãŸã ãããè¡ã£ãŠããŸããã
ãšã«ãããäœæéãã®èŠåŽã®æ«ãã€ãã«Dockerã€ã¡ãŒãžã§MediaGoblinããã«ãããŠæ§æããããšãã§ããŸãããæ¢ã«ååšããã®ã¯ç°¡åã ã£ããäžèŠãªãã©ã³ã¹ã³ãŒãã£ã³ã°ãã¹ãããããŠãèªèšŒã®ããã®nginxã®ã眮ããŸãã
ã¹ããã4.ãã¹ãã£ã³ã°
MediaGoblinã¯ããŒã«ã«ãã·ã³ã§Dockerãå®è¡ããŠããã®ã§ã次ã®ã¹ãããã¯ãå®¶æããããªãèŠèŽã§ããããã«ã¯ã©ãŠããµãŒããŒã«ãããã€ããããšã§ããã
MediaGoblinãšãããªã¹ãã¬ãŒãžã®åé¡
Dockerã€ã¡ãŒãžãååŸãããããªãã¯URLã§ãã¹ããããã©ãããã©ãŒã ã¯å€æ°ãããŸããæ¬ ç¹ã¯ãã¢ããªèªäœã«å ããŠã33GBã®ãããªãã¡ã€ã«ãå ¬éããå¿ èŠããã£ãããšã§ããããããããã«ãŒã€ã¡ãŒãžã«ããŒãã³ãŒãã£ã³ã°ããããšã¯å¯èœã§ããããé¢åã§éãããšã倿ããŸããã 1è¡ã®æ§æã倿Žããã«ã¯ã33GBã®ããŒã¿ãåãããã€ããå¿ èŠããããŸãã
ClipBucketã䜿çšãããšãã« ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãéåžžã®ãã¡ã€ã«ã·ã¹ãã ãã¹ãšããŠãã£ã¬ã¯ããªãGoogleCloudã«ã¢ããããŒãã§ããããã«ãããŠãŒãã£ãªãã£ã§ããgcsfuseã®åé¡ã解決ããŸããããããªãã¡ã€ã«ãGoogleCloudã«æçš¿ããgcsfuseã䜿çšããŠClipBucketã®ããŒã«ã«ãã¡ã€ã«ãšããŠè¡šç€ºããŸããã
éãã¯ãClipBucketãå®éã®VMã§å®è¡ãããã®ã«å¯ŸããMediaGoblinã¯Dockerã³ã³ããã§å®è¡ãããããšã§ããããã§ã¯ãã¯ã©ãŠãã¹ãã¬ãŒãžãããã¡ã€ã«ãããŠã³ãããã®ãã¯ããã«é£ããããšã倿ããŸãããç§ã¯ãã¹ãŠã®åé¡ã解決ããããã«æ°åæéãè²»ãããããã«ã€ããŠã®ããã°æçš¿å šäœãæžããŸããã
MediaGoblinãšGoogleCloudã¹ãã¬ãŒãžã®æåã®çµ±åïŒ2018幎 ã«è©±ããŸããïŒ
ãã¹ãŠã®ã³ã³ããŒãã³ããæ°é±é調æŽããåŸããã¹ãŠãæ©èœããŸããã MediaGoblinã³ãŒãã«å€æŽãå ããããšãªããã¡ãã£ã¢ãã¡ã€ã«ã®èªã¿åããšgoogleã¯ã©ãŠãã¹ãã¬ãŒãžãžã®æžã蟌ã¿ãäžæ£ã«åŒ·å¶ããŸãã
å¯äžã®åé¡ã¯ãMediaGoblinãã²ã©ãé ããªã£ããšããããšã§ãããããŒã ããŒãžã«ãããªãµã ãã€ã«ãããŒãããã®ã«ãªããš20ç§ããããŸããããããªãèŠãªããåã«ãžã£ã³ããããšãMediaGoblinã¯åçãåéããåã«ç¡éã«10ç§éäžæåæ¢ããŸãã
äž»ãªåé¡ã¯ããããªãåçãé·ãåãéã§ãŠãŒã¶ãŒã«å±ãããšã§ããã圌ãã¯ãGoogleã¯ã©ãŠãã¹ãã¬ãŒãžããgcsfuseãçµç±ããŠMediaGoblinãNginxã«ç§»åããå¿ èŠããããŸããããã®åŸããŠãŒã¶ãŒã®ãã©ãŠã¶ã«ã¢ã¯ã»ã¹ããŸãããäž»ãªããã«ããã¯ã¯gcsfuseã§ããããããã¯é«éããã©ãŒãã³ã¹çšã«æé©åãããŠããŸãããéçºè ã¯ããããžã§ã¯ãã®ã¡ã€ã³ããŒãžã§ãŠãŒãã£ãªãã£ã®äœæ¥ãå€§å¹ ã«é ããããšã«ã€ããŠ
èŠåããŸããgcsfuseããã¥ã¡ã³ãã®ããã©ãŒãã³ã¹èŠå
çæ³çã«ã¯ããã©ãŠã¶ã¯ãã¹ãŠã®äžéå±€ããã€ãã¹ããŠãGoogleCloudããçŽæ¥ãã¡ã€ã«ããã§ããããå¿ èŠããããŸããMediaGoblinã³ãŒãããŒã¹ã«é£ã³èŸŒãã§ãè€éãªGoogle Cloudçµ±åããžãã¯ã远å ããã«ãããè¡ãã«ã¯ã©ãããã°ããã§ããïŒ
Nginxsub_filterããªãã¯
幞ããªããšã«ãå°ãéãã§ãããç°¡åãªè§£æ±ºçãèŠã€ããŸãããNginxã®default.confæ§æã«æ¬¡ã®ãã£ã«ã¿ãŒã远å ããŸããã
sub_filter "/mgoblin_media/media_entries/" "https://storage.googleapis.com/MY-GCS-BUCKET/media_entries/";
sub_filter_once off;
ç§ã®ã€ã³ã¹ããŒã«ã§ã¯ãNginxã¯MediaGoblinãšãšã³ããŠãŒã¶ãŒã®éã®ãããã·ãšããŠæ©èœããŸãããäžèšã®ãã£ã¬ã¯ãã£ãã¯ãMediaGoblinã®ãã¹ãŠã®HTMLå¿çãæ€çŽ¢ããŠçœ®ãæããŠããããšã³ããŠãŒã¶ãŒã«æž¡ãããã«Nginxã«æç€ºããŸããNginxã¯ãMediaGoblinã¡ãã£ã¢ãã¡ã€ã«ãžã®ãã¹ãŠã®çžå¯Ÿãã¹ãGoogle CloudStorageããã®URLã«çœ®ãæããŸãã
ããšãã°ãMediaGoblinã¯æ¬¡ã®ãããªHTMLãçæããŸãã
<video width="720" height="480" controls autoplay>
<source
src="/mgoblin_media/media_entries/16/Michael-riding-a-bike.mp4"
type="video/mp4">
</video>
Nginxã¯å¿çã倿ŽããŸãïŒ
<video width="720" height="480" controls autoplay>
<source
src="https://storage.googleapis.com/MY-GCS-BUCKET/media_entries/16/Michael-riding-a-bike.mp4"
type="video/mp4">
</video>
ããã§ããã¹ãŠãæåŸ ã©ããã«
æ©èœããŸããNginxã¯MediaGoblinããã®å¿çãæžãæããŠãã¯ã©ã€ã¢ã³ããGoogleã¯ã©ãŠãã¹ãã¬ãŒãžããçŽæ¥ã¡ãã£ã¢ãã¡ã€ã«ãèŠæ±ã§ããããã«ããŸãã
ç§ã®ãœãªã¥ãŒã·ã§ã³ã®æå€§ã®å©ç¹ã¯ãMediaGoblinã³ãŒãã倿Žããå¿ èŠããªãããšã§ããNginxã®2è¡ã®ãã£ã¬ã¯ãã£ãã¯ãMediaGoblinãšGoogle Cloudãã·ãŒã ã¬ã¹ã«çµ±åããŸããããããã®ãµãŒãã¹ã¯ãäºãã«ã€ããŠãŸã£ããäœãç¥ããŸããã
泚ïŒãã®ãœãªã¥ãŒã·ã§ã³ã§ã¯ãGoogle CloudStorageå
ã®ãã¡ã€ã«ããã¹ãŠã®äººãèªã¿åããããã«ããå¿
èŠããããŸããäžæ£ã¢ã¯ã»ã¹ã®ãªã¹ã¯ã軜æžããããã«ãïŒããšãã°mediagoblin-39dpduhfz1wstbprmyk5ak29ïŒé·ãã©ã³ãã ãªãã±ããåã䜿çšãããã±ããã®ã¢ã¯ã»ã¹å¶åŸ¡ããªã·ãŒã§æš©éã®ãªããŠãŒã¶ãŒããã£ã¬ã¯ããªã®å
容ã衚瀺ã§ããªãããšã確èªããŸãã
æçµè£œå
ãã®æç¹ã§ãç§ã¯å®å šã§å®çšçãªãœãªã¥ãŒã·ã§ã³ãæã«å ¥ããŸããã MediaGoblinã¯ãGoogleã®ã¯ã©ãŠããã©ãããã©ãŒã äžã®ç¬èªã®ã³ã³ããã§åé¡ãªãå®è¡ããããããé »ç¹ã«ããããé©çšãããæŽæ°ãããããå¿ èŠã¯ãããŸããã§ãããç§ã®ããã»ã¹ã®ãã¹ãŠãèªååãããŠåçŸå¯èœã§ãããç°¡åãªç·šéãããŒã«ããã¯ãå¯èœã§ããã
ç§ã®å®¶æã¯ããããªãèŠãã®ãããã«ç°¡åãã倧奜ãã§ãããäžèšã®Nginxããã¯ã«ããããããªåŠçã¯YouTubeãšåããããé«éã«ãªããŸããã
ãã¬ãã¥ãŒç»é¢ã¯æ¬¡ã®ããã«ãªããŸãã
泚ç®
ã¿ã°ã«ãããã¡ããªãŒãããªãã£ã¬ã¯ããªã®ã³ã³ãã³ããµã ãã€ã«ãã¯ãªãã¯ãããšã次ã®ç»é¢ã衚瀺ãããŸãã
ã¡ãã£ã¢ãµãŒããŒã§åäžã®ã¯ãªããã衚瀺ãã
é·å¹Žã®ä»äºã®æ«ãç§ã¯èŠªæã«ãåœåæãã§ããããã«ãYouTubeãšåããŠãŒã¶ãŒãã¬ã³ããªãŒãªã€ã³ã¿ãŒãã§ãŒã¹ã§ãããªãèŠãæ©äŒãäžããŠãããããšãéåžžã«å¬ããæããŸãã
ããŒãã¹ïŒæé¡1ãã«æªæºãžã®ã³ã¹ãåæž
ããŒã ãããªãé »ç¹ã«èŠãããšã¯ãªããæ°ãæããšã«ããèŠãŸãããç§ã®å®¶æã¯1幎ã«åèšã§çŽ20æéã®ãã©ãã£ãã¯ãçæããŸãããããµãŒããŒã¯24æé皌åããŠããŸããã 99.7ïŒ ã®ç¢ºçã§ããŠã³ãããµãŒããŒã«æé¡15ãã«ãæ¯æããŸããã
2018幎ã®çµããã«ãGoogleã¯CloudRun補åããªãªãŒã¹ããŸããããã©ãŒæ©èœã¯ãã¢ããªã±ãŒã·ã§ã³ãHTTPèŠæ±ã«å¿çã§ããã»ã©è¿ éã«Dockerã³ã³ãããŒãèµ·åããããšã§ãããã€ãŸãããµãŒããŒã¯ã¹ã¿ã³ãã€ã¢ãŒãã®ãŸãŸã§ã誰ããã¢ã¯ã»ã¹ããããšãã«ã®ã¿èµ·åããå¯èœæ§ããããŸããç§ã®ããã«èµ·åé »åºŠã®äœãã¢ããªã®å Žåãã³ã¹ãã¯æé¡15ãã«ãã幎æ°ã»ã³ãã«äžãããŸããã
ããæãåºããªãçç±ã§ãCloudRunã¯MediaGoblinã€ã¡ãŒãžã§æ©èœããŸããã§ãããã§ãã¯ã©ãŠãã©ã³ã®ç»å Žã§ãããã¯ãæãåºããŸããåæ§ã®ãµãŒãã¹ãç¡æã§æäŸããŠããããã®ããŒã«ã¯Googleãããã¯ããã«äŸ¿å©ã§ãã
ç¡æã®ã¢ããªã±ãŒã·ã§ã³ãµãŒããŒã䜿çšãããšãè²»çšã¯ããŒã¿ã¹ãã¬ãŒãžã ãã«ãªããŸããGoogleã®æšæºçãªå°åã¹ãã¬ãŒãžã®ã³ã¹ãã¯2.3ã»ã³ã/ GBã§ãããããªã¢ãŒã«ã€ãã¯33GBãªã®ã§ãæã«77ã»ã³ãããæ¯æããŸããã
ãã®ãœãªã¥ãŒã·ã§ã³ã®ã³ã¹ãã¯æé¡ããã0.77ãã«ã§ã
詊ããŠã¿ãã人ã®ããã®ãã³ã
æããã«ããã®ããã»ã¹ã«ã¯é·ãæéãããããŸããããã ãããã®èšäºããããŒã ãããªã®ããžã¿ã«åãšå ¬éã«ãããåŽåã®80ã90ïŒ ãç¯çŽããã®ã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸããå¥ã®ã»ã¯ã·ã§ã³ã§ãããã»ã¹å šäœã®è©³çްãªã¹ããããã€ã¹ãããã¬ã€ããèŠã€ããããšãã§ããŸãããããã«ããã€ãã®äžè¬çãªãã³ãããããŸãã
- ããžã¿ã«åããã³ç·šéãã§ãŒãºã§ã¯ãã§ããã ãå€ãã®ã¡ã¿ããŒã¿ãä¿æããŸãã
- .
- , .
- , .
- .
- .
- EverPresent ( , ).
- , HDD.
- 100-200 .
- Synology DS412+ (10 ).
- - , .
- , , . .
- (, , ), , .
- . , .
- ?
- ?
- ?
- .
- , .
- âbest ofâ , .
- , .
- , . .
- , . , .
- .
- , , .
- , , .
- .
- .
- â .
- â . , Slow Snow The National, .