Код
#подборки

Must read. Лучшие статьи о DevOps за последние три месяца

Собрали 6 отличных материалов о DevOps из англоязычных источников — внутри расширенные саммари. Будет интересно и новичкам, и опытным специалистам.

Каждую неделю мы отбираем пять свежих интересных материалов по одной теме из англоязычного интернета и рассказываем, почему их обязательно надо прочитать. В этом выпуске — статьи о DevOps, новом чёрном в IT на протяжении последних лет.

DevOps vs SRE: Повышение эффективности и отказоустойчивости

Где читать: на сайте Harness.

Зачем читать: чтобы понять разницу между DevOps и SRE и разобраться в метриках, которые в них используют.

DevOps и SRE становятся всё популярнее, а специалисты в этих областях — всё более востребованными. Но важно понимать, чем они различаются и как с ними работать. Об этом и рассказал Рави Лахман — евангелист Harness, который успел поработать в Red Hat и IBM.

Цель DevOps — решить проблему в коммуникации между разработчиками и командой эксплуатации. SRE, или Site reliability engineering, — это в первую очередь поддержка безопасности и надёжности системы.

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

  • SLA — это соглашение об уровне услуг, то есть ожидания клиента от сервиса. Клиентом могут быть как люди, так и другие системы. Пример SLA — это требование 99% аптайма.
  • SLO — это цели, которых надо достичь, чтобы выполнить SLA.
  • SLI — это метрики для измерения SLO.

Но в DevOps есть и специфические метрики:

  • Lead Time — это время на реализацию, то есть между проверкой кода и его развёртыванием.
  • Deployment Frequency — частота развёртывания. Чем выше этот показатель, тем эффективнее процесс.
  • Mean Time to Restore (MTTR) — среднее время восстановления, то есть возврата к прошлому уровню работоспособности.
  • Change Failure Percentage — процент неудачных изменений.

Кроме того, Рави добавил подробную сравнительную таблицу SRE- и DevOps-специалистов и рассказал, как лучше организовать их работу.

Тренды 2021 года в DevOps и DevSecOps

Где читать: статья Сэма Бочетты на InfoQ.

Зачем читать: чтобы узнать, почему DevOps становится всё популярнее.

DevOps набрал огромную популярность в последние годы и пока не собирается сдавать позиции. Вот несколько трендов, которые способствуют его популярности:

  1. Тренд на микросервисы и контейнеризацию, угасание монолитных архитектур.
  2. Облачная разработка как стандарт.
  3. Kubernetes и контейнеризация, которые позволяют забыть о жёстком контроле и выстроить работу по принципу прозрачного творческого беспорядка.
  4. Agile. Конечно, это не новый тренд, но гибкие методики — настоящее разработки, и от них никуда не деться.
  5. Автоматизация выпуска ПО. А в этом процессе команды разработки и эксплуатации должны плотно сотрудничать.
  6. Отказоустойчивость, а не защита. DevOps и DevSecOps поменяли подход к безопасности: каждый элемент теперь рассматривается как потенциально уязвимый, а главная цель — не дать уязвимости повлиять на другие элементы системы.
  7. Вредоносное ПО. С гибкостью DevOps пришли и новые вызовы, в том числе для безопасности. Вредоносные программы теперь поражают даже облачные системы — и в борьбе с ними DevSecOps особенно актуален.
  8. ИИ и машинное обучение. Эти сферы тесно связаны с развитием автоматизации, а значит, могут сильно повлиять и на DevOps.

Работа с Kubernetes: как создать среду разработки

Где читать: обсуждение на Reddit.

Зачем читать: чтобы узнать о неочевидных особенностях и инструментах для разработки на Kubernetes.

Топикстартер хотел узнать, как лучше всего создать среду на Kubernetes, которая позволит запустить реплику для локальной разработки или отладки. Docker Compose показался ему не особо надёжным — к тому же он сложноват в поддержке. А Minikube не подошёл из-за низкой скорости.

Советы комьюнити — кратко:

  • Использовать отдельные кластеры для разработки и тестирования.
  • Разные пространства имён в одном кластере.
  • Kind.
  • Telepresence.
  • Canonical.
  • Terraform.

Результаты опроса The State of DevOps Report

Где читать: интервью на JAXenter.

Зачем читать: чтобы узнать о будущем и проблемах DevOps.

Опрос State of DevOps Report показал, что многие тренды 2020 года будут уже не так актуальны в 2021 году. Например, инвестиции в автоматизацию, облака и общую модернизацию.

