Devops инструменты не только для devops. процесс построения инфраструктуры автоматизации тестирования с нуля

Главные принципы DevOps

Рассматривая DevOps как масштабирование Agile-подхода на весь процесс разработки, внедрения и сопровождение ПО, можно выделить 5 основных принципов (CALMS) его реализации с целью увеличения частоты релизов и повышения ответственности команды за продукт :

  • Культура (Culture) – кросс-функциональное сотрудничество разнопрофильных специалистов и команд за счет единого информационного пространства проектного контента, открытых каналов коммуникаций и постоянного общения всех участников;
  • Автоматизация (Automatization) – использование инструментов непрерывной поставки с прогоном каждой правки кода через серию автоматизированных тестов, часто использующих облачную инфраструктуру, и последующую упаковку успешных сборок с дальнейшим перемещением на рабочий сервер с помощью автоматизированных развертываний и управления инфраструктурой как кодом через конфигурации саморазвертываемых сред;
  • Бережливость (Lean) – устранение действий с низкой полезностью и ускорение процессов, непрерывное совершенствование через регулярный ретроспективный анализ, раздельное тестирование различных инструментов, принятие поражений, возможности быстрого обнаружения проблем и их незамедлительного решения;
  • Измерения (Measurement) производительности, например, продолжительность работы пользователей с продуктом, частота появления в логах сообщений о критических ошибках – необходимы ясные и четкие критерии оценки работы, показатели эффективности процессов;
  • Обмен (Sharing) – совместная ответственность и разделение успехов, выпуск и обеспечение работы приложения осуществляются теми же людьми, что выполняли его сборку, т.е. разработчики (Developers) и операторы (Operators) взаимодействуют на каждом этапе жизненного цикла приложения.

CALMS: главные принципы DevOps 

Кто и где используется DevOps и сколько за это стоит

DevOps может быть полезен практически любой организации, связанной с разработкой приложений или управлением большим количеством серверов. Крупные ИТ-гиганты вовсю нанимают (Amazon, Adobe, Google, Facebook и т.д.) и технологичные предприятия других сфер (Netflix, Walmart, Etsy и пр.) вовсю нанимают DevOps-инженеров. В России девопс также активно используется в банковской (Сбербанк, Альфабанк, Тинькофф-Банк), телекоммуникационной и ИТ-отраслях (Билайн, МТС, Mail.ru, Яндекс).

