Рубрики
Uncategorized

Учебник DevOps

Devops уже долгое время существует рядом с нами, и в то время как многие компании, организация … Tagged с DevOps.

DevOps (6 серии деталей)

Devops уже долгое время существует рядом с нами, и, хотя многие компании, организации и команды приложили усилия, чтобы перенести свою модель выпуска в сторону DevOps или его близко родственного двоюродного брата, Agile, все еще есть много, кто твердо укоренился В старом цикле «Попросите программистов написать программное обеспечение, отправить его в QA для тестирования, а затем отправить его в операции для поддержания его после выпуска», и это конец дороги для этого приложения.

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

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

DevOps Premia

Несколько важных терминов будут определены здесь.

  • Развитие состоит из взаимосвязанных дисциплин Программирование Программное обеспечение, тестирование Для ошибок и тестов на запуск обеспечения качества (QA), что решение обеспечивает ожидаемое количество стоимости и производительности конечным пользователям. Он также включает в себя создание исправлений ошибок и обновлений функций для IT после развертывания.
  • Операции состоит из дисциплин развертывание Программное обеспечение и обновления, поддержание его надежность в течение жизни, отката назад к предыдущей сборке развертывания, если это необходимо, и создания сценариев, чтобы помочь с этими процессами ( Инфраструктура как код ).
  • Agile это методология, которая объединяет программистов, тестеров и сотрудников QA в одну команду. Традиционно каждый из них принадлежит к разным отделениям, и объединение их всех в одном приносит много преимуществ, включая менее управленческие накладные расходы, так что общение и сотрудничество между программистами и тестерами стали более плавными. Эта тема будет рассмотрена в будущем посте.
  • DevOps , тема этого поста, объединяет департамент общего развития с операциями. Вы обнаружите, что формирование команды DevOps намного проще, если вы заранее создаете гибкую команду из отделения развития.

Пять этапов разработки программного обеспечения

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

  1. Идея : Все программные проекты начинаются с проблемы для решения. Я поместил это в качестве номера 0, потому что в компании этот шаг не сделан разработкой операционных отделов. Идея обычно производится высшим руководством, возможно, в результате рыночных тенденций или их прошлых доходов от других предприятий.
  2. Планирование : Идея передается в отдел R & D (исследования и разработка — Не Как в программировании), который затем исследует идею оценить, является ли это технически жизнеспособным. Идея также передается маркетингу, чтобы оценить, является ли она финансово жизнеспособной для компании.
  3. Спецификация : Если как НИОКР, так и маркетинг пришли к выводу, что идея является жизнеспособной, то менеджерам проектов предоставляется назначение для построения спецификации из нее с подробными требованиями, получая вклад и понимание из этих двух отделов.

    • Мы не задачите разработку с помощью инженерной задачи без спецификации, потому что иногда неожиданное поведение кодируется в программном обеспечении в результате нечетких требований.
  4. Развитие : Затем спецификация передается разработке для программного обеспечения из него и проверить его после его создания. Они могут проконсультироваться с управлением проектами для разъяснения о любых неясных требованиях. Это сцена, которая упорядочена Agile.
  5. Развертывание : На этом этапе операции развертывают программное обеспечение и при необходимости контакт с персоналом разработки для разработки. Продажи и маркетинг начинают рекламировать программное обеспечение для клиентов.
  6. Обслуживание : Операции гарантируют, что программное обеспечение работает без сбоев и разработки контактов для разрешения, если будут обнаружены какие ошибки или проблемы с производительностью.

Ниже приведена диаграмма жизненного цикла программного обеспечения. Обратите внимание, как операции и разработка тесно взаимосвязаны на этапах 4 и 5 — наряду с 3 -й этажей, это стадии, которые могут быть оптимизированы, следуя методологии DevOps.

Диаграмма жизненного цикла программного обеспечения

Зачем нам DevOps?

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

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

Принимая во внимание, что ранее операции размещали свои конфигурации ОС производственных серверов для запуска приложений из нескольких различных проектов, так называемых Горизонтальное масштабирование , DevOps заставляет их динамически создавать несколько различных конфигураций ОС, по одной для каждого приложения. В 2021 году нетрудно увидеть, что это может быть достигнуто с помощью контейнеры или Виртуальные машины Анкет Эта изоляция операционной среды каждого приложения приносит огромную пользу при поиске причин разломов; Неактуальные конфигурации не переплетаются с проблемным применением и могут быть исключены, что вызывает решение проблемы быстрее.

Основные аспекты DevOps

Ниже приведен частичный список наиболее важных аспектов проекта DevOps.

  • Сценарии развертывания, сценарии сборки и модульные тестирование полностью автоматизированный Анкет
  • Трекеры выпуска связаны с Как разработка, так и операция рабочие станции Анкет Каждый из них может видеть отчеты об ошибках, связанные с программным обеспечением.
  • И исходный код, и инфраструктура в качестве сценариев кода и входных файлов с их параметрами хранятся внутри контроль версий . Это позволяет разработке и операциям создавать гетерогенные среды, подходящие для задачи, которую они пытаются выполнить. Например, разработка может понадобиться среда отладки, в то время как операциям может потребоваться создание среды выпуска.
  • Есть Метрики определяется командой, которая измеряет качество программного обеспечения, и
  • Существуют конкретные критерии, которые должны быть выполнены, чтобы отправить релиз или кандидата в релиз. Релиз никогда не отправляется на согласие с тем, что программное обеспечение «может работать».

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

DevOps (6 серии деталей)

Оригинал: «https://dev.to/zenulabidin/a-devops-premier-2a4»