Ричард Бакминстер Фуллер всю жизнь пытался убрать лишнее.
Ричард Бакминстер Фуллер всю жизнь пытался убрать лишнее.
Выяснилось, что лишнее обычно считает себя самым важным.
Случайная плесень стала началом большой защиты.
Ричард Бакминстер Фуллер всю жизнь пытался убрать лишнее.
Выяснилось, что лишнее обычно считает себя самым важным.
Игра про жёлтый кружок.
Он просто ест кружочки.
Так нельзя.
Прошли десятилетия.
Многие правильные решения забыли.
Жёлтый кружок остался.
Так можно.
Меняются города.
Меняются технологии.
Планы остаются амбициозными.
"Наступить" вечер.
Сегодня "начать".
Пятница.
Рассчитать путь.
Подпрыгнуть.
Поймать паттерн.
Взять молоток.
Найти удачу.
Поймать тайминг.
Взять уровень.
Потерять один кадр.
Найти путь.
Рассчитать путь.
Переполнение.
Начать снова.
Системы редко ломаются резко.
Чаще они уже изменяются.
Это становится видно позже.
Observability
Снаружи всё выглядит нормально.
Сервисы отвечают.
Метрики зелёные.
Изменения проходят.
Внутри система уже смещена.
Мониторинг фиксирует состояние.
Поведение системы проявляется в другой динамике.
Очереди, зависимости, кеширование, сети —
формируют другой слой реальности.
Этот слой расходится с метриками.
Один сервис считает, что всё в норме.
Другой — компенсирует отклонения.
Третий — фиксирует наступление новой нормы.
Одновременно.
Без синхронизации.
Это и есть границы системы.
OLA
Инциденты проявляются как последствия решений.
Что-то отключили.
Что-то упростили.
Что-то оставили временно.
Потом это временное закрепляется.
Без возврата к исходному состоянию.
Есть слой, который обычно остаётся скрытым.
Рутина.
Перезапуски.
Ручные действия.
Компенсации того, что не автоматизировано.
Это нормальный режим эксплуатации изменённой системы.
Система дрейфует в новое состояние.
Через границы.
Через последствия изменений.
Становится видно:
Система стабильна потому, что живёт в постоянных изменениях
Проект начинается с цели.
Цель приходит сверху.
Она кажется понятной наверху.
Вниз она уходит уже другой.
Каждый уровень получает свою версию одной и той же цели.
Каждый уровень считает, что это и есть исходная цель.
Команда работает с тем, что ей кажется задачей.
Формально совпадение сохраняется.
Фактическое совпадение частичное.
Распределение задач выглядит естественным.
Каждый уровень закрывает свою часть.
Одинаковые слова получают разные значения.
Разрыв скрыт.
Он присутствует.
Цель смещается при передаче вниз.
Происходящее считается нормой.
Команда продолжает работу.
Система выглядит стабильной.
Первая корректировка приближается.
За свою практику я видел:
Берутся задачи.
Говорят:
— так делают иначе.
Спрашиваешь почему.
— так принято.
Ответа нет.
Есть привычка.
Есть устоявшийся способ.
Ему доверяют.
Берётся задача.
Сразу включается:
— нельзя.
Без разбора.
Без попытки.
Нет стандартного пути.
Нет привычного инструмента.
Значит — закрыто.
Потом кто-то берёт другой принцип.
Из другой системы.
Переносит.
Система начинает работать.
Сначала это выглядит как исключение.
Потом как временное решение.
Потом как норма.
То, что считалось невозможным, оказывается отсутствием привычного способа сборки.
Повторяемость превращает это в стандарт.
Инженерия — узнавание одинакового в разных формах.
Надеть белую футболку.
Бикини впервые показали публике в Париже.
Труды Фуллера уже получили признание.
Главный вопрос появился гораздо раньше.
Города становятся больше.
Технологии становятся сложнее.
Планы становятся амбициознее.
Наступает вечер.
Немного времени.
Немного тишины.
Сегодня достаточно.
Пятница.
Была задача.
Перевезти пользователей из одного AD-домена в другой.
С сохранением учётных записей, SID, привязок и всего того, что вспоминают только после поломки.
Склад.
Производство.
Офис.
Несколько сотен пользователей.
Планировали делать месяц.
Поэтапно.
Осторожно.
Подготовил схемы.
План миграции.
Последовательность действий.
Проверки.
Надо было учесть работу склада, производства и ещё десятка систем вокруг.
Вроде всё готово.
Вечер.
Сижу дома.
Запускаю очередной финальный тестовый прогон.
Успешно.
Ошибок нет.
Звонок.
У меня интернет пропал.
Потом ещё один.
И ещё.
Как-то странно работает.
Лезу в консоль.
Пользователи уже переехали.
При определённом порядке действий dry-run стал мокрым.
Звоню.
Ребята, план меняется.
Пользователи уже переехали.
Работаем с такого-то пункта.
Остановка.
Маршрутка.
Пятьдесят километров до серверной.
Через два часа работают отгрузки.
Через сутки всё работало.
План на месяц реализовали за два часа.
Самое интересное выяснилось позже.
Система прекрасно жила до миграции.
Система прекрасно жила после миграции.
Проблемы проявлялись где-то посередине.
После этого не люблю футболки.
Если только белые.