Инфраструктура и Цифровые двойники

Michael Sokolov
4 min readJun 5, 2022

Обычно при оценке корпоративных команд не учитывается зрелость собственной Инфраструктуры. Только практики и зрелость команд.

Например:

Оценка команд исходит из того что инфраструктура все может, и командам осталось или использовать или нет подходы infrastructure as code (IaC), логирование / мониторинг, high availability (HA) и Autoscaling.

Не готовность Инфраструктуры к современным реалиям является стоп фактором внедрения не только DevOps подходов, но и Трансформации в целом.

Инфраструктура — как воздух, когда все хорошо, его не замечаешь, что-то не так — привыкаешь.

Исхожу из парадигм:

  • в долгосрочной перспективе самый качественный и стабильный сервис получается у собственной* инфраструктуры.
  • Здравый смысл
  • Отдавать “на сторону” можно временно для скорости или непрофильные части или для достижения необходимого географического присутствия.
  • Инфраструктура — не является софтверным продуктом, и к ней более применим Фреймворк Индустрия 4.0

Проблематика у крупных компаний:

  • Сбои частые, статистика и цифры “за 7 печатями”
  • Запрос на получение маленькой VM (8/8/64) — 2 рабочих дня, и это считается быстро.
  • Давайте все арендуем, и настанет счастье ….
  • Пиковые нагрузки системно не анализируются, а это ключевая причина неудобства пользователей
  • IaC — это “рокет саенс”, и нам это не надо. Все равно программисты расточительно относятся к ресурсам. — Мнение Поддержки.
  • Документация ведется вручную, и большой частью является не последовательной, не согласованной. Стороннему человеку трудно понять — чему можно доверять, а что устарело.
  • И т.д.

В итоге — внутренняя корпоративная инфраструктура не может считаться ни стабильной, ни эластичной.

Технические цели:

  • Эластичная инфраструктура
  • infrastructure as code (IaC),
  • high availability(HA)
  • Autoscaling

Меры

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

Меры, с которых стоит начать:

  • Цифровые двойники (Digital Twin) серверных, ЦОДов и Сетей
  • Публикация статусов ключевых элементов Инфраструктуры
  • Кросс-функциональные команды
  • Инженерная прозрачность — Публикация расследований инцидентов и ведение Журнала архитектурных решений.
  • Обучение сотрудников
  • Автоматизация рутинных операций и управление конфигурациями
  • Централизованное Логирование

Цифровые двойники (Digital Twin)

Цифровой двойник — это цифровая модель физического объекта или процесса, помогающая оптимизировать эффективность бизнеса.

За счет:

  • Эмуляции ключевых свойств и процессов
  • Учета связей с другими элементами или моделями
  • Визуализации
  • Моделирования возможных состояний
Цифровой двойник (Digital Twin)

От физического объекта в Цифровой двойник поступают данные о состоянии и режимах работы.

Человек или система автоматизации может получать общую картину происходящего и принимать решения на основе данных (Data Driven) которым может доверять.

Простейший цифровой двойник состоит из:

  • Системы документирования:
    Например NetBox от Digital Ocean
  • Системы мониторинга, могущие автоматизировано получать данные о новых объектах.
    Например, Prometheus и Icinga.

Базовый сценарий — Авто подключение мониторинга при создании/изменении объекта в двойнике.

  • Умный инцидент менеджмент, получающий данные их разных, часто распределенных источников, работающий с алгоритмами приоритезации или понимающий структуру объекта.
    Например: Grafana OnCall для всей инфраструктуры или Icinga — для сети.

Базовый сценарий — Когда отвалился сегмент сети — сообщить о неработоспособности “верхнего” маршрутизатора, а не всех маршрутизаторов в сегменте.

Публикация статусов ключевых элементов Инфраструктуры

Логически делим Инфраструктуру на небольшое количество понятных пользователю элементов. Лучше остаться в диапазоне 8–12 шт.

Собираем ключевые метрики здоровья этих элементов в реальном времени и сводим их в своего рода “светофор состояний”.

В дальнейшем, можно еще историю показывать или расширить количество/качество показателей.

Цель — разработчики и пользователи приложений могут самостоятельно оценить работоспособность слоя, от которого зависят.

Например, технически это может быть реализовано через кастомный Frontеnd + Grafana.

Кросс-Функциональные команды

Кросс-функциональные команды расположенные по направлениям прохождения потока ценностей (Value Stream), например:

  • Вычислительная инфраструктура
  • Поддержка высоко-доступных приложений (kubernetes)
  • Поддержка офисной инфраструктуры
  • и т.д.

Инженерная прозрачность

Инженерная прозрачность — набор практик, для поддержки принятия решений.

Самые основные из них:

  • Версионирование(Git) и совместное владение базой скриптов и автоматизаций
  • Публикация расследований инцидентов (Postmortem Culture)
  • Ведение Журнала архитектурных решений (Architecture Decision Record, ADR)
  • Прибор — маркировщик в каждой серверной.
  • Быстрый HelpDeck, интегрированный с удобными каналами подачи заявок, с возможностью сквозного трекинга.

Обучение сотрудников

Неплохо посмотреть в сторону:

  • Linux компетенции у админов
  • Тестирование
  • DevOps
  • Безопасность, DevSecOps
  • Архитектура высоконагруженных систем

Автоматизация рутинных операций и управление конфигурациями

  • Автоматизация на основе директивного языка, работающего с конфигурациями и классами устройств, например: Ansible + AWX
  • Сканер безопасности на простые ошибки администрирования
  • Версионирование(в git) конфигураций сетевого оборудования

Консолидация с логов и событий системных журналов

Например — Elastic Stack (ELK Stack)

Плюсы:

  • Работы можно начать проводить на имеющемся оборудовании и с использованием open source технологий.
  • Расследование инцидентов ускорится имея консолидированные логи и мониторинг
  • Планирование работ на цифровом двойнике
  • Возможность работать с классами оборудования, отборами при автоматизации.
  • Согласованность документации. Логирование изменений и прозрачность.
  • Быстрое восстановление сетевых устройств
  • Техническая основа для автоматизации всех рутинных операций — первый шаг к infrastructure as code
  • Отлов простых ошибок администрирования «на горячую»
  • Манки тест можно пройти с любым сотрудником поддержки — взаимозаменяемость сотрудников и общее информационное пространство
  • Страус работы ключевых элементов системы есть в доступе у всех сотрудников
  • Все крупные инциденты расследованы и запротоколированы и можно проверить приняты ли запланированные меры
  • Быстрый онбординг Тех Лидов , без отвлечения других технических специалистов.

--

--