Учебники

1) Учебное пособие по DevOps

Что такое DevOps?

DevOps — это культура, которая способствует сотрудничеству между группой разработки и эксплуатации для более быстрого и автоматизированного развертывания кода в производстве. Слово «DevOps» представляет собой сочетание двух слов «разработка» и «операции».

DevOps помогает повысить скорость организации для доставки приложений и услуг. Это позволяет организациям лучше обслуживать своих клиентов и более активно конкурировать на рынке.

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

В этом уроке мы узнаем

Почему нужен DevOps?

  • До DevOps команда разработки и эксплуатации работала в полной изоляции.
  • Тестирование и развертывание были изолированными действиями, выполненными после проектирования-сборки. Следовательно, они занимают больше времени, чем фактические циклы сборки.
  • Без использования DevOps члены команды тратят большую часть своего времени на тестирование, развертывание и проектирование вместо создания проекта.
  • Ручное развертывание кода приводит к человеческим ошибкам на производстве
  • Команды по кодированию и работе имеют свои отдельные временные рамки и не синхронизируются, что вызывает дальнейшие задержки.

Существует потребность в увеличении скорости доставки программного обеспечения заинтересованными сторонами. Согласно исследованию Forrester Consulting, только 17% команд могут использовать программное обеспечение для доставки достаточно быстро. Это доказывает болевую точку.

Чем DevOps отличается от традиционных ИТ

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

Мы предполагаем, что приложение будет запущено через 2 недели, а кодирование выполнено на 80%. Мы предполагаем, что приложение является новым запуском, и процесс покупки серверов для доставки кода только начался.

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

Почему DevOps используется?

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

Другие важные причины:

1. Предсказуемость: DevOps предлагает значительно более низкий процент отказов новых выпусков

2. Воспроизводимость: Версия все, так что более ранняя версия может быть восстановлена ​​в любое время.

3. Ремонтопригодность: легкий процесс восстановления в случае сбоя нового выпуска или отключения текущей системы.

4. Время выхода на рынок: DevOps сокращает время выхода на рынок до 50% благодаря оптимизированной доставке программного обеспечения. Это особенно актуально для цифровых и мобильных приложений.

5. Повышенное качество: DevOps помогает команде улучшить качество разработки приложений, поскольку оно включает проблемы инфраструктуры.

6. Снижение риска: DevOps включает аспекты безопасности в жизненный цикл доставки программного обеспечения. Это помогает в сокращении дефектов в течение жизненного цикла.

7. Отказоустойчивость: рабочее состояние системы программного обеспечения является более стабильным, безопасным, а изменения проверяемыми.

8. Экономическая эффективность: DevOps предлагает экономическую эффективность в процессе разработки программного обеспечения, которая всегда является стремлением руководства ИТ-компаний.

9. Разбивает большую кодовую базу на маленькие кусочки: DevOps основан на методе гибкого программирования. Следовательно, это позволяет разбивать большие кодовые базы на более мелкие и управляемые куски.

Когда принимать DevOps?

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

Когда не принимать DevOps?

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

Жизненный цикл DevOps

DevOps — это глубокая интеграция между разработкой и эксплуатацией. Понимание DevOps невозможно без знания жизненного цикла DevOps.

Вот краткая информация о жизненном цикле Continuous DevOps:

1. Разработка

На этом этапе DevOps разработка программного обеспечения происходит постоянно. На этом этапе весь процесс разработки разделяется на небольшие циклы разработки. Это помогает команде DevOps ускорить процесс разработки и доставки программного обеспечения.

2. Тестирование

Команда QA использует такие инструменты, как Selenium, чтобы выявлять и исправлять ошибки в новом фрагменте кода.

3. Интеграция

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

4. Развертывание

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

5. Мониторинг

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

Рабочий процесс DevOps

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

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

Чем DevOps отличается от Agile? DevOps против Agile

Заинтересованные стороны и коммуникационная цепочка типичный ИТ-процесс.

Agile устраняет пробелы в коммуникациях с клиентами и разработчиками

DevOps устраняет пробелы в коммуникациях для разработчиков и ИТ-операций

