24
Субботник, СанктПетербург, 3 декабря 2011 года Разработчик Яндекс.Видео Лёша Ефимов Основные грабли при разработке видеохостинга

Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"

  • Upload
    yandex

  • View
    382

  • Download
    4

Embed Size (px)

DESCRIPTION

Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов" Я.Субботник в Санкт-Петербурге О докладе: Сейчас видеохостинги не делает только ленивый, поэтому мы решили, что рассказывать о том, как их надо делать, не очень интересно. Гораздо интересней обсудить наши неудачные попытки делать хостинг, как и что точно не надо делать. Попробуем осветить все модули нашего хостинга Яндекс.Видео – от загрузки и конвертации до хранения и раздачи видео, вплоть до содержимого HTML-страниц, а также кратко коснемся проблем авторского контента на хостингах.

Citation preview

Page 1: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"

Субботник,  Санкт-­‐Петербург,  3  декабря  2011  года  

Разработчик  Яндекс.Видео  Лёша  Ефимов  

Основные  грабли  при  разработке  видеохостинга  

Page 2: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"

Что  такое  Яндекс.Видео?  

Page 3: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"
Page 4: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"

•  Знаем  около  300  миллионов  видео  в  поиске  

•  Храним  около  3  миллионов  роликов  на  стораджах  

•  В  день  заливают  около  4000  новых  видео  

•  Примерно  200  записывают  с  веб-­‐камеры  

Циферки  Что  такое  Яндекс.Видео?  

Page 5: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"

А  где  грабли?  

Page 6: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"
Page 7: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"

1.  «Сторадж  должен  быть  простой  и  быстрый»  ©  

Page 8: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"
Page 9: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"

При  «социализме»  логинов  не  будет,  ура!  

Ой,  а  файл-­‐то  назван  криво,  надо  переименовать.  

Не  умеет  пользоваться  функцией  «задать  пароль»…  

А  как  переложить  директорию  на  другой  сервер?  

Мы  всё  придумали,  теперь  надо  ходить  в  базу!  

И  вот  ещё  что,  в  URL  оставьте  только  хэш.  

 

Что  надо  и  не  надо,  кладем  в  URL  Все  должно  быть  без  базы!  

Page 10: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"

Нам  бы  вот  оригинал  бы  тоже  хранить…  надо  бы…  А?  

Кстати,  мы  тут  HD  придумали  сделать.  И  HTML5.  

Мы  спасены!  У  меня  есть  куркулятор,  сейчас  я  посчитаю  сколько  надо  места!  

md3  :  ackve  raid10  sdb3[4](S)  sda3[0](S)  sdd3[5]  sdc3[2]  1934964608  blocks  super  1.2  64K  chunks  2  near-­‐copies  [4/2]  [__UU]  

 

Ну  тогда  закроем  на  запись  и  всё  Железо  не  резиновое!  

Page 11: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"

Внезапно  надо  уметь  кешировать  файлы  в  регионах  

Но  не  кэшировать,  что  не  нужно  в  этих  региона  

Или  то,  что  не  совсем  хотели  смотреть  

А  потом  ещё  удалять  закэшированное  по  запросу  от  правообладателя  

 

Приходили  НОКи,  желали  смерти  Регионы  

Page 12: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"
Page 13: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"

Даже  если  у  вас  маленький  стартап,  не  забывайте  что  ваш  контент  доставляется  даже  в  Африку.  

Обсчёт  и  хранение  статистики  —  это  всегда  денормализация.  Сразу  учитывайте  регион  просмотров.  

Трудно  прогнозировать  рост  в  регионе  заранее,  надо  всегда  быть  начеку.  

Регионы  —  это  важно  Кеширование  

Page 14: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"

Кэш  неожиданно  придется  валидировать  (например,  проверять  токены)  

Вкачивать  в  кэш  надо  без  ограничения  скорости,  а  раздавать  с  ограничением.  

Нельзя  кэшировать  всё  подряд  по  запросу.  

Кэшхит  обязательно  надо  мониторить.  

Раздача  из  регионов  и  других  кэшей  Кеширование  

Page 15: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"

2.  «Контент  —  наше  всё»  ©  

Page 16: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"
Page 17: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"

Как-­‐то  совсем  не  детские  утренники  заливают  

Ой,  Вова,  на  меня  ругаются!  ©  

Ну  и  наплевать,  давайте  рекламу  крутить  

Удалять  будем  сами  или  модераторов  попросим  

Content-­‐Id  —  это,  простите,  что  такое?  

Если  что,  отключим  газ!    

Видео  ваше  отснятое  Лейте  люди  добрые  

Page 18: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"
Page 19: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"

3.  «Flash  и  всё»  

Page 20: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"
Page 21: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"

Загрузчик  на  Flash,  он  нам  нужен,  дайте  нам!  

А  у  вас  есть  Flash-­‐плеер,  но  для  маркетинга?  

И  ещё  чтобы  в  нём  «Related»,  перламутровые?  

Смотрите,  какой  TV,  с  интернетами  внутри!  

Традиционно  молчим  про  iOS    

Если  бы  не  Flash,  мы  бы  и  не  узнали,  что  есть  z-­‐order  

Много  плееров  и  загрузчиков  Плеер  и  загрузчик  

Page 22: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"
Page 23: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"

Вопросы?  

Page 24: Алексей Ефимов "Основные проблемы и грабли при разработке видеохостингов"

Один  из  тех,  кто  делает  Яндекс.Видео  

e:  aefimov@yandex-­‐team.ru  

t:  @aefimov_box  

Лёша  Ефимов