Visitors have accessed this post 4105 times.

7 шагов при выборе инструментов DevOps

0
0
4105
26 февраля 2021 12:00
Автор: Rebrain Me
DevOps

Visitors have accessed this post 4105 times.

Перевод статьи — https://techbeacon.com/devops/7-steps-choosing-right-devops-tools

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

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

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

Лучшие практики DevOps

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

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

Шаг 1. Понимание стратегии совместной работы и общих инструментов для команд разработчиков, QA и автоматизации инфраструктуры

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

  • Процессы
  • Планирование коммуникации и сотрудничества
  • Инструменты непрерывной разработки
  • Инструменты непрерывной интеграции
  • Инструменты непрерывного тестирования
  • Инструменты непрерывного развертывания
  • Непрерывные операционные и CloudOps инструменты

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

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

Шаг 2. Инструменты для фиксирования каждого запроса

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

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

Шаг 3. Используйте метод управления проектами Kanban для автоматизации 

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

Инструменты Kanban помогают увидеть, какую работу вы сделали сегодня, или посмотреть все элементы во взаимосвязи друг с другом. Кроме того, Kanban ограничивает объем выполняемой работы, что помогает сбалансировать рабочий процесс. Еще инструменты Kanban могут улучшить поточность работы. Kanban работает по принципу, что когда один рабочий элемент завершен, следующий на очереди передается в разработку.

Шаг 4. Используйте инструменты для логирования метрик для ручных и автоматизированных процессов

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

Шаг 5. Внедрение средств автоматизации тестирования и инструментов для предоставления тестовых данных

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

Шаг 6. Выполните приемочные тесты для каждого инструмента развертывания

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

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

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

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

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

Инструменты, которые являются частью набора DevOps:

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

Основные категории инструментов DevOps

Основные категории инструментов включают в себя:

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

От редакции

Если вам интересно посещать бесплатные онлайн-мероприятия по DevOps, Kubernetes, Docker, GitlabCI и др. и задавать вопросы в режиме реального времени, подключайтесь к каналу DevOps by REBRAIN

*Анонсы мероприятий каждую неделю

Практикумы для специалистов по инфраструктуре и разработчиков — https://rebrainme.com.

Наш Youtube-канал — https://www.youtube.com/channel/UC6uIx64IFKMVmj12gKtSgBQ.

Агентство Fevlake, проектируем и поддерживаем IT-инфраструктуры с 2012 года — https://fevlake.com.

Комментарии (3)
Введено символов из возможных
Не отвечать

Вам также может понравится

Как получить список заданий Cron в Linux
array(1) { [0]=> object(WP_Term)#11554 (16) { ["term_id"]=> int(6) ["name"]=> string(5) "Linux" ["slug"]=> string(5) "linux" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(6) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(28) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(6) ["category_count"]=> int(28) ["category_description"]=> string(0) "" ["cat_name"]=> string(5) "Linux" ["category_nicename"]=> string(5) "linux" ["category_parent"]=> int(0) } } Linux

Перевод статьи - https://linoxide.com/linux-how-to/how-to-list-cron-jobs-in-linux/

Для того чтобы Linux автоматически выполнял задачи по расписанию, которые в противном случае вам пришлось бы выполнять самостоятельно, например, запуск скриптов и выполнение определенных команд, мы используем инструмент под названием cron. В системах Linux...

7
0
25 сентября 2020
Терминология в Docker
array(1) { [0]=> object(WP_Term)#976 (16) { ["term_id"]=> int(8) ["name"]=> string(6) "Docker" ["slug"]=> string(6) "docker" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(8) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(8) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(8) ["category_count"]=> int(8) ["category_description"]=> string(0) "" ["cat_name"]=> string(6) "Docker" ["category_nicename"]=> string(6) "docker" ["category_parent"]=> int(0) } } Docker

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

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

0
0
8 июля 2020
Кто такой DevOps-инженер, чем он занимается и как им стать
array(1) { [0]=> object(WP_Term)#11553 (16) { ["term_id"]=> int(7) ["name"]=> string(6) "DevOps" ["slug"]=> string(6) "devops" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(7) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(19) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(7) ["category_count"]=> int(19) ["category_description"]=> string(0) "" ["cat_name"]=> string(6) "DevOps" ["category_nicename"]=> string(6) "devops" ["category_parent"]=> int(0) } } DevOps

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

Что такое DevOps?
Методология DevOps...

0
0
27 мая 2020