Поиск по сайту:

LFCA: изучение сред развертывания программного обеспечения – часть 23


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

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

Что такое развертывание в разработке программного обеспечения

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

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

Среда разработки

Среда разработки — это этап, на котором разработчики развертывают код. В идеале это этап, на котором разработчики получают первый шанс проверить код на наличие ошибок и недостатков и отсеять их.

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

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

Промежуточная среда

Как только код считается достаточно стабильным и надежным, его переносят на промежуточную стадию для дополнительного тестирования. В промежуточной среде группа обеспечения качества (QA) обращается к промежуточному серверу и проводит тесты производительности приложения, чтобы убедиться, что оно работает должным образом.

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

Производственная среда

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

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

Рассмотрев упрощенную трехуровневую модель развертывания, давайте теперь рассмотрим некоторые преимущества наличия нескольких сред развертывания.

Преимущества использования нескольких сред развертывания

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

1. Минимальный риск поломки работающего приложения

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

Более крупные изменения можно удобно вносить в отдельных средах (разработки и подготовки), а не непосредственно в работающем приложении. При этом команда разработчиков может быть уверена, что изменения, внесенные в других средах тестирования, не повлияют на приложение.

2. Гибкость и оптимизированные рабочие процессы

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

3. Повышение безопасности данных

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

4. Разнообразие сред способствует творчеству

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

Заключение

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

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