Как улучшить производительность сайта в 8 раз: подробности интеграции сервисов AWS в ROI4CIO

Аутсорсинговая компания по разработке ПО AgiliWay (https://agiliway.com/) совместно с компанией-дистрибьютором Softprom by ERC (https://softprom.com/) поставили и внедрили сервисы AWS в ROI4CIO и повысили производительность сайта в 8 раз.
Даты проекта:
28.09.2017 – 18.10.2017: подбор оптимальной конфигурации сервера, подбор оптимальных сервисов на AWS и полный переход на AWS, включая доменное имя.

Проблема:
Сервис, использовавшийся на сайте до внедрения AWS, не выдерживал работу с "тяжелым" функционалом, в частности, необходимость обработки большого количества информации. В результате при определенном количестве пользователей показатели CPU и RAM сервера поднимались до 100% и в работе сайта происходил сбой.

Результат:
Благодаря использованию сервера и сервисов AWS, количество одновременно присутствующих на сайте пользователей выросло в несколько раз, а нагрузка на сайт и базу данных уменьшилась в 2 раза. Производительность сайта удалось увеличить в 8 раз, при этом стоимость владения им выросла всего в 2 раза.

ROI - 800%  
Проблема:
"Команда столкнулась с проблемой недостатка производительности сайта. Во время тестирования при одновременном подключении определенного количества пользователей задержка отклика была больше 10 секунд. При увеличении нагрузки база не выдерживала, сервис "отказывался" работать." - Олег Пицык, Архитектор ИТ-систем ROI4CIO, Agiliway.

Решение:
До принятия решения о внедрении сервисов AWS для проекта ROI4CIO, было проведено тестирование возможного размещения на другом облачном ресурсе. Сравнительные результаты тестирования показали однозначное преимущество сервисов AWS.

В результате взаимодействия Softprom by ERC совместно с Agiliway разработали оптимальное решение для улучшения производительности сайта. Представители Agiliway, как разработчика и архитектора систем ROI4CIO, занимались настройкой сервера приложений и базы. Softprom by ERC выступал как поставщик платформ AWS и в роли консультанта по функциональному использованию сервисов AWS. Кроме того, сотрудники Softprom by ERC занимались настройкой мониторинга, уведомлений и автоматизации Lambda.
Домен сайта разместили в Amazon Route 53. Это высокодоступный и масштабируемый облачный веб-сервис системы доменных имен (DNS).
Для обеспечения комплексной защиты от всех известных инфраструктурных атак (уровень 3 и 4) использовали систему анти DDoS AWS Shield.
Для оптимизации нагрузок, требующих больших вычислительных мощностей, использовали виртуальный сервер EC2 типа C4, а также настроили auto scaling ресурсов и балансировку входящей нагрузки на сервер. В моменты пиковой загруженности сайта вычислительные ресурсы автоматически масштабируются, что позволяет выдержать практически любую нагрузку.

С целью повышения надежности и отказоустойчивости, а также уменьшения затрат на администрирование, для размещения базы данных был выбран сервис баз данных Amazon Relational Database Service, выполняющий функции выделения аппаратного обеспечения, настройки базы данных, установки исправлений и резервного копирования.
Для повышения скорости работы сайта был также использован ElastiCashe - веб-сервис, упрощающий развертывание и масштабирование в облаке хранилища или кэша памяти, а также управление ими.

С помощью сервиса AWS CloudWatch был настроен расширенный мониторинг приложения и базы данных. Создавая различные правила, администратор сразу же получает sms-уведомление на мобильный и на e-mail в случае возникновения любой непредвиденной ситуации. Для реализации функции отправки сообщений в CloudWatch был интегрирoван сервис уведомлений AWS SNS (simple notification service). Помимо отправки сообщений, при определенных обстоятельствах срабатывают триггеры, которые активируют функции автоматизации, реализованные с помощью сервиса бессерверных вычислений AWS Lambda.  

Бекапы базы данных и сервера приложений автоматически создаются по расписанию и сохраняются в облачном хранилище AWS S3.

"В основном все усилия были направлены на повышение производительности. Но также немало внимания уделили отказоустойчивости и резервному копированию.  По цифрам, наверное, можно выделить еще пропускную способность дискового хранилища базы (IOPS). Использовали диск с повышенной пропускной способностью Provisioned IOPS. На каждый инстанс БД может быть выделено до 40 000 IOPS." - Влад Гавриленко, ИТ директор Softprom by ERC.
"Перенесли сервер очень быстро, буквально за 2 дня. Потом занимались настройкой сервисов. Это заняло около недели" -  Влад Гавриленко, ИТ директор Softprom by ERC.

Результат:
Благодаря внедрению сервисов AWS, команда обеспечила восьмикратное увеличение производительности ресурса и одновременную автоматизацию трудоемких задач администрирования. При этом стоимость владения выросла всего вдвое. После исправления кода запросов и внедрения всех сервисов сайт сохраняет непрерывную и стабильную работоспособность даже при высоком уровне нагрузок.

Комментариев нет