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

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


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

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

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

      Потратьте время на предотвращение катастрофы, если она уже начала стучаться в вашу дверь.

      28. Устраняйте возможность массовых операций

      Если у вас есть инструмент манипуляций с вашим продакшеном типа командной строки или набора любимых скриптов, не оставляйте в них легкодоступную возможность выполнить действие сразу на всём продакшене. Если для запуска команды в консоли вы можете опционально указать некую группу серверов, а по умолчанию операция будет выполнена везде – у вас в руке граната. Вы обязательно ошибётесь и в важный момент забудете указать конкретный хост или группу, опечатаетесь в параметре и шарахнете команду на всё. А чтобы такого не происходило – не надо иметь такую возможность вообще либо нужно делать её чуть сложнее (с дополнительным подтвержением, например).

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

      29. Правильно рассчитывайте запас мощности

      Вернёмся немного к вопросам запаса мощностей. Любые простаивающие ресурсы это, без сомнений, затраты – вы за них платите, а никакой пользы они не приносят.

      При этом какой-то запас мощности держать всё равно придётся. На что опираться при этих расчётах?

      Для начала нужно описать свои сценарии: в каких случаях и какой объем нагрузки нужно выдерживать. Затем нужно оценить сценарий и продолжительность процедуры масшабирования. Если у вас масштабирование устроено по принципу “жмём кнопку, платим сколько угодно, через минуту получаем мощности”, то у вас нет этой проблемы.

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

      Что включить в расчеты:

      – Неожиданный пользовательский трафик, который вы хотите выдерживать. Сюда же входят маркетинговые кампании.

      – Выход из строя части инфраструктуры. У любого поставщика услуг есть какие-то гарантии, ознакомьтесь с ними.

      – Сломанная часть продакшена в результате неудачного релиза. Здесь всё зависит от вашей процедуры релиза.

      – Ещё какие-то особые локальные сценарии.

      То есть, нужно понимать, как обслуживать высокий уровень трафика при частично потерянной инфраструктуре из-за провайдера и во время релиза. Вы можете сказать: “Если у нас не будет работать часть инфраструктуры или будет высокий трафик, мы не


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