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

Чтение книги онлайн.

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

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

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

него защищаться. Если у вас какой-то рейтлимитер, который по User-Agent будет блокировать запросы – вы тоже не планируете защищаться. Это будет работать только в случаях школьных экспериментов, хотя тоже может пригодиться.

      Признайте себе, что у вас нет экспертизы, чтобы делать это хорошо, иначе этот вид атак себя давно бы уже исчерпал. DDoS лучше научиться переживать, запасая себе способы деградации, кэши, статику – что угодно, чтобы не позориться перед пользователями в час Х, а также изучить возможности провайдера или облака, аутсорс-решения, которые "по кнопке" начнут фильтровать ваш входящий трафик. Но этот вопрос нужно изучить заранее, чтобы не бегать потом перед Новым Годом в жару продаж, когда ваш чОрный конкурент решил потратить сотню баксов и вывести ваш интернет-магазинчик из строя на пару часов. Так или иначе, если потеря денег в случае отказа превышает затраты на подготовку и применение, то этим стоит заняться. Слово "заранее" было использовано здесь четыре раза.

      25. Все обновления базы пробуйте на тестовом стенде

      Это кошмар DBA – "Я запустил построение индекса и всё умерло". К чему я веду: если что-то нужно поковырять в базе, то стоит хотя бы восстановить у себя её копию и сделать это сначала на копии. А если копия будет ещё и под синтетической нагрузкой, то ситуация будет более близка к реальности. Возможно, вас ждут сюрпризы, о которых вы пожалели бы в продакшене.

      26. Катите фичу отключенной

      Выкатывая новый код с фичей в продакшен, делайте фичу по умолчанию отключенной. Если вы её выкатили включённой и что-то пошло не так, то вы вполне можете обрести ряд проблем с возращением "как было". А если у вас несколько бекендов и релиз происходит дольше, чем почти мгновенно? Пользователь жмет кнопку, получает один результат, а потом жмет ту же кнопку и получает другой результат, потому что релиз не везде выкатился. Некрасиво, но есть эффекты похуже.

      Например, вы выкатили фичу, а она работает не так, как надо. Что делать? Откатить релиз, конечно же. Внезапное исчезновение возможности откатиться, собрать релиз, утерять доступ – может случиться что угодно, приводящее к невозможному исправлению ситуации.

      Поэтому: катить выключенной. Включать через какие-то рубильники/конфиги, при включении фичи логировать, что она включилась (иначе вы рискуете не узнать, если вдруг включение не сработало). А для отключения логирования сделать ещё один выключатель. Слишком сложно? Если вы хотите уверенности в своих действиях, придётся это сделать.

      27. Исследуйте post-mortem’ы

      Если у вас в продакшене произошла какая-то таинственная история, которая "не воспроизводится", приложите достаточно усилий, чтобы разобраться в случившемся. Если вы не понимаете, что именно случилось и не можете этого повторить – это самое худшее развитие событий! Вы не контролируете происходящее и не можете знать, где и когда оно взорвёт ваш продакшен.

      Запланируйте потратить на это исследование какое-то разумное количество времени. Нет нужды копаться до истины любой ценой – ситуация может никогда не повториться. Хотя бы убедитесь, что вы приложили

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