Причина — компании неспособны улучшить свои бизнес-процессы и коммуникацию между командами. Главная проблема DevOps в 2021 году тоже связана с компаниями — они молятся на отдельные инструменты, а не пытаются глубоко вникнуть в DevOps и раскрыть весь его потенциал.

Из интересного:

  1. Продвинутые в DevOps компании оказываются более продуктоориентированными и чаще используют внутренние платформы.
  2. Выяснилось, что DevOps и управление изменениями (change management) вполне себе коррелируют: чем сильнее в компании развит DevOps, тем успешнее управление изменениями. Раньше их считали несовместимыми.

Что такое DevOps? Введение

Где читать: статья на bmc.

Зачем читать: чтобы узнать об основных практиках DevOps и стандартных структурах DevOps-команд.

Один из главных приоритетов DevOps — выпускать ПО чаще и с хорошим качеством. В этом отлично помогает автоматизация процессов. Примеры:

  • Непрерывная интеграция. Вместо ручного обновления и тестирования кода разработчики загружают изменения в центральный репозиторий. Там он собирается и тестируется автоматически.
  • Непрерывная доставка. Это что-то вроде расширенной версии непрерывной интеграции. После сборки и тестирования код автоматически проверяется, пока не будет одобрен для продакшена. Популярные инструменты: Jenkins, Bamboo, Travis, TeamCity.
  • Непрерывное тестирование. Помогает обнаружить потенциальные проблемы на самой ранней стадии. Если код не проходит автоматические тесты, он не попадёт на функциональное тестирование, а разработчики получат уведомление о проблеме. Популярные инструменты: Selenium, Travis, Appium.
  • Непрерывный мониторинг. Ещё одна практика для поиска проблем. Чаще всего отслеживаются нагрузка на процессор и память, место на диске и действия клиентов. Популярные инструменты: Nagios, Sensu, Prometheus.
  • Инфраструктура как код. Практика, в которой инфраструктура управляется через код, а не вручную. Её можно встретить в компаниях, полностью работающих на облачных технологиях.
  • Микросервисная архитектура. Такое ПО состоит из небольших независимых компонентов, у каждого из которых есть своя функция. Микросервисы повышают надёжность программы, а добавлять и обновлять функции становится проще.

Топология DevOps

Структура DevOps-команд зависит от стиля менеджмента конкретной организации. Вот девять самых популярных структур:

  1. Команды разработки и эксплуатации плотно сотрудничают между собой. Идеальная ситуация :)
  2. Команда эксплуатации интегрирована в команду разработки. Такая структура принята в Facebook* и Netflix.
  3. Команда эксплуатации построена по модели «инфраструктура как услуга».
  4. DevOps как внешняя служба.
  5. Временная DevOps-команда.
  6. Команда поддержки DevOps.
  7. SRE-команда, которая оценивает, отвечает ли ПО всем стандартам.
  8. Сотрудничество с помощью контейнеризации.
  9. Сотрудничество разработчиков с администраторами баз данных (DBA).

DevOps, наблюдаемость и недостаток коммуникации

Где читать: статья на Medium.

Зачем читать: чтобы узнать о главной организационной проблеме в DevOps и методах её решения.

Когда команды разработки и эксплуатации разделены, работа замедляется, а между командами может возникнуть нездоровая конкуренция или даже враждебность. DevOps решает эту проблему, позволяя быть продуктивнее и не обращать внимания на организационные ограничения.

И кажется, что если стереть эти рамки, то мы получим команду, которая не будет ни от кого зависеть. Но это не совсем так — избавившись от старых рамок, мы быстро наткнёмся на новые.

Люди думают, что DevOps-команды работают независимо друг от друга. Однако на практике они взаимосвязаны — как связаны и отдельные компоненты системы, которыми они занимаются. По статистике, 70−80% неожиданных проблем происходит из-за запланированных изменений в «соседнем» компоненте — то есть две смежных команды могут просто блокировать друг друга.

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

Глубоко разобраться в практиках DevOps и до конца прочувствовать пользу того, о чём мы тут написали, поможет курс «Старт в DevOps: системное администрирование для начинающих» от Skillbox.


* Решением суда запрещена «деятельность компании Meta Platforms Inc. по реализации продуктов — социальных сетей Facebook* и Instagram* на территории Российской Федерации по основаниям осуществления экстремистской деятельности».

Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Старт в DevOps: системное администрирова­ние для начинающих Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована