Движение DevOps

[АРХИВИРОВАНО] Последнее обновление от Joe Schaefer на пт, 26 апр. 2024    источник
 

Больше, чем просто предоставление корневого доступа разработчикам!

Или даже нет. Большая идея «движения» – не просто дать разработчикам больше веревки.

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

Разработка на основе магистральных магистралей

Поощрение постепенных изменений с помощью автоматических процессов тестирования, продвижения и выпуска в запланированной последовательности – отличный способ добиться успеха, но большая часть контроля качества в развертываниях SaaS/PaaS включает в себя принятие *развитие на основе ствола.

Мультивселенная в долгосрочной перспективе гусеница

        Surgery on a patient must result
        in good outcomes (at all times) for
        that patient, not just for siblings
        or future generations.

CI/конвейеры CD

Разработка на основе магистральных магистралей является основой для всех последующих автоматизированных трубопроводов управления изменениями, которые выросли за последние два десятилетия.

Код – это закон (разработка + инфраструктура + конфигурация).

Сначала немного исторической перспективы; строчка следит за этими четырьмя пунктами. Общая нить здесь заключается в том, что Апачи почти всегда опережали свое время.

Назад в пред-CFEngine.

Рабочий процесс был менее чем идеальным: помимо создания собственных локально исправленных деревьев портов FreeBSD в развертываемые (двоичные) пакеты с нуля, сотрудникам приходилось выполнять трудновыполняемую дисциплину при развертывании изменений в производственной среде, сначала взяв на себя контроль версий, выполнив вход на целевой сервер, обновив его оформление заказа и потенциально перезапустив сервис —

В настоящее время все они находятся в гусеница-поддерживаемое дерево источников кукол, а также предоставление / развертывание / настройка непосредственно в облаке с использованием общих пакетов Ubuntu, что является несколько современным подходом к работе ИТ-операций, поскольку запланировано гусеница

С другой стороны, ранняя, новаторская инициатива CI в ASF (для реальных проектов TLP программного обеспечения Apache) была Апач Гамп.

Вот точка в двух словах: все ваши источники (разработка, инфраструктура и конфигурация) принадлежат к контролю версий (не обязательно совместному использованию одного и того же репозитория), который проверяется всем персоналом DevOps, и является частью вашего полного набора конвейеров тестирования-автоматизации между версиями исправлений и производственными развертываниями. Обзор состояния техники, в котором изменения проверяются/представляются/развертываются по требованию в настройках IaC/CaC, находится на веб-сайте моего друга и провидца Пола Хамманта. здесь.

Виртуализация и контейнеризация: a Домашние животные против скота.

Контейнерные системы, такие как Docker, – это настраиваемые технологии виртуализации с возможностью повторного развертывания, которые обычно используются для поддержки среды кластеров приложений архитектуры MicroService (MSA), такой как Kubernetes. Они выбирают то место, где системы виртуализации остановились, торгуя неограниченной поддержкой (полностью) изолированных операционных систем на виртуальную машину для ВМ на основе ядра Linux, которые имеют значительно более программируемую настройку и интеграцию с родительским хостом Linux, на котором они работают. Кроме того, они могут быть перестроены и загружены в центральный сервис распределения (например, артефакт) для широкомасштабного повторного использования в нескольких цепочках зависимостей и развертываниях исполняемых серверов.

Вертикальное и горизонтальное масштабирование

Реконфигурируемые контейнеры, загружаемые с центрального сервера, предоставляют возможности, которые трудно реализовать с помощью базовой технологии виртуализации – вы не привязаны к каким-либо ограничениям на оборудование одного сервера для масштабирования ваших сервисов для удовлетворения спроса. Другими словами, горизонтальное масштабирование путем развертывания одного и того же контейнера в коллекциях хостов, по требованию, является мгновенно достижимой первоклассной функцией платформ MSA на основе Docker. Развертывание на хосте same десятки контейнеров больше, чем ядер ЦП.

Измерение, обуздание и контроль противопожарных усилий, как реальных, так и практических

Еще одна важная вещь, которую следует признать, – это различие между запланированной и внезапланированной работой в любой из ваших метрик отслеживания производительности и тем, как ресурсы выделяются на эти задачи. Незапланированная работа составляет пожарная, и если на эти задачи затрачено слишком много времени (более ~20%), запланированная работа, которая является реальной потребностью предприятия, становится невыполненной.

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

Один из главных уроков сдерживания COVID-19 в начале 2020 года, поскольку потенциал больниц с точки зрения ИТ, заключается в том, что существует такая вещь, как слишком худая, по крайней мере, когда речь идет о персонале DevOps (аппаратное обеспечение – это другая история). Планирование на случай непредвиденных обстоятельств на дождливый день, либо с «избыточным» персоналом, либо с инициативами по перекрестному обучению, в сочетании с регулярными подготовительными учениями, не только не позволяет врачу, но на самом деле миссия имеет решающее значение.

Участие в программе

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

Философия включения различных заинтересованных сторон в создание и эволюцию материального продукта работы имеет последствия далеко за пределами просто dev и ops команд, разделяющих контроль и ответственность за инженерные усилия сервера. Этот урок повторяется во всем современном корпоративном мире, поскольку новые области для творческого человеческого выражения формируются в бизнес-секторе, а также в переосмыслении старых способов ведения бизнеса вместе.