Инфраструктура и Цифровые двойники
Обычно при оценке корпоративных команд не учитывается зрелость собственной Инфраструктуры. Только практики и зрелость команд.
Например:
- SAFe Measure and Grow
- AgilityHealth Radars
- Nokia Scrum Test ( Scrum, but…)
- Squad Health Check model
Оценка команд исходит из того что инфраструктура все может, и командам осталось или использовать или нет подходы 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)
Цифровой двойник — это цифровая модель физического объекта или процесса, помогающая оптимизировать эффективность бизнеса.
За счет:
- Эмуляции ключевых свойств и процессов
- Учета связей с другими элементами или моделями
- Визуализации
- Моделирования возможных состояний
От физического объекта в Цифровой двойник поступают данные о состоянии и режимах работы.
Человек или система автоматизации может получать общую картину происходящего и принимать решения на основе данных (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
- Отлов простых ошибок администрирования «на горячую»
- Манки тест можно пройти с любым сотрудником поддержки — взаимозаменяемость сотрудников и общее информационное пространство
- Страус работы ключевых элементов системы есть в доступе у всех сотрудников
- Все крупные инциденты расследованы и запротоколированы и можно проверить приняты ли запланированные меры
- Быстрый онбординг Тех Лидов , без отвлечения других технических специалистов.