Как договор SLA обеспечивает бесперебойную работу приложения
Рассказываем, какие инструменты используем для отлавливания крашей и багов

В Heads and Hands после разработки приложения или веб-сервиса мы предлагаем клиентам договор SLA. Он включает работы по обеспечению бесперебойной работы цифрового продукта. Рассказываем, кому необходим подобный договор, от каких проблем он страхует и как работает на примере проекта с 5 миллионами ежемесячных пользователей.

Кому нужен договор SLA

Для сервисов доставки, крупных ритейлеров и маркетплейсов критичен мониторинг работоспособности. Если приложение или сайт перестанет работать на несколько часов, то это приведет к ощутимой потере денег.

Предположим, средний чек вашего интернет-магазина 500 рублей. Пятьсот пользователей за последний час хотели оформить заказ, но случился сбой и экран оплаты не работал целый час. В моменте вы потеряли четверть миллиона рублей и получили сотни гневных комментариев в сторах, а вместе с тем и падение рейтинга.

Мы рекомендуем настраивать системы мониторинга работоспособности для всех сервисов с ежемесячной аудиторией более 5 тысяч пользователей.

От каких проблем страхует договор SLA

Приложение доставки в пиковые часы может перестать работать из-за нагрузки на сервер.

Еcommerce-приложение может не выдержать наплыва клиентов во время распродажи, тоже из-за перегрузки сервера.

Отдельная часть функциональности может стать недоступна из-за того, что произошел сбой в SDK (стороннем наборе средств разработки) или из-за того, что истек какой-либо сертификат.

SLA-менеджер вовремя отследит подобные поломки и передаст их для починки разработчикам.

Как организуем работу по договору SLA

Определяем критичные сценарии в продукте. Вместе с клиентом определяем, какие ситуации для тестирования предусмотреть и какие системы мониторинга установить.

Например, если службе доставки важно, чтобы система оплаты работала бесперебойно — настраиваем автотесты, которые проверяют экран оплаты.

Выбираем системы мониторинга. На основе критичных сценариев в сервисе определяем, какие системы мониторинга настроить. Вот возможные варианты:

  • Автотесты для круглосуточного мониторинга нагрузки сервера.
  • Системы логирования на серверы, чтобы обнаружить источник проблемы и принять меры.
  • Сбор и анализ отзывов, чтобы находить даже самые редкие ошибки и идеи для развития продукта.
  • Крашлитика, которая сообщает об аварийной приостановке приложения.
  • Уведомления — приходят как в мессенджеры, так и звонком по телефону, чтобы просигнализировать о поломке.

Настраиваем системы мониторинга. Настраиваем и интегрируем выбранные системы мониторинга со сторонними сервисами. Чтобы получать информацию об ошибках быстро и в читаемом формате, настраиваем визуализацию.

Назначаем менеджера. На каждый проект назначаем SLA-менеджера, который следит за работоспособностью сервиса. В случае поломки он связывается с разработчиками, которые могут разобраться, в чем дело и устранить проблему. Отслеживает отзывы пользователей в сторах и из приложения. Еженедельно и ежемесячно отчитывается клиенту о сбоях и поступающих от пользователей обращениях.

Как обеспечиваем бесперебойную работу на примере приложения популярного ритейлера

На примере приложения крупного ритейлера с более чем 5 миллионами ежемесячных пользователей покажем, как отслеживаем ошибки и исправляем их по договору SLA.

Настроили автотесты на мобильное API

Тесты работают так: каждые полчаса автоматически совершаются порядка 50 запросов по ключевым этапам пользовательского пути. Если в приложении отвалится оплата, график в системе мониторинга изменит цвет на желтый — это значит, что возникла проблема.

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

Поставили систему логирования бэкенда

Система показывает логи ошибок — сообщения о сбоях, с которыми удобно работать разработчикам.

SLA-менеджер видит ошибку, копирует ее лог, отправляет разработчикам. Разработчики понимают, что это за ошибка.

В зависимости от того, где появилась ошибка, устраняем ее сами или пишем ответственным лицам от клиента, разработчикам SDK.

Собираем отзывы из приложения и сторов

Бывает, что приложение опубликовали, а у пользователей возникли трудности. Они напишут отзыв через форму в приложении или сразу в App Store или Google Play.

Каждый час мы собираем отзывы в едином окне, где их удобно сортировать по дате и читать. После релиза собираем и просматриваем отзывы чаще, каждые полчаса.

Сбор отзывов нужен не только для отслеживания ошибок, но и для планирования функциональности в последующих релизах. Мы собираем и сортируем отзывы пользователей по упоминаниям тех функций, которых им больше всего не хватает в продукте. Затем составляем список необходимых функций, предлагаем их внедрение и планируем разработку.

Настроили уведомления, чтобы не пропустить ошибку

SLA-Менеджер настраивает уведомления, чтобы в случае ошибки получить их в любой день недели и в любое время электронным письмом, сообщением в мессенджеры и на телефон, звонком от робота.

Кратко: что делаем по договору SLA

  • Контролируем мониторинг работоспособности системы на нашей стороне и на клиентском бэкенде.
  • Отслеживаем уведомления о критичных ошибках.
  • Устраняем сбои или передаем информацию об ошибках, если они на стороне заказчика или сторонних сервисов, которые подключены к приложению.
  • Контролируем жалобы пользователей на работу приложения.
  • Еженедельно отчитываемся клиенту о поступающих обращениях и сбоях.