Дополнительная информация

Источник: Web-сайт производителя

Описание

Expedia повышает отказоустойчивость, делая ставку олл-ин на AWS
Expedia активно использует AWS и планирует в ближайшие два-три года перенести 80 процентов критически важных приложений из локальных центров обработки данных в облако. Благодаря AWS Expedia стала более устойчивой. Разработчики Expedia смогли внедрять инновации быстрее, экономя для компании миллионы долларов. Expedia предоставляет услуги бронирования путешествий на своем ведущем сайте Expedia.com и около 200 других сайтах бронирования путешествий по всему миру.
Об Expedia Expedia, Inc. - ведущая туристическая онлайн-компания, предоставляющая туристические и деловые поездки клиентам по всему миру. Обширный портфель брендов Expedia включает Expedia.com, одно из крупнейших в мире онлайн-агентств полного цикла, с сайтами, локализованными для более чем 20 стран; Hotels.com - специалист по отелям с сайтами в более чем 60 странах; Hotwire.com - специалист по отелям с сайтами в более чем 60 странах и другими туристическими брендами. Компания обеспечивает потребительскую ценность для отдыха и деловых поездок, повышает спрос и направляет заказы туристическим поставщикам, а также дает рекламодателям возможность привлечь очень ценную аудиторию потребителей путешествий на рынке с помощью Expedia Media Solutions. Expedia также предоставляет услуги бронирования для некоторых ведущих мировых авиакомпаний и отелей, ведущих потребительских брендов, веб-сайтов с высоким трафиком и тысяч активных партнеров через партнерскую сеть Expedia. Проблема Expedia стремится к постоянным инновациям, технологиям и улучшениям платформы, чтобы создать отличный опыт для своих клиентов. Организация Expedia Worldwide Engineering (EWE) поддерживает все веб-сайты под брендом Expedia. Expedia начала использовать Amazon Web Services (AWS) в 2010 году, чтобы запустить Expedia Suggest Service (ESS), службу подсказок, которая помогает клиентам правильно вводить информацию о путешествиях, поиске и местоположении. Согласно метрикам компании, страница с ошибкой является основной причиной отказа от сайта. Expedia хотела, чтобы глобальные пользователи находили то, что искали, быстро и без ошибок. В то время Expedia использовала все свои сервисы в дата-центрах в Чандлере, Аризона. Инженерная команда поняла, что им нужно запускать ESS в местах, физически близких к клиентам, чтобы обеспечить быстрое обслуживание с минимальной задержкой в ​​сети.
Почему Amazon Web Services Expedia рассматривала локальные решения для виртуализации, а также других облачных провайдеров, но в конечном итоге выбрала Amazon Web Services (AWS), потому что это было единственное решение с глобальной инфраструктурой для поддержки клиентов из Азиатско-Тихоокеанского региона.

«С архитектурной точки зрения инфраструктура, автоматизация и близость к клиенту были ключевыми факторами, - объясняет Мурари Гопалан, технический директор. «У нас не было способа решить проблему без AWS».

Запуск ESS на AWS

«Используя AWS, мы смогли построить и предоставить сервис ESS в течение трех месяцев», - говорит Магеш Чандрамули, главный архитектор.

ESS использует алгоритмы, основанные на местоположении клиента и агрегированных данных о покупках и бронировании прошлых клиентов, для отображения предложений, когда клиент начинает печатать. Например, если клиент в Сиэтле вошел в море при бронировании рейса, сервис отобразит Сиэтл, SeaTac и другие соответствующие пункты назначения. Expedia запустила инстансы ESS первоначально в Азиатско-Тихоокеанском регионе (Сингапур), а затем быстро скопировала сервис в Западном (Северная Калифорния) и ЕС (Ирландия) регионах. Инженеры Expedia первоначально использовали Apache Lucene и другие инструменты с открытым исходным кодом для создания сервиса, но в конечном итоге разработали мощные инструменты для хранения индексов и запросов. Развернув ESS на AWS, Expedia смогла улучшить обслуживание клиентов в Азиатско-Тихоокеанском регионе, а также в Европе.