проворный
DevOps
Подчеркните, что преодоление барьеров между разработчиками и руководством. DevOps — это команда разработчиков и разработчиков программного обеспечения.
Устраняет разрыв между требованиями заказчика и командами разработчиков. Устраняет разрыв между командой разработчиков и эксплуатации
Больше внимания уделяется функциональной и нефункциональной готовности Ориентирован на операционную и деловую готовность.
Гибкая разработка относится главным образом к тому, как компания продумывает разработку. DevOps делает упор на развертывание программного обеспечения самыми надежными и безопасными способами, которые не всегда являются самыми быстрыми.
Гибкая разработка делает огромный акцент на обучении всех членов команды разным и одинаковым навыкам. Так что, когда что-то идет не так, любой член команды может получить помощь от любого члена в отсутствие лидера команды. DevOps любит делиться и побеждать, распространяя навыки между командами разработчиков и операторов. Он также поддерживает последовательную связь.
Гибкая разработка управляет «спринтами». Это означает, что расписание намного короче (менее месяца), и за этот период должно быть произведено и выпущено несколько функций. DevOps стремится к консолидированным срокам и контрольным показателям в основных выпусках, а не в более мелких и более частых.

Принципы DevOps

Вот шесть принципов, которые необходимы при принятии DevOps:

1. Ориентация на клиента: команда DevOps должна предпринять действия, ориентированные на клиента, для этого они должны постоянно инвестировать в продукты и услуги.

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

3. Постоянное улучшение: культура DevOps направлена ​​на постоянное улучшение, чтобы минимизировать потери. Это постоянно ускоряет улучшение предлагаемых продуктов или услуг.

4. Автоматизируйте все: автоматизация является жизненно важным принципом процесса DevOps. Это касается не только разработки программного обеспечения, но и всей инфраструктуры.

5. Работайте одной командой: в культуре DevOps роль дизайнера, разработчика и тестера уже определена. Все, что им нужно было сделать, это работать как одна команда с полным сотрудничеством.

6. Контролируйте и тестируйте все: для команды DevOps очень важно иметь надежные процедуры мониторинга и тестирования.

Кто такой инженер DevOps?

DevOps Engineer — это ИТ-специалист, который работает с разработчиками программного обеспечения, системными операторами и другими производственными ИТ-специалистами для администрирования выпусков кода. DevOps должен обладать как сложными, так и мягкими навыками общения и совместной работы с командами разработчиков, тестирования и эксплуатации.

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

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

Роли, обязанности и навыки инженера DevOps

Инженеры DevOps работают полный рабочий день. Они несут ответственность за производство и текущее обслуживание платформы программного приложения.

Ниже приведены некоторые ожидаемые роли, обязанности и навыки, которые ожидаются от инженера DevOps:

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

Сколько зарабатывает инженер DevOps?

DevOps — одна из самых популярных ИТ-профессий. Вот почему есть много возможностей там. В результате, шкала заработной платы даже для инженера DevOps младшего уровня довольно высока. Приблизительная зарплата младшего инженера DevOps в Индии составляет 11 15801 в год. Средняя зарплата для младшего инженера DevOps в Соединенных Штатах Америки составляет 78 696 долларов в год.

DevOps Обучение Сертификация

Сертификация обучения DevOps помогает всем, кто стремится сделать карьеру инженера DevOps. Сертификаты доступны в веб-сервисах Amazon, Red Hat, Microsoft Academy, DevOps Institute.

Давайте рассмотрим их один за другим

AWS сертифицированный инженер DevOps

Этот сертификат DevOps Engineering проверяет, как использовать наиболее распространенные шаблоны DevOps для разработки, развертывания и обслуживания приложений в AWS. Он также оценивает вас по основным принципам методологии DevOps.

Эта сертификация имеет 2 реквизита. Плата за сертификацию составляет 300 долларов США, продолжительность — 170 минут.

Сертификация Red Hat:

