Облачные сервисы на службе бизнеса

This post is also available in: Английский

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

Серьезными игроками в этой отрасли являются CDN операторы, которые к своим базовым услугам по доставке трафика добавляют услуги по его «генерации» веб и мультимедиа серверами. Предложения CDN операторов не лишены недостатков — они, как правило, требуют долгосрочных обязательств. В то время как, более мелкие игроки, специализирующиеся на конкретных сервисах, предлагают существенно более выгодные условия по модели Pay As You Go.

При создании инновационных Интернет продуктов мы рекомендуем как минимум ознакомиться со списком предлагаемых ниже облачных сервисов. Использование облачных сервисов дает несколько важнейших преимуществ:

  • Снижение капитальных затрат — покупка и администрирование серверов и хранилищ данных, действительно, входит в Вашу зону интересов? А развитие и содержание дорогостоящих инженеров? Может лучше сконцентрироваться на возможностях / удобстве Вашего нового сервиса?
  • Масштабируемость — в случае резкой популярности Ваш проект может привлечь внимание крупных игроков, которые реализуют Вашу идею профессиональнее и сервис не будет расстраивать заинтересованных пользователей падениями
  • Ускорение разработки — использование отработанных решений позволит Вам избежать затрат времени на изучение тонких моментов того или иного сервиса. Например, отладка сервиса многопоточного транскодирования видео может занять очень длительное время, но она не даст Вам в глазах пользователей никаких преимуществ. С другой стороны на изучение азов администрирования веб серверов и серверов приложений также можно потратить не один день и даже недели, особенно, для достижения хорошей производительности — это время можно потратить на улучшение потребительских свойств Вашего сервиса.
  • Надежность — отказоустойчивость систем построенных на базе облачных сервисов в разы выше систем построенных при традиционном подходе. WikiLeaks может быть тому хорошим примером, успешно противостояв всем интеллектуальным ресурсам недоброжелателей в течение долгого времени. Качественно бороться с DDoS атаками умеют как правило только облачные хостинги, остальные — просто зажимают канал ввиду нехватки общей пропускной способности.

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

  • Вычислительная мощность — виртуальные серверы, выделенные серверы. В этом случае Вы арендуете процессорное время, полосу, память и самостоятельно администрируете полученные ресурсы. Вы можете арендовать вычислительные мощности в разных странах. Такие услуги предлагает большое число компаний — наиболее известные из них: Amazon, RackSpace. Более высокий уровень сервиса — это облачные приложения, например, Google App Engine. Используя Google App Engine Вы можете разработав приложение исполнять его на серверах Google совершенно забыв об администрировании серверов и сервисов на них (HTTP Web Service, Java / Python Application Service).
  • База данных — как правило, именно этот модуль требует оптимизации и тюнинга производительности. Использование облачного сервиса может снять эту головную боль. Примеры предложений: Microsoft SQL Azure, Amazon SimpleDB, Amazon RDS
  • Балансировка нагрузки — использование облачных сервисов дает существенное преимущество — простота и скорость роста (стремится к скорости платежа банковской картой). Одним из существенных моментов масштабирования и роста, является распределение нагрузки. Кроме того, географическое распределение трафика существенно сказывается на качестве восприятия Вашего ресурса пользователями удаленных регионов. Такой сервис предлагают поставщики DNS услуг по распределению нагрузки. Если Вы ориентируетесь на качественное обслуживание аудитории распределенной по всему миру Вам стоит рассмотреть возможность реализации распределения нагрузки по наиболее близким точкам присутствия. Такой вид услуг лежит в основе работы CDN услуг. Примеры: DynDNS, http://www.dns.com/location/, UltraDNS, Amazon Route 53
  • Хранение контента — эффективное хранение контента на внешних хранилищах данных, например Amazon S3, RackSpace. Другие варианты: OpenDrive, Mezeo. Скорость отдачи контента может существенно влиять на общую производительность сайта с точки зрения Интернет пользователей, а приобретение качественного хранилища данных и оптимизация конфигурации для выдачи большого числа объектов одновременно может стоить больших денег. Кроме того, внешнее хранилище может использоваться в качестве онлайн бэкапа.
  • Видео хостинг — размещение мультимедийных материалов на сайте компании стало практически необходимым. Интересный факт — онлайн издания (журналы и газеты) публикуют значительное количество видео материалов, хотя создание видео никогда не было их специализацией. В последнем квартале суммарное количество времени видео, доставленного с ресурсов традиционных печатных изданий, превысило аналогичный показатель среди традиционных ТВ вещателей. Если размещение нескольких видео элементов можно решить собственными силами, то для регулярного размещения требуются специализированные средства. Предложение такого рода услуг огромно — есть даже специализированный сайт для сравнения поставщиков онлайн видео платформ VidCompare. Использование профессиональных сервисов видео хостинга позволяет решить задачи доставки контента на разные устройства, специализированной видео аналитики, монетизации и собственного брендирования. Наиболее известными игроками являются Brightcove, Kaltura, MediaPlatform, Ooyala.
  • Доставка данных — часто для доставки контента используют специализированных поставщиков — CDN провайдеров. Это целесообразно, когда Ваш проект генерирует существенные объемы трафика и критична производительность, а разработка высокоэффективных механизмов кеширования и распределения нагрузки не входит в круг Ваших интересов. Мировыми лидерами в доставке контента являются Akamai и Limelight Networks. По нашим сведениям у компаний из России часто возникают организационные сложности в работе с Akamai. Использование CDN услуг позволяет Вам снять с себя ответственность за обеспечение работоспособности при существенных скачках нагрузки, сохранение скорости и качества доставки контента. При начале работ над проектом бывает полезно подразумевать дальнейшую интеграцию с CDN — выделить статические ресурсы в отдельное доменное имя (или даже четыре) — это позволит загружать страницы сайта быстрее, собственную инфраструктуру контента рассматривать как собственную CDN и строить ее по общепринятым правилам.
  • Аналитика — это один из самых первых и самых популярных облачных сервисов, которым пользуется большинство порталов. Google Analytics, Omniture — яркие представители. Есть много бесплатных реализаций (спонсируемые поисковыми движками например), но есть и платные (Omniture), которые дают более высокий SLA своим пользователям и дополнительные возможности. Редко кому приходит в голову реализация своих сервисов аналитики в составе проекта (только когда аналитика очень специфична), почему же реализация географически распределенных кластеров серверных приложений не освобождает умы системных архитекторов ПО — это время можно потратить на проектирование ПО, выполняющего основные функции. На одной из конференций был задан вопрос к CEO AT&T, John’у Donovan’у: «Какие приложения больше всего загружают Вашу сеть?». Ответ: «Прежде всего, плохо разработанные. Потом видео.».
  • Транскодирование видео — потребность в подготовке видео контента для web публикации есть практически у каждой компании по причине нереального роста популярности онлайн видео. Вкупе с потребностью поддерживать множество различных устройств, в том числе и новые, содержание инфраструктуры по транскодированию видео под разные устройства, поиск оптимальных видео профилей может стоить существенных денег. Использование on demand сервиса позволит сократить время интеграции, время подготовки видео для новых устройств и сократить затраты. Пример сервиса — Encoding.com.
  • Мультимедиа приложения — обработка мультимедийного контента и интерактивные сервисы часто требуют наличия мультимедиа серверов. Вовсе не обязательно покупать мультимедиа сервер и выделять под него оборудование, тем более для разработки — существует облачные сервисы, предлагающие такие решения в аренду. Например, Influxis. Недавно Adobe анонсировала специальную облачную версию Flash Media Server AWS, работающую на Amazon Web Services. Такого рода сервисы могут быть очень хороши в качестве Origin’ов для CDN сетей.
  • Business Productivity Tools — CRM, Documents, Mail. Всегда стоит помнить, что администрирование подобного рода средств не является Вашей основной компетенцией, а следовательно очень разумно сэкономить на этом свое время.

