(На мелодию The Fresh Prince of Bel-Air)

Это история о том, как

DevOps улучшает разработку программного обеспечения здесь и сейчас

И я хотел бы уделить минутку, просто посидите здесь

Я расскажу вам, почему разработчики должны заботиться о DevOps

В мире программного обеспечения, разработки и эксплуатации

Часто работают порознь, и легко провалиться

Но DevOps объединяет их для достижения общей цели

Чтобы сделать программное обеспечение быстрее, лучше и с большим контролем

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

Основы DevOps

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

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

Почему разработчики должны заботиться о DevOps?

Вам может быть интересно, почему как разработчик вы должны заботиться о DevOps. В конце концов, разве это не больше похоже на операцию? Что ж, правда в том, что DevOps очень актуален и для разработчиков. Согласно результатам Опроса разработчиков23, внедрение DevOps продолжает расти (с 47% до 56% за полтора года), в то время как большая часть работы по внедрению выполняется самими разработчиками программного обеспечения, а в более раннем Отчете разработчиков упоминалось только 5% практиков DevOps являются специалистами DevOps.

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

DevOps существует, чтобы сделать вашу жизнь проще

Суть в том, что DevOps существует не для того, чтобы создать новую профессию DevOps-консультантов (точно так же, как Agile Software Development не предназначена для того, чтобы Agile-коучи зарабатывали себе на жизнь). Он создан для того, чтобы облегчить жизнь разработчиков и операторов. Применяя методы DevOps, всякий раз, когда я действительно работаю с Ops, DevOps упрощает совместную работу, поскольку все отслеживается, часто обратимо и даже проще документируется. Это означает, что если есть какие-либо проблемы или ошибки, мы можем быстро определить, где возникла проблема, и принять меры для ее устранения.

Согласно отчету Pulse за 3 квартал 2022 г., внедрение DevOps свидетельствует о большей инструментальной активности со стороны сообщества программистов и разработчиков программного обеспечения с участием 45,6%, в то время как надзорные роли отражают участие менее 12%, а руководители технических/инженерных групп составляют 11,2%. , участие архитекторов — 10,7 %, а CIO/CTO и ИТ-руководители — самые низкие 10 %. Студенты, изучающие информатику и науку о данных, демонстрируют некоторое практическое участие в обучении с 13,3%.

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

Совсем недавно я создавал проект .NET MAUI — мой первый — и понял, что у меня есть лишь приблизительное представление о том, как создавать, тестировать и публиковать приложение, и даже не о том, как его распространять. Очевидным решением было позволить кому-то другому разобраться в деталях за меня. К счастью, у меня есть кто-то, кто знает об этом больше, а именно GitHub. На то, чтобы научиться работать с основами с помощью GitHub и Visual Studio App Center, у меня ушло около часа. GitHub Actions потребовало бы около 15 минут, чтобы отправить мой код — от регистрации до загрузки в App Center — и мне не нужно ничего делать! Вероятно, мне следует добавить несколько тестов в процесс сборки, но я добавлю их сразу после того, как закончу с документацией. Если вы хотите прочитать больше, вся статья находится здесь.

С чего начать?

Вот несколько простых шагов, чтобы начать свой путь в качестве разработчика, разбирающегося в DevOps:

  1. Автоматизируйте все, что можно: автоматизируйте процессы сборки, тестирования и развертывания с помощью таких инструментов, как GitHub, Azure DevOps, Jenkins, TeamCity и GitLab.
  2. Сотрудничество с операционным отделом. Работайте в тесном контакте с операционным отделом, чтобы понять их потребности и обеспечить бесперебойную работу вашего кода в рабочей среде.
  3. Непрерывное совершенствование. DevOps заключается в постоянном совершенствовании процессов разработки, поэтому всегда ищите способы упростить и улучшить свои рабочие процессы.
  4. Учитесь на практике. DevOps — это практический подход, поэтому начните с экспериментов с новыми инструментами и практиками в небольших проектах.
  5. Общение в приоритете. Эффективное общение имеет важное значение для DevOps, поэтому убедитесь, что вы регулярно общаетесь со своей командой, чтобы все были на одной волне.

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

Биография. Антти Коскела — Microsoft MVP, который старается быть в курсе того, что к чему в мире Azure и .NET, а также член комитета разработчиков Developer Nation.