[IT-инфраструктура, DevOps, Облачные сервисы, Софт] Этапы внедрения CI/CD (перевод)
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Jason Dorfman, MIT CSAIL
Ключевым моментом при разработке и написании кода ПО является скорейший переход на набор эксплуатационных принципов и методов, более известный как CI/CD, который соединяет непрерывную интеграцию с непрерывной поставкой. С помощью CI/CD команды разработчиков могут чаще и надежнее выкатывать изменения кода, таким образом быстрее удовлетворяя потребности бизнеса и пользователей.
Непрерывная интеграция — философия написания кода и набор методов, разработанные для стимулирования команд разработки делать мелкие изменения кода и фиксировать их в репозиториях с версионированием как можно чаще. Из-за того, что большинство современных приложений требуют написания кода с использованием разных платформ и инструментов, командам нужен способ интеграции и проверки сделанных ими изменений.
Цель непрерывной интеграции — создание целостного и автоматизированного способа сборки, упаковки и тестирования приложений. Целостность в процессе интеграции дает возможность командам разработчиков вносить изменения в код чаще, что ведет к улучшению совместной работы и качества ПО. Непрерывная поставка, идущая прямо за непрерывной интеграцией, автоматизирует поставку приложений на выбранное инфраструктурное окружение. Большинство команд разработчиков в настоящее время работают на разных окружениях в дополнение к производственному, включая тестовые окружения, где непрерывная доставка автоматически проверяет загруженный код на различных окружениях.
Непрерывная интеграция и непрерывная доставка охватывают культуру, набор эксплуатационных методов, а также объединенные принципы, помогающих ускорить процесс разработки ПО. Эта реализация также известна как конвейер CI/CD и считается передовым методом для команд DevOps.
Отраслевые эксперты говорят, что все больше компаний внедряют у себя CI/CD, поскольку ищут способы улучшения проектирования, разработки и поставки ПО, используемого для клиентов, или внутренних целей.
Мы определенно видим рост использования CI/CD. Я лично все время получаю вопросы насчет непрерывной разработки, тестирования и выпуска ПО. Последний опрос Gartner «Agile in the Enterprise» показал, что все больше команд переходят на гибкую разработку, поскольку гибкие команды имеют значительно более высокий уровень реализации непрерывной интеграции, автоматической приемки тестирования и DevOps. Я думаю, что CI — самая главная точка отсчета для создания автоматических конвейеров, с нее команды обычно начинают работать. Более значимыми аспектами CD являются потребности в автоматическом тестировании и перепроектировании приложений, так что мелкие фрагменты функционала могут быть протестированы и выпущены по отдельности.
Sean Kenefick, вице-президент и аналитик в исследовательской компании Gartner
Практически все новые программные проекты, в которых участвует консалтинговая компания ServerCentral Turing Group, в той или иной степени используют CI/CD. Основными движущими силами при этом являются следующие вещи: отсутствие серверов в инфраструктуре требует интеграции CI/CD; требования безопасности нуждаются в ограничении доступа разработчиков к производственной инфраструктуре; гибкие методы требуют высокой скорости циклов развертывания и тестирования.
Josh Quint, старший директор по облачным решениям
CI/CD становится основной стратегией для многих компаний, связанных с разработкой.
Такие технические достижения, как непрерывная интеграция, комплексное автоматическое тестирование и непрерывная доставка, ранее освоенные модными стартапами, теперь успешно применяются и обычными предприятиями.
Hasan Yasar, технический директор в Software Engineering Institure при Carnegie Mellon University
Ниже перечислю несколько рекомендуемых методов реализации и обслуживания стратегии CI/CD.
Привлечение ключевых персон к CI/CD на ранних этапах
Желательно вовлечь в проект как можно раньше всех заинтересованных сотрудников. Основным преимуществом их участия будет быстрое и верное принятие решения о разработке проекта. Это должно происходить с участием всех заинтересованных сторон, чтобы основные решения могли приниматься с учетом мнения всех экспертов. Такая практика значительно снижает технический долг, накапливаемый на протяжении жизненного цикла проекта.
Hasan Yasar
К примеру, сотрудники поддержки выскажут свое мнение по поводу архитектурных решений, поэтому разработчики смогут написать инфраструктуру, одобренную поддержкой.
Выбор и внедрение правильной системы CI/CD
Системы CI/CD, доступные на рынке, могут дать ощутимую ценность для компаний, а их применение в компании, занимающейся разработкой и выпуском ПО, свидетельствует о здоровье компании. Если сборка, тестирование и поставка новых функций становится тривиальной задачей — способность компании реагировать на изменения значительно улучшается. Если нужно несколько недель или даже месяцев, чтобы сделать что-то для ваших клиентов — придет кто-то другой, кто сможет сделать это лучше.
Josh Komoroske, старший инженер DevOps в StackRox, поставщике технологий безопасности контейнеров
Однако производителям нужно провести достаточно исследований, чтобы вникнуть в ПО, с которым можно построить процессы CI/CD.
Попросите ответственного за техническое направление, жизненный цикл и хорошее состояние продукта, выделить немного времени на исследование экосистемы и доступных решений. Запросите обратную связь от разработчиков этого продукта. Ведь они и есть основной заказчик системы CI/CD, поскольку работают с ней ежедневно.
Josh Komoroske
Как только компания выбрала какую-либо систему, нужно избежать проблемы неиспользования.
Большинство таких решений предлагают бесплатный ознакомительный период, могут внедряться вместе с другими платформами, например GitHub. Настройте совместную работу и начинайте что-нибудь собирать. Автоматизируйте сборку, тесты, поставку. Когда люди увидят. что такие системы дают ценности их рабочим процессам, они сразу же начнут переносить свои задачи в них.
Josh Komoroske
Совместное использование автоматического тестирования и ручных подтверждений
Непрерывная поставка основана на четырех главных частях:
- Перепроектирование для разделения
- Автоматизация тестирования
- Создание автоматического конвейера для процесса
- Автоматизация создания и настройки окружений
Эти четыре компонента общие для всех, но есть много индивидуальных методов их реализации.
Sean Kenefick
Например, для автоматизации тестирования команда должна сосредоточиться на методиках «тесты прежде всего», на которых основано создание автоматизированных модульных и функциональных тестов, создание наборов автоматизированных регрессивных тестов, а также тестирования производительности и безопасности. Также нужно внедрить автоматизированные тесты для проверки правильной настройки окружений и платформ оркестровки.
Не существует самого важного набора для тестирования, они важны все. Наборы также должны совместно использоваться с другими методиками обеспечения качества, например, инструментами статического анализа, обеспечением анализа кода через PR, использованием конвейеров непрерывной интеграции.
Sean Kenefick
Удостоверьтесь, что есть ручные подтверждения на критических точках процесса поставки. Шаги с ручным подтверждением не будут давать непротестированному и неподтвержденному коду попасть в промышленное использование, либо в последующие тестовые окружения. Кроме того, у вас появляется возможность управления попадания кода в ключевые окружения.
Josh Quint
Отслеживание параметров обеспечения успешности работы CI/CD
CI/CD не работает в режиме «поставил и забыл», который актуален для большинства других технологий и процессов.
Узнайте продолжительность и уровень стабильности циклов сборка/тестирование/поставка. Определите области и возможности для оптимизации. Быстро лучше, чем медленно, но надежность и правильность важнее скорости. Процессы CI/CD и связанные с ними инструменты следует рассматривать как «усилители», позволяющие сократить время на разработку и тестирование, а также время вывода на рынок (TtM).
Josh Komoroske
Компании могут достичь ощутимых улучшений в разработке и проектировании при внедрении CI/CD, им следует измерять эти улучшения и делать сравнение производительности время от времени.
DevOps построен на обещании непрерывного обучения и улучшения, но этот момент упускает большинство команд на ранних этапах внедрения CI/CD. Необходимо анализировать данные, получаемые от инструментов CI/CD, чтобы определить ключевые показатели эффективности, цели производительности и аналитику, измеряемую на протяжении всего процесса DevOps.
Farid Roshan, глава Altimetrik, поставщика ПО для проектирования и совместной работы
Понимание движущих сил бизнеса для внедрения CI/CD, мысли о будущих потребностях
Важно понимать, почему действительно нужно внедрять CI/CD. Только в этом случае они смогут позволить своим командам разработчиков получить нужные навыки для достижения ключевых целей.
Если все сделано правильно, то CI/CD может улучшить продуктивность разработчиков, провести оптимизацию фреймворка для поставки, эксплуатационную эффективность и гибкую трансформацию. Первое поколение платформ CI/CD разработано в качестве сервиса оркестровки, соединяющего процессы жизненного цикла продукта для увеличения продуктивности. Однако такая платформа может и не дать высокого ROI, зависящего от времени, требуемого для написания кода. Современные возможности CI/CD добавили модульную архитектуру, с которой возможно реализовать подключение моделей на лету, а также настраиваемость конвейеров для поддержки различных фреймворков поставки.
Farid Roshan
Правильная реализация конвейера-как-кода дает возможность командам инженеров разработать расширенные функции, отвечающие текущим потребностям бизнеса. Но также важно предсказывать будущие потребности.
Развивайте возможности CI/CD для целей вашего бизнеса. Внедрение DevOps CI/CD в отрыве от основы текущих процессов приведет к фрагментарному внедрению инструмента, отсутствию стандартизации, а также минимальному ROI при обеспечении гибкости доставки. Эта ошибка будет лавинной для бизнеса.
Farid Roshan
Автоматизация везде, где это возможно
Компании должны автоматизировать все, что можно автоматизировать в качестве части CI/CD, а также четко обозначить те вещи, которые не будут автоматизированы. Автоматизация — один из столпов DevOps, наиболее ценная вещь, получаемая от реализации DevOps, делающая возможным CI/CD.
Hasan Yasar
Подход Agile-DevOps, стал возможным благодаря практике инфраструктуры-как-кода (IaC), т.е. управления частями инфраструктуры, сетями, виртуальными машинами, балансировщиками нагрузки с использованием тех же методов управления версиями, которыми пользуются команды DevOps для исходного кода, включая автоматизацию различных окружений.
Компания может брать процессы и методы, приводящие к IaC, включая управление настройками, установку окружений, и так далее. Цель — принимать все автоматизированные процедуры как код, хранимый в защищенной системе контроля версий.
От редакции: О внедрении CI/CD, приемах работы с Gitlab CI и лучших практиках построения пайплайна спикеры Слёрма говорят в практическом видеокурсе «CI/CD на примере Gitlab CI». До 3 декабря 2020 курс доступен по цене предзаказа. Присоединяйтесь!
===========
Источник:
habr.com
===========
===========
Автор оригинала: Bob Violino
===========Похожие новости:
- [Системное администрирование, IT-инфраструктура] Уже в четверг пройдёт Online Monitoring Day
- [IT-инфраструктура, Сетевые технологии, Asterisk, Сетевое оборудование] Офисные гарнитуры Snom A100M и A100D
- [IT-инфраструктура, IT-стандарты] Топ 10 перспективных оффшорных зон: экономия на налогах в эпоху деофшоризации
- [Информационная безопасность, Open source, Системное администрирование, IT-инфраструктура] Доступна версия Zabbix 5.2
- [Информационная безопасность, Системное администрирование, IT-инфраструктура, DevOps] Обеспечиваем безопасность в гибкой разработке и CI/CD (перевод)
- [IT-инфраструктура, Хранение данных, Сетевое оборудование] Система хранения данных Huawei Dorado 18000 V6 поставила мировой рекорд производительности: 21 млн IOPS
- [Системное администрирование, Анализ и проектирование систем, Управление разработкой, DevOps] Почему бизнес хочет DevOps и что нужно знать инженеру, чтобы говорить с ним на одном языке
- [Системное администрирование, Сетевые технологии, Облачные сервисы, Сетевое оборудование] Особенности применения управляемых и неуправляемых коммутаторов
- [Управление разработкой, Управление продуктом, Софт] В разработку пакета «МойОфис» вложено $100 млн. Большие надежды на рынок Африки
- [Системное администрирование, IT-инфраструктура, Управление разработкой, DevOps] «Цель SRE — надёжная система». Обзор основных метрик SRE
Теги для поиска: #_itinfrastruktura (IT-инфраструктура), #_devops, #_oblachnye_servisy (Облачные сервисы), #_soft (Софт), #_ci/cd, #_devops, #_software_development, #_blog_kompanii_southbridge (
Блог компании Southbridge
), #_itinfrastruktura (
IT-инфраструктура
), #_devops, #_oblachnye_servisy (
Облачные сервисы
), #_soft (
Софт
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 13:57
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Jason Dorfman, MIT CSAIL Ключевым моментом при разработке и написании кода ПО является скорейший переход на набор эксплуатационных принципов и методов, более известный как CI/CD, который соединяет непрерывную интеграцию с непрерывной поставкой. С помощью CI/CD команды разработчиков могут чаще и надежнее выкатывать изменения кода, таким образом быстрее удовлетворяя потребности бизнеса и пользователей. Непрерывная интеграция — философия написания кода и набор методов, разработанные для стимулирования команд разработки делать мелкие изменения кода и фиксировать их в репозиториях с версионированием как можно чаще. Из-за того, что большинство современных приложений требуют написания кода с использованием разных платформ и инструментов, командам нужен способ интеграции и проверки сделанных ими изменений. Цель непрерывной интеграции — создание целостного и автоматизированного способа сборки, упаковки и тестирования приложений. Целостность в процессе интеграции дает возможность командам разработчиков вносить изменения в код чаще, что ведет к улучшению совместной работы и качества ПО. Непрерывная поставка, идущая прямо за непрерывной интеграцией, автоматизирует поставку приложений на выбранное инфраструктурное окружение. Большинство команд разработчиков в настоящее время работают на разных окружениях в дополнение к производственному, включая тестовые окружения, где непрерывная доставка автоматически проверяет загруженный код на различных окружениях. Непрерывная интеграция и непрерывная доставка охватывают культуру, набор эксплуатационных методов, а также объединенные принципы, помогающих ускорить процесс разработки ПО. Эта реализация также известна как конвейер CI/CD и считается передовым методом для команд DevOps. Отраслевые эксперты говорят, что все больше компаний внедряют у себя CI/CD, поскольку ищут способы улучшения проектирования, разработки и поставки ПО, используемого для клиентов, или внутренних целей. Мы определенно видим рост использования CI/CD. Я лично все время получаю вопросы насчет непрерывной разработки, тестирования и выпуска ПО. Последний опрос Gartner «Agile in the Enterprise» показал, что все больше команд переходят на гибкую разработку, поскольку гибкие команды имеют значительно более высокий уровень реализации непрерывной интеграции, автоматической приемки тестирования и DevOps. Я думаю, что CI — самая главная точка отсчета для создания автоматических конвейеров, с нее команды обычно начинают работать. Более значимыми аспектами CD являются потребности в автоматическом тестировании и перепроектировании приложений, так что мелкие фрагменты функционала могут быть протестированы и выпущены по отдельности.
Sean Kenefick, вице-президент и аналитик в исследовательской компании Gartner Практически все новые программные проекты, в которых участвует консалтинговая компания ServerCentral Turing Group, в той или иной степени используют CI/CD. Основными движущими силами при этом являются следующие вещи: отсутствие серверов в инфраструктуре требует интеграции CI/CD; требования безопасности нуждаются в ограничении доступа разработчиков к производственной инфраструктуре; гибкие методы требуют высокой скорости циклов развертывания и тестирования. Josh Quint, старший директор по облачным решениям Такие технические достижения, как непрерывная интеграция, комплексное автоматическое тестирование и непрерывная доставка, ранее освоенные модными стартапами, теперь успешно применяются и обычными предприятиями.
Hasan Yasar, технический директор в Software Engineering Institure при Carnegie Mellon University Привлечение ключевых персон к CI/CD на ранних этапах Желательно вовлечь в проект как можно раньше всех заинтересованных сотрудников. Основным преимуществом их участия будет быстрое и верное принятие решения о разработке проекта. Это должно происходить с участием всех заинтересованных сторон, чтобы основные решения могли приниматься с учетом мнения всех экспертов. Такая практика значительно снижает технический долг, накапливаемый на протяжении жизненного цикла проекта.
Hasan Yasar Выбор и внедрение правильной системы CI/CD Системы CI/CD, доступные на рынке, могут дать ощутимую ценность для компаний, а их применение в компании, занимающейся разработкой и выпуском ПО, свидетельствует о здоровье компании. Если сборка, тестирование и поставка новых функций становится тривиальной задачей — способность компании реагировать на изменения значительно улучшается. Если нужно несколько недель или даже месяцев, чтобы сделать что-то для ваших клиентов — придет кто-то другой, кто сможет сделать это лучше.
Josh Komoroske, старший инженер DevOps в StackRox, поставщике технологий безопасности контейнеров Попросите ответственного за техническое направление, жизненный цикл и хорошее состояние продукта, выделить немного времени на исследование экосистемы и доступных решений. Запросите обратную связь от разработчиков этого продукта. Ведь они и есть основной заказчик системы CI/CD, поскольку работают с ней ежедневно.
Josh Komoroske Большинство таких решений предлагают бесплатный ознакомительный период, могут внедряться вместе с другими платформами, например GitHub. Настройте совместную работу и начинайте что-нибудь собирать. Автоматизируйте сборку, тесты, поставку. Когда люди увидят. что такие системы дают ценности их рабочим процессам, они сразу же начнут переносить свои задачи в них.
Josh Komoroske Совместное использование автоматического тестирования и ручных подтверждений Непрерывная поставка основана на четырех главных частях:
Не существует самого важного набора для тестирования, они важны все. Наборы также должны совместно использоваться с другими методиками обеспечения качества, например, инструментами статического анализа, обеспечением анализа кода через PR, использованием конвейеров непрерывной интеграции.
Sean Kenefick Удостоверьтесь, что есть ручные подтверждения на критических точках процесса поставки. Шаги с ручным подтверждением не будут давать непротестированному и неподтвержденному коду попасть в промышленное использование, либо в последующие тестовые окружения. Кроме того, у вас появляется возможность управления попадания кода в ключевые окружения. Josh Quint Отслеживание параметров обеспечения успешности работы CI/CD CI/CD не работает в режиме «поставил и забыл», который актуален для большинства других технологий и процессов. Узнайте продолжительность и уровень стабильности циклов сборка/тестирование/поставка. Определите области и возможности для оптимизации. Быстро лучше, чем медленно, но надежность и правильность важнее скорости. Процессы CI/CD и связанные с ними инструменты следует рассматривать как «усилители», позволяющие сократить время на разработку и тестирование, а также время вывода на рынок (TtM).
Josh Komoroske DevOps построен на обещании непрерывного обучения и улучшения, но этот момент упускает большинство команд на ранних этапах внедрения CI/CD. Необходимо анализировать данные, получаемые от инструментов CI/CD, чтобы определить ключевые показатели эффективности, цели производительности и аналитику, измеряемую на протяжении всего процесса DevOps.
Farid Roshan, глава Altimetrik, поставщика ПО для проектирования и совместной работы Понимание движущих сил бизнеса для внедрения CI/CD, мысли о будущих потребностях Важно понимать, почему действительно нужно внедрять CI/CD. Только в этом случае они смогут позволить своим командам разработчиков получить нужные навыки для достижения ключевых целей. Если все сделано правильно, то CI/CD может улучшить продуктивность разработчиков, провести оптимизацию фреймворка для поставки, эксплуатационную эффективность и гибкую трансформацию. Первое поколение платформ CI/CD разработано в качестве сервиса оркестровки, соединяющего процессы жизненного цикла продукта для увеличения продуктивности. Однако такая платформа может и не дать высокого ROI, зависящего от времени, требуемого для написания кода. Современные возможности CI/CD добавили модульную архитектуру, с которой возможно реализовать подключение моделей на лету, а также настраиваемость конвейеров для поддержки различных фреймворков поставки.
Farid Roshan Развивайте возможности CI/CD для целей вашего бизнеса. Внедрение DevOps CI/CD в отрыве от основы текущих процессов приведет к фрагментарному внедрению инструмента, отсутствию стандартизации, а также минимальному ROI при обеспечении гибкости доставки. Эта ошибка будет лавинной для бизнеса.
Farid Roshan Автоматизация везде, где это возможно Компании должны автоматизировать все, что можно автоматизировать в качестве части CI/CD, а также четко обозначить те вещи, которые не будут автоматизированы. Автоматизация — один из столпов DevOps, наиболее ценная вещь, получаемая от реализации DevOps, делающая возможным CI/CD.
Hasan Yasar Компания может брать процессы и методы, приводящие к IaC, включая управление настройками, установку окружений, и так далее. Цель — принимать все автоматизированные процедуры как код, хранимый в защищенной системе контроля версий.
=========== Источник: habr.com =========== =========== Автор оригинала: Bob Violino ===========Похожие новости:
Блог компании Southbridge ), #_itinfrastruktura ( IT-инфраструктура ), #_devops, #_oblachnye_servisy ( Облачные сервисы ), #_soft ( Софт ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 13:57
Часовой пояс: UTC + 5