Аутсорсинговая компания по разработке ПО AgiliWay совместно с компанией-дистрибьютором Softprom by ERC поставили и внедрили сервисы 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, команда обеспечила восьмикратное увеличение производительности ресурса и одновременную автоматизацию трудоемких задач администрирования. При этом стоимость владения выросла всего вдвое. После исправления кода запросов и внедрения всех сервисов сайт сохраняет непрерывную и стабильную работоспособность даже при высоком уровне нагрузок.

Комментарии (14)


  1. vlsergey
    26.01.2018 16:52
    +1

    Каким образом изменение хостинга привело к увеличению количества одновременных пользователей на сайте?

    У меня только одна версия: прошлый хостинг был настолько плох, что его Гугл понизил в выдаче.


    1. SirEdvin
      26.01.2018 17:04

      Время ответа увеличилось -> Гугл поднял в выдаче.


      1. CGS
        26.01.2018 17:21

        Всё же скорее уменьшилось.


        1. SirEdvin
          26.01.2018 17:28

          Да, я написал криво, простите :(


  1. turbotankist
    26.01.2018 19:01

    Блин, вот AWS по стоимости хостинга нифига не дешёвый, сервисы тоже у них настроены не на производительность, а на стабильность.
    Это судя по всему раньше был просто ужасный дорого хостинг.
    Или ключевое «Потом занимались настройкой сервисов. Это заняло около недели»
    Если бы настроили нормально сервисы на старой платфформе — думаю, что производительность тоже выросла бы


  1. YaRobot
    26.01.2018 20:09
    +1

    Больше тегов.
    AWS не панацея, особенно в России. К примеру ресурс unsplash использует AWS.
    С недавнего времени третий сегмент AWS стал недоступен у большинства провайдеров. Т.к. на одном из ресурсов, AWS содержал запрещенный в РФ материал. Соответсвено под раздачу попало множество ресурсов, которые использовали данный AWS.


  1. therhino
    26.01.2018 20:49
    +3

    Что это за мусор я только-что пролистал?


  1. olku
    26.01.2018 22:58

    Интересно ROI люди считают. Делят флопсы на деньги, впаяв бизнесу двойные прямые расходы и замену хостера. Современные economics, success story и cloud :)


  1. Serjonka
    27.01.2018 00:21

    Имел бы право — заминусовал бы статью… Кроме сухого текста, в которой ни грама инфографики, больше ничего нет…
    Такое ощущение, что статья не для жителей хабра, а для заказчика из мухосранска…


  1. VolCh
    27.01.2018 13:02

    В плане производительности основное техническое решение было, как я понял, дать больше ресурсов? У старого хостера уперлись в потолок вертикального масштабирования, который у него был ниже? Или основным стало создание кеша для тяжёлых запросов? Или сделали горизонтальное масштабирование?


  1. shybovycha
    27.01.2018 15:19

    Тем не более, несмотря на крайне паршивый контент и кучу негативных отзывов — 1.7 к просмотров.


    1. olku
      27.01.2018 16:20

      Именно поэтому этот кАнтент тут и оказался. Диалектика.


    1. ToshiruWang
      30.01.2018 01:49

      Большинство зашло посмотреть «что за ужас был раньше, если удалось так поднять скорость».


  1. dzsysop
    28.01.2018 13:06

    Не хабровский какой-то пост получился. Никакой конкретики.
    Какие сервисы крутятся на серверах (почта, базы данных, Java, PHP, nodeJS, это вообще Web или кокой-то REST)?
    Сколько и каких серверов использовалось до и после?
    В каких попугаях мерили нагрузку до и после? CPU — весьма неоднозначный показатель особенно если было 100%?
    Почему если бюджет вырос вдвое нельзя было добавить пару серверов в изначальную конфигурацию?
    Какая она была изначально? Другой не облачный хостер? Или серверная комната? Канал в сеть какой был?
    Почти ни один технический аспект не освещен, не удивительно, что народ минусует.
    Даже если поменять заголовок на: «Как мы переехали на AWS» и то ничего не понятно. Что уж говорить про «улучшить производительность сайта в 8 раз»