Red Hat предлагает различные уровни сертификации для профессионалов DevOps следующим образом:

  • Сертификат экспертизы Red Hat по платформе как услуга
  • Red Hat Сертификат экспертизы в разработке контейнерных приложений
  • Red Hat Сертификат экспертизы в Ansible Automation
  • Сертификат экспертизы Red Hat в области управления конфигурациями
  • Red Hat Сертификат экспертизы в администрировании контейнеров

Институт Девопса

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

Курс сертификации, предлагаемый компанией:

  • Фонд DevOps
  • Фонд DevOps сертифицирован
  • Сертифицированный Agile Service Manager
  • Сертифицированный Agile Process Owner
  • DevOps Test Engineering
  • Архитектура непрерывной доставки
  • DevOps Leader
  • DevSecOps Engineering

Инструменты автоматизации DevOps

Крайне важно автоматизировать все процессы тестирования и настроить их для достижения скорости и гибкости. Этот процесс известен как автоматизация DevOps.

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

  1. Автоматизация инфраструктуры
  2. Управление конфигурацией
  3. Автоматизация развертывания
  4. Управление производительностью
  5. Управление журналами
  6. Мониторинг.

Давайте рассмотрим несколько инструментов в каждой из этих категорий и то, как они решают болевые точки —

Автоматизация инфраструктуры

Amazon Web Services (AWS). Будучи облачным сервисом, вам не нужно физически присутствовать в центре обработки данных. Кроме того, они легко масштабируются по требованию. Там нет никаких предварительных затрат на оборудование. Можно настроить автоматическое выделение большего количества серверов на основе трафика.

Управление конфигурацией

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

Автоматизация развертывания

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

Управление журналами

Splunk : Этот инструмент решает такие проблемы, как агрегация, хранение и анализ всех журналов в одном месте.

Управление производительностью

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

Мониторинг

Нагиос : Также важно убедиться, что люди уведомлены, когда инфраструктура и связанные с ней услуги выходят из строя. Nagios — один из таких инструментов для этой цели, который помогает командам DevOps находить и исправлять проблемы.

Какое будущее у DevOps?

Это множество изменений, которые могут произойти в мире DevOps.

  • Организации перемещают свои потребности на недели и месяцы, а не на годы.
  • Скоро мы увидим, что инженеры DevOps имеют больший доступ и контроль над конечным пользователем, чем любой другой человек на предприятии.
  • DevOps становится ценным навыком для ИТ-специалистов. Например, опрос, проведенный специалистами по найму Linux, показал, что 25% респондентов, ищущих работу, являются экспертами DevOps.
  • DevOps и постоянная доставка здесь, чтобы остаться. Поэтому компании должны меняться, поскольку у них нет другого выбора, кроме как развиваться. Тем не менее, внедрение концепции DevOps займет 5-10 лет.

Резюме

  • DevOps — это культура, которая способствует сотрудничеству между группой разработки и эксплуатации для более быстрого и автоматизированного развертывания кода в производстве.
  • До DevOps работа и команда разработчиков работали в полной изоляции.
  • Ручное развертывание кода приводит к человеческим ошибкам на производстве
  • В старом процессе операционная команда не имеет ни малейшего представления о прогрессе команды разработчиков. Итак, операционная команда разработала план покупки и мониторинга ИТ-инфраструктуры в соответствии с их пониманием.
  • В команде разработчиков процесса DevOps полностью осведомлены о прогрессе разработчика. Планирование покупки и мониторинга является точным.
  • DevOps предлагает ремонтопригодность, предсказуемость, повышение качества, экономичность и время выхода на рынок.
  • Гибкий процесс фокусируется на функциональной и нефункциональной готовности, в то время как DevOps фокусируется на аспектах этой ИТ-инфраструктуры.
  • Жизненный цикл DevOps включает разработку, тестирование, интеграцию, развертывание и мониторинг.
  • Инженер DevOps будет работать с персоналом команды разработчиков для решения задач кодирования и написания сценариев.
  • Инженер DevOps должен обладать умением решать проблемы и быстро учиться
  • Сертификаты DevOps доступны в веб-сервисах Amazon, Red Hat, Microsoft Academy, DevOps Institute.
  • DevOps помогает организациям перенести циклы развертывания кода на недели и месяцы вместо лет.