«Задержка была нашей самой большой проблемой», - говорит Чандрамули.

«Используя AWS, мы снизили среднюю задержку в сети с 700 миллисекунд до менее 50 миллисекунд». На рисунке 1 показана служба подсказок типа ESS, работающая на AWS.


Запуск критических приложений на AWS К 2011 году Expedia запустила в AWS несколько критически важных приложений большого объема, таких как Global Deals Engine (GDE). GDE заключает сделки со своими онлайн-партнерами и позволяет им создавать собственные веб-сайты и приложения, используя API-интерфейсы Expedia и инструменты инвентаризации продуктов. Expedia предоставляет кластеры Hadoop, использующие Amazon Elastic Map Reduce (Amazon EMR), для анализа и обработки потоков данных, поступающих из глобальной сети веб-сайтов Expedia, в первую очередь данных о потоках кликов, взаимодействии с пользователем и предоставлении, которые хранятся в Amazon Simple Storage Service (Amazon S3). , Expedia обрабатывает приблизительно 240 запросов в секунду. «Преимущество AWS заключается в том, что мы можем использовать автоматическое масштабирование для соответствия нагрузке, а не поддерживать емкость для пиковой нагрузки в традиционных центрах обработки данных», - комментирует Гопалан. Expedia использует AWS CloudFormation с Chef для развертывания всего своего стека передней и внутренней частей в своей среде Amazon Virtual Private Cloud (Amazon VPC). Expedia использует архитектуру многозональных зон с множественной доступностью и проприетарную службу DNS для повышения устойчивости приложений. На рисунке 2 показана архитектура службы GDE в AWS. Expedia может добавить новый кластер для управления GDE и другими приложениями большого объема, не беспокоясь об инфраструктуре.

«Если бы нам пришлось размещать одни и те же приложения в нашем локальном центре обработки данных, у нас не было бы такого же уровня эффективности процессора», - говорит Чандрамули.

«Если приложение обрабатывает 3000 запросов в секунду, нам придется настроить наши физические серверы на работу с пропускной способностью около 30 процентов, чтобы избежать перегрева блоков. На AWS мы можем увеличить потребление ресурсов процессора до 70 процентов, потому что мы всегда можем уменьшить масштаб. По сути, работа в AWS обеспечивает 230-процентную эффективность использования ЦП при обработке данных. Мы запускаем наши критически важные приложения на AWS, потому что можем эффективно масштабировать и использовать инфраструктуру ».

Использование IAM для управления безопасностью Чтобы упростить управление GDE, Expedia разработала брокера федерации удостоверений, который использует AWS Identity and Access Management (AWS IAM) и сервис AWS Security Token Service (AWS STS). Посредник федерации позволяет системным администраторам и разработчикам использовать свои существующие учетные записи Windows Active Directory (AD) для единого входа (SSO) в Консоль управления AWS. При этом Expedia устраняет необходимость создавать пользователей IAM и поддерживать несколько сред, в которых хранятся идентификационные данные пользователей. Пользователи посредника федерации входят в свои машины Windows с помощью существующих учетных данных Active Directory, переходят к посреднику федерации и прозрачно входят в консоль управления AWS. Это позволяет Expedia обеспечивать управление паролями и разрешениями в пределах существующего каталога, а также применять групповые политики и другие правила управления. Кроме того, если сотрудник покидает компанию или выполняет другую роль, Expedia просто вносит изменения в Active Directory, чтобы отозвать или изменить разрешения AWS для пользователя, а не внутри AWS. Стандартизация развертывания приложений Успех сервисов ESS и GDE вызвал интерес у других команд разработчиков Expedia, которые начали использовать AWS для региональных инициатив. К 2012 году Expedia размещала приложения в регионах Восток США (Северная Вирджиния), ЕС (Ирландия), Азиатско-Тихоокеанский регион (Сингапур), Азиатско-Тихоокеанский регион (Токио) и Запад США (Северная Калифорния). Expedia Worldwide Engineering использовала лучшие практики этих инициатив для создания стандартизированной установки развертывания во всех регионах.