Многие компании в развитии своего облачного бизнеса расширяют предложение новыми сервисами, поэтому начав использовать тот или иной сервис одного поставщика имеет смысл посмотреть дополнительные продукты, по крайней мере на стадии разработки. Облачный подход к реализации Интернет продуктов несколько изменяет типовые архитектуры проектов — убирает много лишнего, не имеющего отношения к основному бизнесу. Например, сейчас можно отказаться от покупки дорогостоящих DRM систем, оплачивая лишь реально используемую мощность. Ниже приведена архитектура реализации нашего тестового проекта онлайн видео трансляций (он является хорошим примером, т.к. использует множество доступных сервисов).

Для распределения нагрузки используется DNS, «раскидывающий» обращения к порталу по двум (на данный момент) сервисам приложений на базе PHP. Для хранения пользовательской информации и рендеринга соответствующих разделов портала используется внешняя БД. Пользователи имеют возможность записать онлайн трансляцию, для хранения используется файловый сервис. Интерактивность видеопотоков реализована при помощи Flash Media Server, также там реализуется P2P доставка онлайн видео потоков для экономии полосы пропускания. На всякий случай есть полный бэкап исходных кодов и контента. CDN сеть подключается для доставки крупных онлайн событий. Например, можно быть уверенным в том, что сайт выдержит трансляцию олимпиады в Сочи 2014 года 🙂

Подобный подход позволяет реализовать проект уровня LiveStream.com силами нескольких экспертов разработчиков за несколько месяцев, т.к. многие посторонние вопросы сняты облачными инфраструктурами, а капитальные затраты замещены операционными.

Итоги
Большинство облачных сервисов предоставляют API для интеграции и определенный уровень сервиса для тестирования и отладки, что позволяет собрать работающий сервис без инвестиций в инфраструктуру и иных затрат, кроме Вашего времени. Начиная новый Интернет проект (или развивая существующий) Вы всегда можете заниматься тем, что уже хорошо умеете с целью достижения результата (создания продукта) или изучения множества новых возможностей и технологий. Часто получается совмещать и то и другое. На данном этапе мне жалко времени на изучение новых технологий, т.к. их количество постоянно растет и успевать за всеми — очень сложно, а главное — не нужно, хотя и интересно.

Успехов Вашему бизнесу и всем Вашим Интернет проектам!