Статья опубликована в рамках: LXXVII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 13 мая 2019 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
ПРИМЕНЕНИЕ ОБЛАЧНЫХ ТЕХНОЛОГИЙ В DEVOPS МЕТОДОЛОГИИ
Аннотация. В современном мире инженеры-программисты, тестировщики и системных администраторы ориентируются на активное взаимодействие и интеграцию. DevOps методология базируется на идее о тесной взаимозависимости разработки и эксплуатации программных продуктов и сервисов, с целью их более быстрого создания, обновления и развертывания. DevOps методология ускоряет весь жизненный цикл программного обеспечения от разработки до процессов обеспечения качества. Из-за все более сжатых жизненных циклов программного обеспечения, наличие правильной системы для осуществления мониторинга в режиме реального времени, использования облачных технологий и инструментов становится критически важным в работе по методологии DevOps.
Ключевые слова: DevOps, облачных технологии, методология, Amazon Web Services, Google Cloud.
DevOps - это процесс использования набора инструментов, которые облегчает взаимодействие между командами инженеров-программистов и другими операционными группами, например, тестировщики. Методология DevOps как сервиса агрегирует разрозненные инструменты разработки, которые охватывают различные аспекты общего процесса, и объединяет эти инструменты для совместной работы в одно целое.
В рамках DevOps методологии есть возможность перенести традиционную совместную работу инженеров- программистов в облако, где многие процессы можно автоматизировать с помощью виртуальных инструментов разработки, различных систем мониторинга.
Чем сложнее разрабатываемое программного обеспечение, тем больше корпоративных компонентов нужно интегрировать, и тем больше программных итераций и тестирования нужно, чтобы инженеры-программисты могли гарантировать их безупречную работу. DevOps методология позволяет перемещать некоторые из этих корпоративных ресурсов в облако. До появления DevOps методологии системные администраторы и инженеры по технологическим операциям поддерживали отдельные приложения в большом масштабе. Это требовало выполнение таких задач, как настройка баз данных и веб-серверов, настройка балансировки нагрузки, управление безопасностью, управление системами кэширования и проведение многих других работ. DevOps методология способствует качественному улучшению областей:
- сотрудничество;
- мониторинг;
- управление;
- отчетность.
Инженеры DevOps анализируют ключевые уезвимые точки, составляют дорожную карту и используют инструменты для автоматизации циклов развертывания и разработки программного обеспечения. DevOps методология помогает оптимально использовать внутренние ресурсы, одновременно используя преимущества среды совместной работы и быстрого перехода к облачной среде. Более того, DevOps методология помогает сократить время развертывания и предоставить больше возможностей при разработке новых приложений для бизнес-процессов. В настоящее время инстурменты, сервисы платформ Amazon Web Services и Google Cloud занимают лидирующие позиции на рынке.
Платформа Amazon Web Services (AWS) на данный момент является мощной глобальной сетью, которая обеспечивает услуги виртуального хостинг для мировых ИТ-компаний, DevOps технологии данной платформы изображены на рисунке 1.
Рисунок 1. DevOps технологии платформы AWS
Платформа Amazon Web Services (AWS) предоставляет основные сервисы: AWS CodeBuild, AWS Code PipeLine, AWS CodeDeploy.
AWS CodeBuild - это расширяемый, полностью управляемый сервис непрерывной интеграции и доставки (CI/CD). CodeBuild обеспечивает компиляцию и тестирование исходного кода, автоматическое масштабирование серверных сборок, предоставляет возможность одновременного развертывания и обработки двух и более разных версий сборок исходного кода.
AWS CodePipeline - это полностью управляемый сервис, который развертывает, компилирует и тестирует исходный код приложения каждый раз, когда происходит изменение в исходном коде, на основе заранее определенной модели процесса. Это позволяет быстро и надежно предоставлять новый функционал разрабатываемого программного обеспечения, обеспечить автоматизацию процесса сборки исходного кода и выявлять ошибки с помощью процесса тестирования. Кроме того, данный сервис позволяет использовать готовые плагины сторонних популярных сервисов, таких как GitHub, и интегрировать собственные плагины, модули на любом этапе процесса выпуска обновления приложения.
AWS CodeDeploy автоматизирует сборку и развертывание программного обеспечения с использованием различных вычислительных сервисов, таких как Amazon EC2, AWS Fargate, AWS Lambda и локальных серверов. AWS CodeDeploy позволяет быстро выпускать новый функционал, помогает избежать длительных временных задержек во время развертывания приложений и справляется со сложностью обновления приложений.
Платформа Google Cloud состоит из множества различных сервисов и решений, использующих ту же программную и аппаратную инфраструктуру, которую корпорация Google использует для своих собственных продуктов, таких как App Engine, Computer Engine, BigQuery изображены на рисунке 2.
Рисунок 2. Облачные продукты на основе Google Cloud платформы
Основное преимущество платформы Google Cloud заключаются в том, что это одна из крупнейших облачных платформ, предоставляющая доступ к многочисленным инструментам, которые помогут сосредоточиться инженерам-программистам на создании программного обеспечения. Нативные инструменты платформы Google Cloud включают в себя следующие модули:
Google Compute Engine позволяет инженерам запускать виртуальные машины по требованию. Это одна из основных служб для полной изоляции и автоматического масштабирования облачных серверов. Виртуальные машины Compute Engine загружаются быстро, имеют постоянное дисковое пространство и обеспечивают стабильную производительность. Его виртуальные серверы доступны во многих конфигурациях.
Google Cloud Deployment Manager позволяет инженерам указывать все ресурсы, необходимые для приложения, в декларативном формате, используя yaml или язык Python. Это означает, что вместо тщательного перечисления каждого шага, которые требуются для развертывания облачного сервера, инженеры DevOps могут загрузить конфигурацию в Deployment Manager, где присутствует описание, как должно выглядеть окончательное развертывание, и платформа Google Cloud будет использовать необходимые инструменты и процессы для облачного сервера с учетом загруженной конфигурации.
GCP Cloud Console предоставляет инженерам интерфейс для взаимодействия с каждой компонентой облачной инфраструктуры на облачном сервере. Веб-приложения, анализ данных, виртуальные машины, хранилище данных, базы данных, сети, услуги разработчиков. Консоль Google Cloud Console помогает развертывать, масштабировать и диагностировать производственные проблемы с помощью простого веб-интерфейса. Облачная консоль GCP для DevOps инженеров позволяет легко контролировать непрерывный цикл работы приложения на облачном сервере.
В настоящее время облачные вычисления стали более рентабельными, надежными и безопасными. Инженеры DevOps получили очень сложные, простые в интеграции, быстрые и высокотехнологичные решения для автоматизации разработки и тестирования программного обеспечения.
Список литературы:
- Инструментальные средства и инфраструктурные ресурсы для практиков DevOps – [Электронный ресурс]. – Режим доступа. – URL: https://aws.amazon.com/ru/devops/
- DevOps как сервис – [Электронный ресурс]. – Режим доступа. – URL: https://syndicode.com/2018/04/25/what-is-devops-as-a-service-and-its-pros-and-cons/
- Облачные технологии в DevOps – [Электронный ресурс]. – Режим доступа. – URL: https://syndicode.com/2018/07/19/aws-vs-google-cloud-platform-what-is-better-for-devops-in-the-cloud/
- Платформа Google Cloud – [Электронный ресурс]. – Режим доступа. – URL: https://cloud.google.com
- Методология DevOps и её влияние на облачные системы – [Электронный ресурс]. – Режим доступа. – URL: https://networkguru.ru/metodologiia-devops/
дипломов
Оставить комментарий