Специалистам в области 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)
engin
26.09.2023 08:25Я ищу граф постороитель который может вербальный алгоритм из пошаговых инструкций из текста выводить в виде графа.
novoselov
26.09.2023 08:25+2После того как на главной Statuspal видишь картинку на которой написано Desctop (Stakeholdsers, Costumers), сразу пропадает желание пробовать это SaaS-поделие.
MrAlone
Для кого эта статья? Кто в конце 2023 года не знает про Дженкинс, Терраформ, Гитлаб?