Как объясняет Джун-Дэй Бейтс-Кобашигава, ведущий инженер-программист: «Мы используем Chef для автоматизации настройки серверов Amazon Elastic Compute Cloud (Amazon EC2). Мы можем взять любой образ AWS и использовать скрипты, хранящиеся в Chef, для сборки машины и раскрутить экземпляр, настроенный для команды, всего за несколько минут».

Группа объединила все учетные записи AWS под одной учетной записью AWS и предоставила одну сеть Amazon VPC в каждом регионе. Это позволяет каждому региону иметь изолированную инфраструктуру с отдельным межсетевым экраном, прикладным уровнем и уровнем базы данных. Expedia применяет настройки брандмауэра Amazon EC2 Security Group для защиты приложений и сервисов. Amazon VPC полностью интегрирован в лабораторную и производственную среду Expedia.

«Опыт Amazon VPC для разработчика абсолютно беспроблемен», - говорит Бейтс-Кобашигава. «Разработчики используют одну и ту же службу Active Directory для проверки подлинности и могут даже не знать, что некоторые из серверов, на которых они входят, работают в AWS. Это похоже на физическую инфраструктуру с собственными подсетями и несколькими уровнями, а также легко подключиться к нашей локальной инфраструктуре с помощью VPN ».

Expedia использует сине-зеленый подход к развертыванию для создания параллельных производственных сред на AWS, что обеспечивает непрерывное развертывание и ускоряет выход на рынок.

«Одним из наших показателей успеха является сокращение времени на развертывание в наших командах», - говорит Гопалан. «Мы используем этот метод для быстрого запуска приложений по сравнению с традиционным развертыванием. Более того, снижение затрат на откат до нуля означает, что мы можем не бояться развертываний». 

Преимущества

Expedia использует AWS для быстрой разработки приложений, масштабирования для обработки больших объемов данных и быстрого устранения проблем. Используя AWS для построения стандартной модели развертывания, группы разработчиков могут быстро создать инфраструктуру для новых инициатив. Критические приложения работают в нескольких зонах доступности в разных регионах, чтобы обеспечить постоянную доступность данных и аварийное восстановление. Expedia Worldwide Engineering работает над созданием инфраструктуры мониторинга во всех регионах и переходом на единую инфраструктуру.

Как правило, команды имеют больший контроль над разработкой и операциями в AWS. Когда Expedia столкнулась с проблемами конверсии для своей службы регистрации клиентов, инженеры смогли отслеживать и выявлять критические проблемы в течение двух дней. По оценкам Expedia, если бы служба работала в физической среде, потребовалось бы шесть недель, чтобы найти ошибки сценария.

Ранее Expedia должна была предоставлять серверы для сценария полной нагрузки в своих центрах обработки данных.

«Чтобы развернуть приложение с помощью нашего локального средства, вы должны подумать о физической инфраструктуре», - объясняет Бейтс-Кобашигава. «Если запущено 100 блоков, вам может понадобиться 20 блоков, чтобы применить новый код. Используя AWS, нам не нужно вынимать мощности; мы просто добавляем новую емкость и отправляем на нее трафик ».

Чандрамули комментирует: «Когда я был разработчиком, вы не хотели инвестировать в архитектуру, если бы не знали, как получится приложение. Мне пришлось планировать заранее и создать доказательство концепции для представления заинтересованным сторонам. Используя AWS, я не ограничен пропускной способностью или мощностью процессора. Когда я думаю о AWS, свобода - это первое слово, которое приходит на ум ».

Подробности

Проблемы

Устаревание ИТ-инфраструктуры

Нехватка собственных разработчиков ПО

Низкое качество обслуживания клиентов

Нехватка собственных ИТ ресурсов

Высокие затраты на выполнение рутинных задач сотрудниками

Нехватка собственных ИТ инженеров

Уход клиентов

Низкое качество поддержки клиентов

Бизнес задачи

Сокращение затрат

Повышение продуктивности персонала

Безопасность и непрерывность бизнеса

Улучшение обслуживания клиентов

Управление рисками

Схожие внедрения

prev
next