Команда TestMace продолжает публикацию переводов об интересных моментах web-сферы. На очереди описание Amazon Prime Day с точки зрения разработки высоконагруженных сервисов. Приятного чтения!
Уже по традиции я бы хотел рассказать вам о некоторых преимуществах AWS, которые помогли нам запустить такое масштабное мероприятие и справиться с высокой нагрузкой. Из статей How AWS Powered Amazon’s Biggest Day Ever и Prime Day 2017 – Powered by AWS вы можете узнать, как мы обрабатывали результаты прошлых распродаж Prime Day и что мы предприняли для оптимизации своих систем и процессов.
В этот раз я хотел бы остановиться на трех особенностях AWS, которые помогли нам справиться с рекордными показателями трафика и продаж во время Prime Day: инфраструктуре обработки видео, инфраструктуре базы данных и инфраструктуре вычислений. Познакомимся с каждым из них поближе.
10 июля пользователи Amazon Prime могли посмотреть концерт Prime Day Concert, предоставленный Amazon Music. Это мероприятие транслировалось в прямом эфире, а в списке звезд значились такие артисты, как Дуа Липа, SZA, Бекки Джи и хедлайнер в лице обладательницы 10 статуэток Грэмми Тейлор Свифт.
Проведение прямой трансляции такого масштаба и сложности на аудиторию из более чем 200 стран требует тщательного планирования и мощной инфраструктуры. Для кодирования и упаковки видеопотока наши коллеги из Amazon Prime Video использовали различные медиа-сервисы AWS, в том числе и AWS Elemental MediaPackage, а также кодировщики AWS Elemental Live.
Для трансляции были задействованы два региона с резервной парой конвейеров обработки данных в каждом из них. Конвейеры передавали видео 1080p 30fps различным сетям доставки контента (включая Amazon CloudFront) и делали это максимально эффективно.
Для обеспечения высокой доступности и стабильной работы системы в период крайне высокой нагрузки во время распродажи Prime Day были использованы как реляционные базы данных, так и NoSQL.
Amazon DynamoDB поддерживает несколько сайтов и систем с высоким трафиком, в число которых входят Alexa, сайт Amazon.com и все 442 fulfillment-центра Amazon. В течение 48 часов распродажи эти ресурсы сделали 7,11 триллиона запросов к DynamoDB API, установив максимальное значение в 45,4 млн запросов в секунду.
Amazon Aurora тоже используется для работы fulfillment-центров Amazon. За время Prime Day 1900 экземпляров базы данных обработали 128 миллиардов транзакций, сохранили 609 терабайт и передали 306 терабайт данных.
В организации работы Prime Day 2019 также была задействована большая коллекция разнообразных инстансов EC2. Внутренняя метрика для этих экземпляров называется эквивалентом сервера (server equivalent), и во время распродажи цифры варьировались от 372 тысяч эквивалентов до максимального значения в 426 тысяч. Экземпляры EC2 использовали большие объемы блочного хранилища Elastic Block Store (EBS). Накануне Prime Day в хранилище было добавлено 63 петабайт памяти, и в результате в день обрабатывалось по 2,1 триллиона запросов и было передано 185 петабайт данных.
Я привел вам впечатляющие цифры, которые показывают, какого уровня масштабирования вы можете достичь с использованием AWS. Как видите, с AWS вы можете без труда добавить своей системе ресурсов для проведения одноразовых (или периодических) событий, даже если эти события будут транслироваться на весь мир, и потом вернуть все в первоначальное состояние.
Если вы задумываетесь о проведении события мирового масштаба, советую обратить внимание на те посты, что я указал выше, а также освоить программу AWS Infrastructure Event Management. Мои коллеги всегда готовы помочь вам с запуском крупномасштабного программного продукта, миграции инфраструктуры или маркетингового мероприятия. Вот так выглядит порядок работы с ними:
Уже по традиции я бы хотел рассказать вам о некоторых преимуществах AWS, которые помогли нам запустить такое масштабное мероприятие и справиться с высокой нагрузкой. Из статей How AWS Powered Amazon’s Biggest Day Ever и Prime Day 2017 – Powered by AWS вы можете узнать, как мы обрабатывали результаты прошлых распродаж Prime Day и что мы предприняли для оптимизации своих систем и процессов.
В этот раз я хотел бы остановиться на трех особенностях AWS, которые помогли нам справиться с рекордными показателями трафика и продаж во время Prime Day: инфраструктуре обработки видео, инфраструктуре базы данных и инфраструктуре вычислений. Познакомимся с каждым из них поближе.
Инфраструктура Amazon Prime Video
10 июля пользователи Amazon Prime могли посмотреть концерт Prime Day Concert, предоставленный Amazon Music. Это мероприятие транслировалось в прямом эфире, а в списке звезд значились такие артисты, как Дуа Липа, SZA, Бекки Джи и хедлайнер в лице обладательницы 10 статуэток Грэмми Тейлор Свифт.
Проведение прямой трансляции такого масштаба и сложности на аудиторию из более чем 200 стран требует тщательного планирования и мощной инфраструктуры. Для кодирования и упаковки видеопотока наши коллеги из Amazon Prime Video использовали различные медиа-сервисы AWS, в том числе и AWS Elemental MediaPackage, а также кодировщики AWS Elemental Live.
Для трансляции были задействованы два региона с резервной парой конвейеров обработки данных в каждом из них. Конвейеры передавали видео 1080p 30fps различным сетям доставки контента (включая Amazon CloudFront) и делали это максимально эффективно.
Инфраструктура баз данных AWS
Для обеспечения высокой доступности и стабильной работы системы в период крайне высокой нагрузки во время распродажи Prime Day были использованы как реляционные базы данных, так и NoSQL.
Amazon DynamoDB поддерживает несколько сайтов и систем с высоким трафиком, в число которых входят Alexa, сайт Amazon.com и все 442 fulfillment-центра Amazon. В течение 48 часов распродажи эти ресурсы сделали 7,11 триллиона запросов к DynamoDB API, установив максимальное значение в 45,4 млн запросов в секунду.
Amazon Aurora тоже используется для работы fulfillment-центров Amazon. За время Prime Day 1900 экземпляров базы данных обработали 128 миллиардов транзакций, сохранили 609 терабайт и передали 306 терабайт данных.
Инфраструктура вычислений Amazon
В организации работы Prime Day 2019 также была задействована большая коллекция разнообразных инстансов EC2. Внутренняя метрика для этих экземпляров называется эквивалентом сервера (server equivalent), и во время распродажи цифры варьировались от 372 тысяч эквивалентов до максимального значения в 426 тысяч. Экземпляры EC2 использовали большие объемы блочного хранилища Elastic Block Store (EBS). Накануне Prime Day в хранилище было добавлено 63 петабайт памяти, и в результате в день обрабатывалось по 2,1 триллиона запросов и было передано 185 петабайт данных.
Подведем итоги
Я привел вам впечатляющие цифры, которые показывают, какого уровня масштабирования вы можете достичь с использованием AWS. Как видите, с AWS вы можете без труда добавить своей системе ресурсов для проведения одноразовых (или периодических) событий, даже если эти события будут транслироваться на весь мир, и потом вернуть все в первоначальное состояние.
Если вы задумываетесь о проведении события мирового масштаба, советую обратить внимание на те посты, что я указал выше, а также освоить программу AWS Infrastructure Event Management. Мои коллеги всегда готовы помочь вам с запуском крупномасштабного программного продукта, миграции инфраструктуры или маркетингового мероприятия. Вот так выглядит порядок работы с ними: