Специалистам в области DevOps и SRE необходимо постоянно обновлять знания об инструментах и практиках, потому что отрасль развивается очень быстро. В этой статье вы найдёте обзор 15 полезных инструментов, с которыми стоит познакомиться. Не все из них новые, но достаточно актуальные, чтобы начать им пользоваться.

Мы рассмотрим инструменты из следующих категорий:

  • Мониторинг и observability

  • Applications Platforms

  • Чат и ChatOps

  • Инцидент менеджмент

  • Диаграммы

  • CI/CD

Мониторинг и observability

Мониторинг и observability — важнейшие компоненты любой стратегии DevOps и SRE. Они позволяют организациям собирать данные о производительности и поведении своих систем, оперативно выявлять и устранять возникающие проблемы.

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

SigNoz

SigNotz — это инструмент APM (мониторинг производительности приложений) с открытым исходным кодом, который можно использовать в качестве альтернативы таким инструментам, как Datadog и NewRelic. Он может быть очень полезен для мониторинга приложений и устранения проблем.

Кроме того, SigNoz интегрируется с OpenTelemetry, поддерживает различные языки, например, Java, Ruby, Python, Elixir и фреймворки.

Elastic APM

Как видно из названия, это ещё одно программное обеспечение для APM, с той лишь разницей, что Elastic APM поставляется в двух вариантах: SaaS-версия и самостоятельная версия с открытым исходным кодом.

Elastic APM может быть интегрирован с целым рядом приложений, включая веб-серверы, базы данных и брокеры сообщений. Он предназначен для совместной работы с Elastic Stack — набором инструментов для сбора, хранения и анализа данных.

Applications Platforms

Вот несколько основных инструментов, которые необходимо знать для развёртывания приложений в производственных средах или быстрого успешного локального тестирования.

Мы не будем рассматривать другие, более широко известные инструменты, такие как Kubernetes, Docker и Ansible, поскольку они уже упоминались во многих других статьях. Тем не менее более подробную информацию можно найти в ресурсах, приведенных в конце статьи.

Kind

KIND (Kubernetes IN Docker) — это инструмент для запуска локальных кластеров Kubernetes с использованием контейнеризации Docker. Он позволяет разработчикам тестировать свои приложения в локальной среде Kubernetes без создания отдельного кластера. Это может быть особенно полезно для тестирования приложений, основанных на нескольких микросервисах, или для разработки и отладки приложений в локальной среде.

Podman

Podman — это инструмент управления контейнерами, альтернатива Docker, позволяющий пользователям создавать и управлять контейнерами в Linux-системах.

В отличие от Docker, который использует демон для управления контейнерами, Podman напрямую взаимодействует с областью выполнения контейнеров для создания и управления контейнерами, поэтому нет необходимости запускать или управлять процессом-демоном, подобным демону Docker.

Кроме того, Podman не требует root-доступа. Поэтому он считается более безопасным, чем Docker.

Terraform

Это инструмент для Infrastructure as code, позволяющий создавать облачные и локальные ресурсы и управлять ими с помощью легко читаемых и понятных конфигурационных файлов. С помощью этих конфигурационных файлов можно определять и версионировать инфраструктуру, а затем управлять ею на протяжении всего жизненного цикла.

Terraform может работать как с низкоуровневыми ресурсами, такими как вычислительные системы, системы хранения данных и сети, так и с высокоуровневыми ресурсами, такими как записи DNS и функции программного обеспечения как услуги (SaaS).

Чат и ChatOps

Чат-приложения становятся все более важными для команд DevOps и SRE, поскольку они необходимы для общения в режиме реального времени и проведения операций с чатом (ChatOps).

ChatOps — это модель совместной работы, сочетающая общение в чате с выполнением оперативных задач. Она призвана повысить эффективность и результативность работы команд, позволяя им управлять инфраструктурой и приложениями через чат.

Mattermost

Mattermost — это альтернатива Slack с открытым исходным кодом, обеспечивающая совместную работу в чате, голосовой и видеосвязи. Он предназначен для разработчиков, DevOps и SRE.

Множество интеграций, таких как Jira, Gitlab, Github и Jenkins, позволяют командам разработчиков выполнять критически важные операции прямо из чата.

Airplane

Airplane — это SaaS-инструмент, позволяющий значительно быстрее создавать внутренние инструменты и рабочие процессы.

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

Благодаря мощной интеграции со Slack вы можете запускать эти задачи или авторизовывать их непосредственно из интерфейса чата.

Инцидент менеджмент

Инцидент менеджмент является важнейшим элементом успешной работы команды DevOps или SRE. Оно включает в себя выявление, реагирование и устранение проблем и инцидентов в системах и процессах организации.

Эффективное управление инцидентами позволяет минимизировать их влияние на бизнес, сократить время, необходимое для их устранения, и повысить общую надёжность системы.

Grafana Incident

Компания Grafana Labs представила в 2022 году свою платформу управления инцидентами Grafana Incident, которая позволяет быстрее реагировать на инциденты за счет автоматизации рутинных задач управления инцидентами, что помогает сосредоточиться на реальном устранении проблемы.

