betacode

Введение в Netflix и его технологию облачных вычислений

  1. Netflix
  2. Netflix Cloud

1. Netflix

Netflix это американская развлекательная компания, предоставляющая услуги видео онлайн (online Video streaming) и видео по запросу (Video on demand), основана в 1997 году, штаб-квартира находится в Лос Гатос, Калифорния. Изначально она являлась компанией по дистрибуции DVD, модель продажи былла отправка DVD по почте покупателям (DVD Emailing). 25- го февраля 2007 года, Netflix дистрибютировал свой миллиардный по счету DVD. В том же году Netflix провел реструктуризацию (reinvent) всех бизнес моделей. Несмотря на большой успех с дистрибуцие DVD через почту, они понимают, что рано или поздно будут заменены (supplant) видео по интернету (Video streaming over the internet), поэтому они решили обновиться.
Ровно за год до того, как у Netflix возникла идея о реструктуризации. В 2006 году, в другом месте Amazon, компания работающая в электронной коммерции объявила о своем большом проекте и совсем не связано с индустрией их бизнеса, это "облачные вычисления" (Cloud computing). Они потратили очень много денег на инвестиции инфраструктуры сервера и арендованы как услуги.
Сервис, который позже был назван как Amazon S3 (Amazon Simple Storage Service) позволяет пользователям сохранять свои данные в облачных серверах и иметь доступ всегда и везде.
Netflix понял что Amazon является нужным для них партнером. Вместо того, чтобы инвестировать много денег в сервера и машины хранения можно использовать инфраструктуру у Amazon. В тот момент передача тяженлых данных как видео по Internet еще являлось чем-то негарантированным по многим причинам, одна из них качество полосы пропускания (brandwidth) поэтому сервера должны быть расположены рядом с регионами где многие клиенты используют услугу, когда Amazon инвестирует во многие регионы и ставят свои серверы по всей Америке.
На данный момент Netflix является самой большоей компанией в мире предоставляющей сервис онлайн фильмов и видео по запросу (video on demand), к октябрю 2017 года Netflix имеет 109,25 миллионов абонентов по всему миру, включая 52,77 миллионов в Америке, они уже работает в 40 странах и стремятся быть в других 130 странах.

2. Netflix Cloud

После официального использования сервиса у Amazon, Netflix стал пионером в технологии программного обеспечения для облачных вычислений, делают то, что никто до этого не делал. Почти все у них работает на Amazon Web Service (AWS), что на самом деле является серверной инфраструктурой. На тот момент AWS не совсем уделял внимание компонентам программного обеспечения (Software component). Никто не делал, поэтому они должны были сами изобрести необходимую технологию программного обеспечения, чтобы их приложение хорошо работало в среде облаков.
Интересно, что такие облачные технологии программного обеспечения не пришли с традиционных компаний IT, про которые вы могли бы подумать Oracle, Microsoft, IBM или другие, а были изобретены реально работающими команиями, это Netflix, Amazone и потом еще Facebook.
Почти все ресурсы Netflix развернуты на Amazon Web Service (AWS). Ниже является изображение архитектуры их системы:
Система API у Netflix разработана в течении многих лет, и почти все выполнены на AWS.
Как программист, вы точно задаете вопрос, что они сделали для сообщества развития облачных приложений.
Netflix решил, что многие их инновации являются полезными и общая цель может использоваться для разных целей. Поэтому они решили открыть эту технологию, позволяя другим работать с ней. Конечно технологии напрямую связанные с видео стриминг (Video Streaming) хранятся в секрете, а общие технологии открыты.
Сразу после того, как Netflix открыл свою технологию, он сразу получил внимание от группы разработчиков Spring, которые всегда стремятся вперед. Они сразу же изучили Netflix OSS (Netflix Open Source Software) чтобы оценить нужно ли его реструктуризировать или нет? И поняли что оно очень хорошее и ничего не нужно улучшать.
Но нужно что-то сделать чтобы его можно было легче использовать для пользователей (Программисты), так как все равно Netflix OSS является продуктом, разработанным для главных целей Netflix. Поэтому группа разработчиков Spring сфокусировались на то, чтобы программистам было легче использовать библиотеки Netflix. Во многих случаях, все необходимые вещи это добавленные зависимые (Dependency) и аннотации (Annotation).