Visitors have accessed this post 159 times.

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

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

Visitors have accessed this post 159 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)
Введено символов из возможных
Не отвечать

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

Методология и принципы DevOps
array(1) { [0]=> object(WP_Term)#11170 (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

«Когда ты это выяснишь, юный Билл, ты сможешь осознать Три Пути, – говорит он. – Первый Путь помогает нам понять, как наладить быстрый поток работы, соединяющий отдел разработки и IT-сопровождения, потому что именно он лежит между бизнесом и клиентами. Второй Путь показывает нам, как сократить и усилить цикл обратной связи, чтобы можно было сразу...

8
0
4 сентября 2020
Команда chmod — Linux
array(1) { [0]=> object(WP_Term)#11170 (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

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

У каждого объекта в вашей системе Linux есть режим выдачи прав, который описывает, какие действия пользователь может выполнять в системе. Существует три типа разрешений: на чтение (chmod r),...

0
0
27 мая 2020
NMap — часть 2
array(1) { [0]=> object(WP_Term)#11807 (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

Часть 2
Автор — Сергей Попов

1 часть статьи
Сканирование портов
Рассказать вам шутку про UDP?
Только она до вас не дойдет.
Изначально Nmap был эффективным средством сканирования портов, и, несмотря на развитие прочего функционала, он им и остается.

Большинство типов сканирования доступны только привилегированным пользователям, потому...

2
0
11 сентября 2020