Incident.io

Incident.io — это альтернатива Grafana Incident. Он ориентирован на управление инцидентами непосредственно из Slack, что упрощает внедрение. Этот инструмент также поможет вашей команде извлечь уроки из инцидентов с помощью автоматически генерируемых вскрытий, временных шкал и панели Insights.

Statuspal

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

CState

CState — это минималистичная альтернатива инцидентной коммуникации с открытым исходным кодом. Интересно, что он основан на Hugo (генераторе статических сайтов). Благодаря этому он может быть легко размещён на различных провайдерах, таких как Github или Netlify, и работает очень быстро благодаря статической структуре сайта.

Составление диаграмм

Умение эффективно документировать такие вещи, как CI/CD-конвейеры, сетевую инфраструктуру, зависимости системных компонентов и т.п., является одной из важнейших обязанностей DevOps/SRE. Следующие инструменты позволяют создавать диаграммы как код, что дает возможность сохранять диаграммы в репозиториях и сотрудничать с членами команды.

D2

D2 — это новый декларативный язык диаграмм, позволяющий легко создавать технические диаграммы. Он входит в состав Terrastruct, который можно использовать бесплатно.

Синтаксис D2 интуитивно понятен и прост в освоении. Вот базовый пример:

Mingrammer/diagrams

С помощью Diagrams можно нарисовать архитектуру облачной системы, используя код на языке Python. Mingrammer/diagrams был создан специально для создания прототипов новых системных архитектур без использования инструментов проектирования, но может также использоваться для описания или визуализации существующих системных архитектур.

CI/CD

CI/CD, или Continuous Integration/Continuous Delivery, — это практика разработки программного обеспечения, направленная на оптимизацию и автоматизацию процессов сборки, тестирования и развертывания программного обеспечения.

Практика CI/CD, или конвейер CI/CD, является основой современных операций DevOps.

Ниже перечислены альтернативы, предлагающие как SaaS, так и самостоятельное размещение.

GitLab

GitLab — это веб-менеджер репозиториев Git, обеспечивающий управление исходным кодом (SCM), непрерывную интеграцию и многое другое. Он предназначен для размещения и управления Git-репозиториями, а также для поддержки всего жизненного цикла DevOps, включая планирование, разработку, тестирование и развертывание.

GitLab CI/CD — это функция GitLab, которая помогает командам автоматизировать процессы сборки, тестирования и развертывания программного обеспечения. Она интегрирована в платформу GitLab и позволяет пользователям определять конвейер заданий, которые будут автоматически выполняться при каждом изменении кода в репозитории.

Jenkins

Jenkins — это сервер автоматизации с открытым исходным кодом, который помогает командам автоматизировать отдельные этапы процесса разработки программного обеспечения. Он поддерживает создание, тестирование и развертывание программного обеспечения, а также автоматизацию других задач, связанных с разработкой и эксплуатацией.

Jenkins отличается простотой использования и может быть настроен через веб-интерфейс или путём написания сценариев на различных языках. Он интегрируется с широким спектром инструментов и сервисов, что делает его популярным выбором для команд, стремящихся внедрить процессы CI/CD.

Заключение

С каждым годом появляется всё больше и больше инструментов DevOps и SRE, за которыми трудно угнаться, поэтому здесь приведены только те, которые привлекли наше внимание и, по нашему мнению, могут принести вам наибольшую пользу.

Если у вас есть предложения по другим инструментам, которые следует включить в этот список, напишите об этом в комментарии.

Познакомьтесь с еще более широким спектром инструментов и ресурсов, связанных с DevOps и SRE, просмотрев список полезных ссылок ниже.

github.com/wmariuss/awesome-devops

github.com/SquadcastHub/awesome-sre-tools


Если хотите попробовать себя в роли SRE и научиться решать проблемы надёжности сервиса, рекомендуем пройти курс SRE: data-driven подход к управлению надежностью систем в Слёрме. Он рассчитан на как инженерам эксплуатации, разработчикам и лидерам команд.

Вот чему вы научитесь:

  • Определять метрики, которые будут улучшать SRE, уметь ими пользоваться.

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

  • Реализовывать эти улучшения на практике.

После курса вы сможете организовать пожарную команду в случае инцидента, раздать роли коллегам и выступить лидером.

Посмотреть программу курса и оставить заявку можно ???? на нашем сайте.

Старт ближайшего потока — 3 октября.

Комментарии (5)


  1. MrAlone
    26.09.2023 08:25
    +6

    Для кого эта статья? Кто в конце 2023 года не знает про Дженкинс, Терраформ, Гитлаб?


  1. engin
    26.09.2023 08:25

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


    1. domix32
      26.09.2023 08:25

      В смысле speech 2 text который поймёт как рисовать графы?


    1. Kozoft
      26.09.2023 08:25

      Возьмите любой понравившийся постороитель и измените его dsl под свои нужды.


  1. novoselov
    26.09.2023 08:25
    +2

    После того как на главной Statuspal видишь картинку на которой написано Desctop (Stakeholdsers, Costumers), сразу пропадает желание пробовать это SaaS-поделие.