SmugMug.com — интересная схема управления облаком
SmugMug.com веб-сайт для размещения фотографий, в некоторых отношениях похожий на Flickr. Он поддерживает собственные вебсерверы и базы данных, но широко использует облачную инфраструктуру Amazon как для хранения данных (S3), так и для вычислений (ЕС2).
На момент написания статьи SmugMug.com использует свыше 600 Тбайт пространства в Amazon S3. Передача хранения данных в облако Amazon позволила сконцентрироваться на разработке новых функций. Сначала сервис S3 использовался в качестве резервного хранилища для сайта. Постепенно уверенность в производительности и надежности сервиса окрепла, и на S3 было переведено все первичное хранение данных, хотя у Amazon Web Services тогда еще не существовало соглашения об уровне обслуживания для этого сервиса (сейчас оно есть). Решение о перемещении хранения данных было принято легко, потому что руководство SmugMug увидело экономические преимущества и не хотело расширять персонал для организации внутреннего хранения данных.
Фотографии, отправленные в SmugMug, помещаются в очередь для отправки в ЕС2, где они преобразуются к нескольким размерам для использования на сайте и других операций по обработке. То же самое происходит с отправленными видеороликами. Обработанные материалы сохраняются непосредственно в S3. Конечно, описание получается чрезмерно упрощенным, но в процессе SmugMug использует достаточно интересную схему управления облаком.
Циклы обратной связи
SmugMug автоматизирует передачу и обработку видеороликов и фотографий в облако посредством организации очередей, что позволяет управлять частотой отправки заданий на обработку и количеством экземпляров, необходимых в каждый конкретный момент для обработки текущей нагрузки. Система SmugMug ежеминутно анализирует ряд метрик, чтобы принять решение о запуске или уничтожении вычислительных экземпляров по мере необходимости.
Некоторые из этих метрик:
- Текущее количество заданий, ожидающих обработки.
- Приоритеты заданий, ожидающих обработки.
- Типы заданий (фотографии, видеоролики и т. д.).
- Сложность заданий (HD-видео или фотография 1 мегапиксел)
- Критичность заданий, ожидающих обработки, по времени.
- Текущая нагрузка на экземпляры ЕС2.
- Среднее время выполнения задания.
- Исторические метрики нагрузки и производительности обработки заданий.
- Продолжительность запуска нового вычислительного экземпляра.
Учитывая все эти метрики, система SmugMug масштабируется с повышением или сокращением текущего количества используемых экземпляров ЕС2. Таким образом повышается эффективность обработки с использованием облачной инфраструктуры.
Сценарий SmugMug следует принципам, описанным ранее. Метрики прикладного и системного уровня объединяются с целью планирования мощностей, а собранные исторические данные используются для построения прогнозов. SmugMug хорошо знает свои потолки, отслеживает возможное приближение к ним и регулирует текущие мощности в пределах узкого, подвижного временного окна.
В случае SmugMug, принимая во внимание рассчитанную общую стоимость собственного вычислительного центра, желание фирмы избежать расширения штата и масштабов ее деятельности, применение облачной инфраструктуры для хранения данных и обработки было выгодно с экономической точки зрения.