Мелкий бизнес и стартапы, цель которых – быстрее выпустить на рынок минимально жизнеспособный продукт, чтобы проверить новую идею, пока обходятся без девопс-инженеров. Что обусловлено, помимо организационных и методологических факторов, также и финансовой стороной вопросы: DevOps-инженеры зарабатывают больше всех в отрасли. На июль 2019 года зарплата таких специалистов колеблется в районе $71 тысяча долларов в год за рубежом , что составляет около 350 тысяч рублей в месяц, и 130-400 тысяч рублей в месяц в РФ [7.

DevOps — continuous innovation — непрерывное улучшение всех процессов

Источники

  1. https://ru.atlassian.com/devops
  2. https://ru.wikipedia.org/wiki/DevOps
  3. https://vc.ru/hr/50165-chto-takoe-metodologiya-devops-i-komu-ona-nuzhna
  4. https://habr.com/ru/post/349796/
  5. https://habr.com/ru/company/itglobalcom/blog/447742/
  6. https://insights.stackoverflow.com/survey/2019
  7. https://yandex.ru/company/researches/2019/it-jobs

Особенности профессии

DevOps-инженеры – многозадачные и компетентные специалисты, на которых возлагается большой фронт работ и ответственность. Они обеспечивают коммуникацию и взаимопонимание между членами рабочей команды, что гарантирует гармонию между Development (разработка) и Operation (эксплуатация). В обязанности DevOps-инженера входят следующие важные работы:

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

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

Главные тенденции

2020: 10 прогнозов для разработчиков и DevOps на 2020 год

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

1. Оптимизация ИИ для разработчиков

Согласно ожиданиям IDC, к 2024 году 56% компаний не будут ограничивать использование ИИ и машинного обучения разработкой приложений — они будут применяться в проектировании, управлении качеством, обеспечении безопасности и развертывании новых технологий. К 2023 году 70% компаний будут инвестировать средства в переподготовку и обучение сотрудников, в том числе в сторонние службы, для приобретения новых навыков и знакомства с новыми методами работы.

Многие компании используют методологию DevOps для ускорения выпуска приложений

2. Широкое использование контейнерных платформ

К 2024 году 70% новых приложений будут разворачиваться на контейнерных платформах для повышения скорости развертывания, согласованности и переносимости приложений.

3. Рост доли внештатных разработчиков

К 2023 году число разработчиков, занятых неполный рабочий день (в том числе бизнес-аналитиков, специалистов по анализу и обработке данных, а также исследователей данных) в Китае, станет в два раза больше. В частности, число разработчиков, занятых неполный рабочий день, увеличится с 1,8 млн в 2019 году до 3,6 млн.

4. DevOps как повседневная деятельность

К 2023 году число организаций, выпускающих коды для конкретных приложений, увеличится с 3% до 30%. К 2024 году по крайней мере 90% новых версий приложений корпоративного уровня будут иметь встроенные функции ИИ, хотя и будут составлять только 10% всего рынка.

5. Ускорение трансформации традиционных приложений

К 2022 году ускоренная модернизация традиционных приложений и разработка новых приложений приведет к увеличению доли облачных приложений до 25%, что обусловлено использованием микросервисов, контейнеров и динамической оркестровкой.

6. DevOps сосредоточиться на ключевых индикаторах производительности бизнеса

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

7. Использование соответствующих аналитических инструментов на основе ПО с открытым исходным кодом

Растущая зависимость приложений от компонентов с открытым исходным кодом обеспечила быстрый рост аналитического инструментария. К 2023 году инструменты анализа программных компонентов, которые к февралю 2020 года используются только отдельными организациями, будут применяться 45% фирм.

8. Компании создают собственные экосистемы развития

К 2023 году 60% китайских компаний создадут собственные программные экосистемы, а 50% получат доступ к ключевым повторно используемым компонентам кода из общедоступных библиотек.

9. Рост кодовых баз открытого доступа

К 2024 году доля программного обеспечения с открытым исходным кодом, полученных из соответствующих библиотек, увеличится вдвое, то есть до 25%, а остальные 75% будут настроены в соответствии с бизнес-моделями организаций или сценариями использования.

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

10. Признанная применимость DevOps

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

История появления

Термин «DevOps» был популяризован серией встреч «DevOps Days», прошедших в 2009 году в Бельгии . Одной из наиболее важных теоретических работ по DevOps считается книга Патрика Дюбуа, Джина Ким, Джеза Хамбл и Джона Уиллис «Руководство по DevOps. Как добиться гибкости, надежности и безопасности мирового уровня в технологических компаниях», впервые опубликованная на английском языке в 2016 году. К этому основателей нескольких софтверных компаний и независимых ИТ-консультантов подтолкнул накопленный опыт работы в крупных проектах . 

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

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

Концепция DevOps как пересечение разработки, эксплуатации и тестирования

Плюсы и минусы профессии

Плюсы

  1. DevOps-инженер – редкая и интересная профессия.
  2. Рынок труда испытывает потребность в квалифицированных DevOps-инженерах.
  3. Высокий уровень дохода, ведь в зарубежных компаниях DevOps-инженеры получают от 100 тыс. долларов в год.
  4. Технология DevOps быстро приобретает популярность.
  5. Профессия связана с управлением, планированием и аналитикой, что понравится людям с техническим складом мышления.
  6. Профессиональные навыки можно применять в любой сфере, связанной с разработкой, системным администрированием и IT-технологиями.

Минусы

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

Топология команды DevOps

Какая структура или топология команды DevOps подходит для организации, зависит от многих вопросов, например:

  • Каков набор выпускаемых и поддерживаемых продуктов – чем меньше продуктов, тем больше взаимосвязь Dev и Ops.
  • Степень, сила и эффективность технического руководства — имеет ли Dev и Ops общую цель.
  • Готова ли организация на трансформацию роли ИТ эксплуатации от «принеси-подай» во встроенной в бизнес процесс.
  • Есть ли в организации лидеры, которые готовы указывать на проблемные области и сопровождать изменения.
  • Чаще всего построение «команды мечты» потребует последовательной смены нескольких моделей.
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector