Продолжая просматривать сайт, вы подтверждаете, что ознакомились с обновленной политикой конфиденциальности и соглашаетесь на использование файлов cookie.
Соглашаюсь
Главная Сегодня
PR

Опыт построения высоконагруженной Content Delivery Network масштаба страны

Опыт построения высоконагруженной Content Delivery Network масштаба страны

Статья рассказывает об  успешной реализации CDN-сети в глобальном масштабе, человеком, который сумел достичь профессиональных высот в области АйТи-индустрии. Эксперт мирового масштаба, автор технической литературы и научный деятель, достигший  самого высокого уровня сертификации по Red Hat, Дмитрий Мостовщиков на своем примере наглядно показывает, как можно заслужить всеобщее признание среди крупнейших компаний мира. Консультирует, разрабатывает и выполняет сложнейшие проекты, которые решают задачи национальных и транснациональных компаний таких как Red Hat, CenturyLink, Kaztelecom, Vimpelcom, Deutsche Pfandbriefbank, Moscow Exchange Stock, Fujitsu, Volvo Cars Corporation. Благодаря его внушительному опыту, знаниям и впечатляющему портфолио, Дмитрий сегодня среди наиболее востребованных глобальных специалистов в мире, которые способны определять вектор развития АйТи-индустрии.

Ты как признанный мировой эксперт, с высоты собственного опыта, какие проблемы видишь в развитии АйТи-индустрии?

Действительно, получив невероятно разнообразный опыт и выполнив большое количество глобальных проектов, мне достаточно ясно видна картина происходящего. Какие есть запросы у технологических гигантов, куда развиваются технологии, что требует потребитель. Пришел к выводу, что в последние 10-15 лет созрела проблема нехватки аппаратных вычислительных ресурсов, которая становится все более очевидной, каждое следующее поколение оборудования дает прирост производительности всего 10-15%, в то время когда запросы на мощности ежегодно растут на 30-60%. На данном этапе развития вижу единственно верное направление в технологическом развитии это замещение аппаратных функций программными реализациями.

photo-2

Сегодня мы говорим о CDN. Что это такое?

По сравнению с 2000-ми годами, сегодня любой сайт, открываемый на мобильном устройстве или компьютере весит сотни килобайт, иногда мегабайты и больше. Посещаемость Интернет-сервисов составляет сотни тысяч и миллионы посетителей в сутки, из региональных они становятся глобальными. Поэтому компаниям приходится изобретать все новые способы доставки контента до пользователя. К технической стороне таких сервисов предъявляются особые требования – скорость, отзывчивость, уменьшение время загрузки контента при постоянно растущем объеме трафика. Все это привело к востребованности Content Delivery Network (CDN). CDN представляет собой промежуточный слой между конечным пользователем и сервисом, выполняет роль глобального кэша для группы пользователей, ранжированных по географическому признаку. Если у вас есть Интернет сервис, популярность которого растет, то рано или поздно, вам все равно придется использовать CDN.

Какие есть реальные примеры CDN?

Есть масса компаний, которые специализируются на продаже CDN-as-a-Service среди них Cloudflare, Fastly, Microsoft, Google, Webscale, CacheFly, Amazon и другие. Все что вам нужно это оформить эту услугу и подключить свои серверы приложений – всю нагрузку CDN берет на себя и только малая часть нагрузки достается вашему серверу приложений. По различным причинам, некоторые компании реализуют собственные CDN сети. Это может быть связано с финансовой стороной вопроса или нужно реализовать какой-то специфичный функционал.

Если рассматривать с точки зрения потребителя, то примерами решений, использующих CDN являются популярные социальные сети, цифровое телевидение IP TV, википедия, новостные издания, Youtube и так далее.

Хорошо, допустим мне необходимо развивать свой Интернет ресурс, но на данном этапе нецелесообразно пользоваться услугами сторонних компаний. Можно ли самостоятельно сделать решение?

Для этого требуется команда экспертов с глубоким пониманием архитектуры работы высоконагруженных распределенных систем, знаниями в сетевых технологиях, понимания принципов работы ПО, сетевого и серверного оборудования. Тогда вы сможете начать с чистого листа и построить эффективное решение на базе открытого ПО и типизированного серверного и сетевого оборудования. Это одно. И второе, такие эксперты смогут заложить фундамент для дальнейшего развития и масштабирования вашего сервиса. Один из реализованных мной проектов Content Delivery Network, как раз и требовал наличия такой экспертизы сразу по всем направлениям.

Расскажи об этом опыте построения CDN?

Я возглавлял команду экспертов в подразделении Research and Development, мне была поставлена задача создать CDN в компании CenturyLink – телекоммуникационный оператор в США, входит в Fortune 500. Одним из направлений его деятельности является IP телевидение и для этого сервиса компания приобретала услугу CDN у компании Akamai. Задача стояла таким образом, чтобы оптимизировать затраты на поддержку и обслуживание. Такое было возможно только создав что-то с нуля, дешевле и надежнее. Я разработал целостную архитектуру и детально проработал весь дизайн и всей командой его внедрили. Получилось защищенное, отказоустойчивое, масштабируемое решение которое обрабатывает сотни миллионов пользователей по всей стране и за ее пределами. В результате компания получила экономию в $30-40 млн в год.

photo-3

Что, по-твоему, привело к успеху этого проекта?

Хотел бы ответить, что изучил множество материала на эту тему, а затем взял и сделал. Но это так не работает. В действительности успех любого проекта это глубокое понимание того, как работает оборудование, на что оно способно, как выжать из него максимум. И более важная часть это программная начинка, чтобы подобрать правильный софт нужно уметь с ним работать и знать его возможности. И, конечно, знания – надо точно понимать, что представляет из себя та или иная задача, как ее реализовать, сравнить все плюсы и минусы выбранного подхода, какие риски имеются и учитывать их. Только в таком случае, принимаются грамотные взвешенные проектные решения.

Все выглядит вполне доступно, но одновременно и впечатляюще. Но, все-таки, есть наверное и недостатки таких решений?

Следует четко понимать какие задачи решает CDN и какие не решает. Один из очевидных недостатков это то, что применение CDN эффективно работает для статического контента, таких как картинки, подключаемые скрипты, стили, статические страницы, и низко эффективен для динамического контента. Динамические ресурсы это, например социальные сети. Поэтому CDN не решает проблему высоких нагрузок на серверы, если большую часть операций составляет изменение и добавление данных. Но все-таки дает ощутимый выигрыш на операциях чтения, пример таких ресурсов это информационные порталы. Тем не менее, если у вас интерактивный сервис, то скорее всего имеется много статического контента, а это уже хорошая причина чтобы задуматься о CDN.

Очевидно, что обычным пользователям совсем не нужно разбираться в том, как работают многочисленные Интернет-сервисы, им достаточно того, что они просто работают. Однако, благодаря, таким вот профессионалам своего дела, как ты, Интернет продолжает развиваться в лучшую сторону.

Статистические данные показывают постоянный рост количества пользователей сети Интернет, так например еще в 2014 году таковых было менее 3 млрд. человек, сейчас их уже более 3,5 млрд и продолжает расти. Все большее число людей пользуются Интернетом с мобильных устройств и основная доля трафика приходится на социальные ресурсы и развлекательные сервисы. Поэтому эта отрасль будет и дальше развиваться, а высококлассные эксперты будут искать, разрабатывать и внедрять все более совершенные решения.

Какие интересные проекты вам удалось реализовать?

Довольно интересные проекты связаны с частными облаками. Как правило требования заказчика включают интеграцию корпоративного облака в существующую инфраструктуру и автоматизацию производственных процессов, что требует глубоких переработок стандартных архитектур. Как правило, в процессе разработки один проект разбивается на несколько подпроектов, которые развиваются параллельно основному, при этом задействуются технологии разных технических стеков. Мною разработаны и внедрены несколько решений на базе Red Hat OpenStack Platform, платформы уровня PaaS,  замкнутые экосистемы DevOps для нескольких компаний на территории СНГ и в Северной Америке.

Чем ты сейчас занимаешься?

В настоящее время работаю экспертным консультантом в компании Li9 Technology Solutions для их заказчика оптимизирую технологические процессы – физические мощности переводим в облачное пространство и занимаюсь трансформацией процессов разработки ПО для непрерывного контроля качества с автоматизацией доставки обновлений и последующим обучением ключевых сотрудников. Также много времени занимает общение с ведущими по отрасли экспертами – отвечаю на обращения из разных компаний, среди них есть те, кто входит в список Топ-500. Отдельное направление в моей деятельности – написание и рецензирование технических книг, много времени также отдаю на разработку авторских учебных курсов для ведущих специалистов, некоторые из них читаю сам. Свободного времени практически нет. В России вхожу в пятерку первых Red Hat Certified Architect и в двадцатку в мировом рейтинге, а это уже моральное обязательство развивать АйТи-индустрию в мире.

Новости партнеров

Новости партнеров