DevOps включает в себя сразу несколько процессов, к которым относят разработку, деплой, тестирование, сопровождение. Все они требуют не только контроля, но и автоматизации. Для этого DevOps-специалисту приходится пользоваться специальными инструментами. Проведем их краткий обзор.n
№1 — Ansible
Популярность системы Ansible объясняется ее особенностями, среди которыхn
- низкий порог входа;
- простота работы;
- безопасность использования;
- управление удаленными системами через SSH;
- настройка беспарольной аутентификации;
- поддержка протоколов LDAP, Kerberos, облачных сервисов;
- работа под разными ОС (в том числе Linux и Win);
- поочередное либо синхронное выполнение задач.
Также среди особенностей Ansible – реализация использования модулей, которые позволяют упростить написание кода. Идея Infrastructure as Code раскрыта в полном объеме, что дает возможность ряд операций выполнять не DevOps-специалисту.n
№2 – Prometheus в связке с Grafana
Инструмент подходит не только для мониторинга сетей динамического типа, но и для сбора метрик. Благодаря Prometheus, в связке появляются следующие возможности:n
- легкое добавление сервисов, серверов;
- упрощенное администрирование (например, установка специальных агентов для удаленных хостов);
- сбор метрик от клиентов сторонних разработчиков.
Благодаря Grafana метрики, принятые с помощью Prometheus, выводятся из коробки. Также возможна поддержка шаблонов, таких как «Manage Dashboard → Templating». Для таких ОС, как Linux, Windows, macOS, а также Docker-контейнера предоставляется исходный код, сборки. Нет сложностей и с установкой на Ubuntu, потому что имеется к этой ОС готовый пакет, репозиторий.n
№3 — Concourse CI
Инструмент отличается простотой развертывания и доступностью понимания. Среди его преимуществ:n
- интеграция с AWS S3;
- отправление уведомлений через электронную почту, HipChat.
Работа Concourse CI основывается на 3 понятиях:n
- n
- задачи – tasks (команды, используемые для сборки контейнера);
- ресурсы – resources (объекты для автоматического запуска);
- задания – jobs (описание действий, запускаемых либо вручную, либо при изменении отслеживаемых ресурсов).
nС помощью конвейера pipelines ресурсы связываются с заданиями, что позволяет выполнять необходимые действия. Их всегда можно отследить, так как в PostgreSQL сохраняется не только журналы работы, но и информация о pipelines.n
№4 — Selenium
Этот инструмент работает на использовании библиотеки управления браузерами, которая в свою очередь состоит из нескольких клиентских разноязыковых библиотек, драйверов, рассчитанных для этих браузеров. Как расширение для FF в этот проект входит Selenium IDE, позволяющий сценарии тестирования различных приложений, которые доступны в браузере:n
- записывать;
- сохранять в табличном виде с последующим редактированием в формате HTML;
- экспортировать в форматы, удобные для других фреймворков;
- воспроизводить.
Стоит обратить внимание на Selenium Server, предназначенный для выполнения полученных из сценария команд в браузере. Он пригодится для сокращения времени тестирования – из нескольких таких серверов можно образовать распределенную сеть, запускать параллельно различные тесты на разных удаленных машинах.n
№5 — Supervisor
Инструмент представляет собой менеджер процессов, который может их запускать, отслеживать и автоматически перезапускать (в случае необходимости). Предусмотрены также конфигурации настроек и для других ситуаций, например, для отключения какого-либо сервиса.n
Внедрение инструментов CI, CD, обращайтесь [email protected]