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