SRE. Рецепты выживания в продакшене для инженера по надежности. Наталья Савенкова
в конфигурационный файл, сохраните его версию рядышком. Например, используйте суффикс с датой и временем, типа mymagicconfig.20240512-1813. Это полезно не только для восстановления на прежнюю версию, но и для ретроспективы изменений.
43. Храните всё в VCS
VSC – Version Control System, система контроля версий.
Я начинала программировать ещё тогда, когда системы контроля версий были насколько плохими, что нужна была сила воли, чтобы ими пользоваться.
А сейчас я даже не могу предположить, что может остановить человека от их использования.
Скрипты всякие, настройки чего-то, конфиги и тп. Всё, что можно представить в виде файла, и что представляет собой хоть какую-то ценность, коммитьте в систему контроля версий. Во-первых, можно будет изучать историю; во-вторых, сложнее потерять; в-третьих, можно будет что-то автоматизировать.
Это настолько очевидный совет, что он даже не тянет на материал для этой книги. Но почему же до сих пор не все это делают и продолжают страдать?!
И, конечно же, конфиги с вашего продакшена тоже храните в системе контроля версий. Даже если у вас нет вообще ничего, код вы пишете прямо на сервере, и конфиги правите сразу там же, всё равно начните использовать vsc, чтобы сохранить свой труд.
44. Готовьте заранее план отхода
Если вам нужно сделать в продакшене что-то нетипичное и нерегламентированное, то потратьте немного больше времени на подготовку к этому событию и продумайте план возвращения всего изменённого в состояние “как было”.
На фразу “я всего лишь одну строчку поменяю” я всегда отвечаю: “объём изменений никак не связан с масштабом разрушений”. А уж сколько было историй про неверные изменения конфигов, которые неоткуда вернуть обратно… Или истории про изменения настроек сети, которые инженер производит через удалённое подключение с вполне понятными последствиями в виде полного отсутствия доступа к серверам.
Перед тем, как начать вносить изменения, задайте себе вопрос “А что будет, если…?” и напишите варианты, что может пойти не так и как к этому подготовиться. Вероятно, вам кажется, что это только добавит работы. Отчасти это так, но со временем такая подготовка войдёт в привычку и не будет требовать особых усилий.
45. Если что-то кажется странноватым – вам не кажется
Так называемые “подземные стуки” – вещь очень неприятная. Вроде оно пока не рвануло и катастрофы нет, но не откладывайте разбор подземного стука до момента, когда он ворвётся в вашу дверь. Не откладывайте на завтра то, что могло сломаться уже вчера.
Никто не хочет создавать себе лишнюю работу, это вполне понятно. Давайте назовём этот подход “превентивная надёжность”, что очень точно отражает желание не допускать катастрофы, а приложить подорожник немного заранее.
При возникновении такого рода “подземных стуков” я обычно говорю: “Коллеги, я хочу использовать сегодня день на то, чтобы изучить эту странную штуку”.
Один день это очень небольшая инвестиция в надёжность системы. Если