SRE. Рецепты выживания в продакшене для инженера по надежности. Наталья Савенкова

Читать онлайн.
Название SRE. Рецепты выживания в продакшене для инженера по надежности
Автор произведения Наталья Савенкова
Жанр
Серия
Издательство
Год выпуска 2024
isbn



Скачать книгу

не "отвечаю через раз", это "отвечаю всегда, но не полной функциональностью".

      Желательно иметь несколько уровней деградации:

      – всё плоховатенько – будем отключать эти малозаметные блоки, типа “сопутствующие товары” и “такие же как вы покупают”

      – всё становится хуже – будем отключать функциональность по нарастающей важности, например “дата доставки” или “превью при наведении”

      – все совсем плохо – отдаём статику типа “вот наши лучшие товары, на сайте технические работы”

      Согласуйте со своим продакт-оунером сценарий деградации, напишите немного кода и сделайте выключатели, которые будете активировать по заранее согласованной с продакт-оунером последовательности. Он тоже хочет, чтобы сайт работал, пусть не в полную силу.

      Деньги: заранее оцените ваши возможности по быстрому масштабированию сервиса в случае необходимости. Любое железо стоит деньги. Согласуйте это количество денег с тем, кто отвечает за финансы. А-то может легко получиться так, что вы очень элегантно обработаете рекламную акцию, получите заказы, но все заработанные деньги уйдут на оплату облачных квот.

      16. Кэши и заглушки

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

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

      Состав этих кешей и заглушек необходимо согласовать с продакт-оунером.

      17. Fallback или "последний шанс"

      Теперь представим себе ситуацию, что вы уже отмасштабировали всё, что могли, выключили всю функциональность, которую в принципе можно было выключить, и это всё равно не помогает. Здесь появляется Тыква!

      Тыква – это народное название для страницы последней надежды (fallback). В беспощадной борьбе с "502: Bad Gateway" (или другими ошибками про невозможность обработать запрос) выигрывает тот, кто сдаётся последним.

      Подготовьте какую-то статическую страницу или набор страниц на тот случай, если всё пойдёт совсем плохо, и отправляйте туда пользователей, запросы которых не удалось обслужить. Состав страницы согласуйте с продакт-оунером.

      Из чего можно сделать тыкву:

      – если это сайт новостей, то периодически генерируйте статическую страницу с "Топ лучших новостей планеты всей"

      – если это интернет-магазин, пусть там будет одна страница с вашим лучшим товаром и что-то полезное на javascript

      – сделайте на странице "тетрис", в конце концов – это будет хотя бы забавно

      – укажите