В погоне за надежностью

28 марта 2022
В погоне за надежностью

Быть на стыке разработки и эксплуатации непросто. Нашим читателям чуть легче, потому что Evrone рассказывает о полезных инструментах и источниках информации. Сегодня речь пойдет об инструментах DevOps, которые помогут выстроить инфраструктуру из разных элементов, найти сбойные правила Prometheus и улучшить восприятие изменений в коде за счёт визуализации diff / merge.

Взболтать, а не смешивать

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

Для каждого элемента приходится разрабатывать прослойку, которая будет взаимодействовать с другими элементами. Здесь разработчики сталкиваются с разными API и разным поведением систем. Конечно, можно переложить ответственность на провайдера, но такой подход не всегда можно безболезненно реализовать. Ещё есть способ разрешить ситуацию, прибегнув к помощи уже существующего программного обеспечения, например, crossplane.

Эта штука представляет собой add-on для Kubernetes и решает задачу объединения элементов инфраструктуры различных вендоров в единое целое. В итоге мы получаем доступ к согласованному универсальному API, которое управляет поставщиками услуг, ресурсами и абстракциями.

Такая единая точка входа значительно экономит время при разработке и поддерживает основных поставщиков облачных услуг в мире: AWS, Azure, Google Cloud, и многих других. Кстати, crossplane станет одной из тем доклада нашего CTO Александра Кириллова на DevOpsConf 2022. Мероприятие пройдет 13-14 июня в Москве на территории инновационного центра Сколково.

Кроме того, разработчики в январе 2022 года анонсировали проект Terrajet, позволяющий сгенерировать провайдеров Crossplane непосредственно из Terraform. Это в обозримом будущем позволит корректно взаимодействовать со всеми поставщиками облачных услуг. Так что подход Infrastructure as Code продолжает набирать обороты и лидировать в трендах построения облаков.

 

Поиск сбоящих правил Prometheus

Одна из ключевых задач DevOps — выстраивание надежной автоматизированной системы сборки, тестирования, упаковки и доставки приложений. Достижение этого невозможно без достаточного количества проверок. Причём проверять можно не только исходный код, но и вносимые в конфигурационные файлы изменения. Но как проверить правила того же самого Prometheus, не запуская его в production?

В качестве инструмента можно взять promcheck. Эта утилита, во-первых, позволяет выполнить проверку вручную из CLI. Во-вторых, её можно легко встроить в CI/CD-пайплайн для автоматической проверки. Ну и, в заключение, утилиту можно запускать в качестве экспортера Prometheus для регулярной проверки набора правил.

Работает всё это следующим образом: promcheck дёргает векторные селекторы и смотрит, возвращается ли результат. Это одновременно и плюс, и минус. С одной стороны, получив результат, мы понимаем, что конкретный селектор работает. Но некоторые селекторы намеренно могут не отдавать ответа, что приведёт к ложному срабатыванию.

На каждый селектор формируется отдельный HTTP-запрос. Ответ же предоставляется в текстовом виде, JSON или YAML. Количество селекторов будет напрямую влиять на скорость проверки, а интервал между проверками задаётся соответствующим флагом.

 

Обзор визуальных инструментов слияния

Рано или поздно каждый, кто пользовался GitHub, задумывался о том, что было бы неплохо иметь средство визуализации для операций diff / merge. Это позволило бы лучше понимать изменения, ведь мозг значительно быстрее обрабатывает картинки, чем текст. Текст с пояснительным изображением наш мозг понимает быстрее. На этом, кстати, основан секрет успешности смайликов и эмодзи.

Но вернемся к нашей задаче. Такие средства визуализации уже созданы и давно используются. Если быть точным, то на StackOverflow 13 лет назад уже был задан вопрос об этом. Так что же использовать в 2022 году для этих целей? Сейчас расскажем:

  • Meld — одна из старейших утилит продолжает успешно справляться со своими задачами. Это сравнение файлов (как двухстороннее, так и трехстороннее) и каталогов. Утилита поддерживает самые популярные системы контроля версий и доступна для большинства дистрибутивов Linux и Windows. Пользователи macOS оказались немного обделены официальным вниманием, но вполне могут использовать портированную версию.
  • Beyond compare — ещё один «‎мастодонт», продолжающий помогать разработчикам по всему миру. Отличительная черта — всеядность. Даже если вам надо сравнить два каталога в каком-нибудь Dropbox или Amazon S3, эта штука справится. Работает на любой ОС и активно дорабатывается. Единственным минусом можно считать её проприетарность. Цена, впрочем, адекватная — 30 долларов за стандартную версию и 60 за Pro. Попробовать триал можно бесплатно в течение месяца.
  • Helix Visual Merge Tool — более известная как P4Merge. Очень простая и в то же время функциональная утилита, позволяющая визуализировать различия между файлами. Прелесть в том, что сравнивать можно не только текстовые файлы, но и файлы других форматов, например, графических.

Интересно послушать

 

Обучение

Онлайн

Курс Python в Evrone Academy

60 учебных модулей 

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

 

Основа обучения в Evrone Academy — наши высокие требования к разработчикам и опыт в проектах. Мы записали лекции, подготовили текстовые версии, добавили практические задания — это позволит вам подтянуть знания до middle-уровня. На стажировке мы дополним теорию практикой, а после — добро пожаловать на «боевой» проект.

Сейчас академия доступна в режиме early access — можно пройти базовые части по Python или Ruby. Но мы уже готовим новые материалы и практические задания, подписывайтесь на нас в соцсетях, чтобы не пропустить обновления!

Конкурсы для разработчиков

Онлайн

DevOps Quiz

до 22 апреля 2022

Предлагаем проверить себя в нашем новом квизе по практикам DevOps.

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

Среди тех, кто правильно ответит на все вопросы мы разыграем Яндекс.Станцию.

Митапы

Онлайн

DevOps meetup

13 июля 2022 - 19:00

Рады сообщить, что у нас запланирован отличный DevOps Meetup, который пройдёт 6-го апреля. Детальная информация о мероприятии будет опубликована позже, следите за нашими новостями.

Регистрация

Вакансии

Удаленка / Офис

Evrone 

Мы открыты для новых DevOps-инженеров. В Evrone можно работать удалённо с первого дня, мы поддерживаем и оплачиваем участие в Open-source проектах, а расти в грейдах можно с помощью честной системы проверки навыков и менторства.

Регистрация

 

Подписаться
на Digest →
Важные новости и мероприятия без спама
Технологии которыми вы владеете и которые вам интересны
Ваш адрес электронной почты в безопасности - вот наша политика конфиденциальности.