Найти в Дзене

Пример перехода к идеальному процессу по У.Шухарту при создании IT-инфраструктуры

Пример процесса создания ИТ-инфраструктуры, находящегося "на грани хаоса" по У. Шухарту и Д. Уилеру, со 100% хорошей продукцией (на первый взгляд) и полной статистической неуправляемостью (отсутствием предсказуемости) Описание процесса:
Команда инженеров вручную развертывает и настраивает серверы для каждого нового ИТ-проекта. Используются разные инженеры, разные версии операционных систем, разные подходы к конфигурации, и отсутствуют четкие, документированные процедуры. Пороговое состояние (threshold state) достигается, когда устранены специальные (особые) причины вариабельности, и процесс демонстрирует стабильность в предсказуемых границах, даже если эти границы широки. Идеальное состояние (ideal state) достигается, когда процесс не только статистически управляем, но и его вариабельность минимальна и центрирована относительно требований заказчика, а единственными источниками изменчивости являются общие причины (естественный, минимальный разброс, присущий системе).
Оглавление

Пример процесса создания ИТ-инфраструктуры, находящегося "на грани хаоса" по У. Шухарту и Д. Уилеру, со 100% хорошей продукцией (на первый взгляд) и полной статистической неуправляемостью (отсутствием предсказуемости)

Процесс "на грани хаоса": "Ручное развертывание серверов для новых проектов"

Описание процесса:
Команда инженеров вручную развертывает и настраивает серверы для каждого нового ИТ-проекта. Используются разные инженеры, разные версии операционных систем, разные подходы к конфигурации, и отсутствуют четкие, документированные процедуры.

  • 100% хорошая продукция (иллюзия): Каждый развернутый сервер работает, проходит первичное тестирование и выполняет свою функцию в продакшене. Заказчик доволен, "продукт" (работающий сервер) получен.
  • Полная статистическая неуправляемость:Непредсказуемость: Время развертывания может варьироваться от 2 часов до 2 дней в зависимости от инженера, его настроения, текущих проблем и фазы луны.
    Отсутствие стандартов: Конфигурации серверов отличаются, что приводит к "сюрпризам" при масштабировании или устранении неисправностей (проблема "работает у меня").
    Скрытые риски: Высокий уровень человеческих ошибок и "специальных причин" вариабельности (термин Шухарта), которые не выявляются до возникновения серьезного сбоя в будущем.
    Нет контрольных карт: Невозможно построить контрольные карты Шухарта, так как данные (например, время развертывания, количество ошибок на этапе настройки) не собираются, а сам процесс не имеет стабильных границ изменчивости.

Последовательность действий, переводящих процесс в следующие состояния

1. Перевод процесса в пороговое (статистически управляемое) состояние:

Пороговое состояние (threshold state) достигается, когда устранены специальные (особые) причины вариабельности, и процесс демонстрирует стабильность в предсказуемых границах, даже если эти границы широки.

  • Стандартизация и документирование:Разработка и внедрение единого, обязательного чек-листа (контрольного списка) для развертывания сервера.
    Документирование всех шагов, версий ПО, параметров конфигурации и политик безопасности.
    Создание
    "золотого" образа (golden image) операционной системы с базовым набором установленного ПО.
  • Обучение и контроль:Обучение всех инженеров работе по единому стандарту.
    Мониторинг выполнения процесса и сбор данных (например, времени развертывания, количества инцидентов, связанных с конфигурацией).
  • Устранение специальных причин:Анализ собранных данных для выявления и устранения основных источников нестабильности (например, "только Петя умеет настраивать DNS-сервер", "используются нелицензионные версии ПО", "разные версии скриптов").

2. Перевод процесса в идеальное состояние:

Идеальное состояние (ideal state) достигается, когда процесс не только статистически управляем, но и его вариабельность минимальна и центрирована относительно требований заказчика, а единственными источниками изменчивости являются общие причины (естественный, минимальный разброс, присущий системе).

  • Автоматизация (Infrastructure as Code - IaC):Внедрение инструментов автоматизации развертывания (например, Terraform, Ansible, Puppet или Chef). Это исключает человеческий фактор (особую причину) и делает процесс повторяемым и предсказуемым.
  • Непрерывное совершенствование (CI/CD):Интеграция процесса развертывания в конвейер непрерывной интеграции/непрерывного развертывания (CI/CD) для автоматического тестирования и доставки.
  • Статистический контроль (SPC):Использование контрольных карт Шухарта для постоянного мониторинга ключевых показателей (например, процент успешных автоматических развертываний, среднее время развертывания), чтобы убедиться, что процесс остается в управляемом состоянии и его вариабельность минимальна.
  • Постоянный аудит и актуализация:Регулярный пересмотр и обновление автоматизированных скриптов и "золотых образов" в соответствии с меняющимися требованиями и лучшими практиками.