DevOps — перераспределение ответственности между специалистами с помощью автоматизации процессов для оптимизации поддержки системы.
Преимущества
1
Сокращение времени ввода продукта и его обновлений в эксплуатацию (Time to Market);
2
Быстрое внесение исправлений и изменений;
3
Высокая отказоустойчивость новых релизов;
4
Значительное снижение времени и трудозатрат на восстановление или откат;
Схема работы методологии на реальном проекте
Особенности методологии
Настройки конфигураций для Ops-процессов производится на этапе разработки. Сами Ops-процессы автоматизированы и включают в себя автотестирование и мониторинг.
Методология разработки и набор практик при которых в код вносятся небольшие изменения с частыми коммитами. Цель — обеспечить последовательный и автоматизированный способ сборки, упаковки и тестирования приложений.
Непрерывная поставка (CD)
Непрерывная поставка начинается там, где заканчивается непрерывная интеграция. Это автоматизация разворота приложений в различных окружениях.
Метрики и мониторинг
Метрики — цифровые показатели, количественно описывающие различные аспекты работы системы.
К ним обычно относятся низкоуровневые измерения состояния системы: потребление памяти, нагрузка на процессор и на сеть. Платформа и специфика самой системы расширяют список разнообразными показателями, например, здесь же можно встретить количество контейнеров на сервере и задержки репликации базы данных. Числовые показатели выводят в виде графиков и диаграмм. Это позволяет увидеть изменение состояния системы во времени.
Сбором метрик занимается система мониторинга. В нашем случае это т.н. prometheus stack — набор программ, которые занимаются сбором, хранением и отображением вышеупомянутых характеристик системы.
Логирование
Логи — упорядоченный во времени набор событий, произошедших в системе. Это текстовые информационные сообщения, которые позволяют понять как работала система в тот или ной момент. Помимо самого сообщения, запись в логе содержит время события и набор меток, которые позволяют категоризовать сообщения.
Сбором логов занимается система ELK — набор программ для хранения и отображения логов.
Достоинства инфраструктуры на базе kubernetes
Быстрое масштабирование;
Высокая отказоустойчивость;
Решение объемных задач увеличением копий приложения;
Всё необходимое для работы приложения лежит в репозиториях;
Приложение можно развернуть локально;
Управление релизами и возможность быстрого отката, если что-то пошло не так.