Добавить в корзинуПозвонить
Найти в Дзене
infra_notes

Как я начал автоматизировать Linux-серверы (и что пошло не так)

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

В какой-то момент почти в любой инфраструктуре появляется мысль:

«Надо это автоматизировать»

До этого:

  • серверы настраиваются вручную
  • изменения делаются «по ситуации»
  • многое держится в голове

И кажется, что автоматизация решит все проблемы.

На практике всё происходит немного иначе.

С чего всё начинается

Обычно всё начинается с простой задачи:

  • настроить новый сервер
  • повторить уже сделанные действия
  • не забыть важные шаги

Кажется, что достаточно:

  • написать сценарий
  • и использовать его дальше

Это выглядит как логичный первый шаг.

Первое столкновение с реальностью

Проблемы начинаются довольно быстро.

Оказывается, что:

  • серверы немного отличаются
  • конфигурации не полностью совпадают
  • часть настроек делалась вручную
  • какие-то шаги никто не фиксировал

И сценарий, который должен был «работать везде»,

начинает работать только в одном случае.

Почему так происходит

Автоматизация требует предсказуемости.

Но если:

  • нет стандартов
  • нет базовой конфигурации
  • нет полной картины

— автоматизировать просто нечего.

Получается не автоматизация, а набор условий:

  • «если так — делаем это»
  • «если иначе — другой сценарий»

И сложность быстро растёт.

Самая распространённая ошибка

В этот момент часто делают логичный, но опасный шаг:

«Добавим ещё условий — и всё заработает»

И какое-то время это действительно работает.

Но потом:

  • сценарии становятся сложнее
  • изменения делать труднее
  • появляется зависимость от конкретной логики

И автоматизация начинает требовать больше внимания, чем экономит.

Что начинает помогать

Со временем приходит понимание:

  • сначала нужно выровнять базу
  • договориться о конфигурации
  • зафиксировать подход

И только потом автоматизировать.

После этого:

  • сценарии становятся проще
  • результат — предсказуемее
  • система — понятнее

Не про инструмент

Инструмент в этой истории оказался не самой сложной частью.

Сложнее было:

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

Сам инструмент просто стал способом это реализовать.

Автоматизация не решает проблемы инфраструктуры.

Она показывает их.

И если сначала кажется, что «что-то не работает»,

чаще всего проблема не в инструменте.

А в том, что система ещё не готова к автоматизации.