Современный DevOps-инструментарий

Современный DevOps-инструментарий

Мы уже рассказывали о методологии Agile, которая позволяет организовать разработку программного обеспечения. Не менее (а может и более) распространенным подходом сегодня является еще один – DevOps. Он, в отличие от Agile, нацелен на организацию работы команд, создающих софт.

Что такое DevOps

Этому термину как минимум 11 лет. Акроним от слов development и operations впервые прозвучал еще в 2009 году, но часто утверждается, что как подход к разработке программного обеспечения DevOps существует гораздо дольше. Не станем докапываться до истоков. Сегодня DevOps превратился в методологию. Под этим термином одновременно понимаются и подходы к взаимодействию разных специалистов, и интеграция рабочих процессов, и даже отдельная специальность, представители которой формируют единую команду из разработчиков и специалистов поддержки.

DevOps иногда даже путают с Agile – еще одной популярной методологией. Правда, между ними есть одно важное различие. Если Agile нацелен на изменение и практики работы команд разработки, то DevOps больше погружен в процессы и организацию. Более того, популярность DevOps стала прямым следствием распространения agile-подходов, которое привело к увеличению количества версий выпускаемого ПО.

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

Каждое из подразделений отвечает за свой участок работы и переводит «стрелки» на незадачливых коллег. Точно такая же ситуация была красочно описана одним из персонажей Аркадия Райкина: «К пуговицам претензии есть?». Что делать для того, чтоб избежать такой неприятной ситуации? Вот в таких случаях как раз и необходим DevOps. С ним ответственность и за разработку, и за работоспособность ПО лежит на всех членах команды, и каждый из них готов подключиться, в случае необходимости, к решению возникшей проблемы.

Инструменты DevOps

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

Множество самых разных решений, от Slack и Jira до Asana и Zoom можно назвать DevOps-инструментами, и это будет вполне справедливо. Ведь для того, чтобы реализовать DevOps-подход, необходимы решения для разработки и сборки ПО, автоматизации тестирования, организации выпуска релизов, обеспечения работоспособности, и, наконец, средства для совместной работы внутри отдельных команд и взаимодействия разных команд разработки отдельных продуктов.

Сделать общий обзор всех инструментов DevOps просто невозможно. Каждый их класс требует отдельного рассмотрения. Мы в этот раз коснемся даже не одного класса, а отдельного решения, которое с недавних пор стало доступно клиентам «Системного софта». Речь пойдет об управлении репозиторием – хранилищем тех самых кирпичиков, из которых строятся программные решения.

Хостинг для исходного кода

Любому разработчику конечно же знакомо название GitHub – «социальная сеть для программистов», крупнейший ресурс для хостинга ИТ-проектов и их совместной разработки. Он был основан в 2008 году и стал чрезвычайно популярным и, наконец, крупнейшим в мире ресурсом для девелоперов. Крупнейшим, но не единственным. У GitHub есть альтернатива, о которой сегодня и пойдет речь.

Созвучие названий не должно создавать иллюзии родства. Общие у них только первые части названий, произошедшие от названия распределенной системы управления версиями ПО. GitLab – самостоятельный проект с продолжительной историей. Его создали в 2011 году украинские программисты Валерий Сизов и Дмитрий Запорожец. Сегодня это – компания с миллиардной капитализацией. 

Уже в первые годы своего существования проект разделился на две версии: Community Edition и Enterprise Edition, которые распространяются как свободное программное обеспечение с открытым исходным кодом под лицензией MIT. Отличие версий – в дополнительных возможностях, которые присутствуют в Enterprise Edition.

В числе клиентов GitLab – IBM, Goldman Sachs, Ticketmaster, Drupal, Nvidia, Siemens, Alibaba и NASA. На GitLab хостятся сотни проектов GNOME, и надо полагать, что в ближайшем будущем эта «доска почета» станет еще шире: сегодня проект стал главной альтернативой GitHub после того, как его купила в 2018 году Microsoft.

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

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

Доступ к репозиторию осуществляется на основе учетных записей и групп. По сравнению с GitHub подход более строг: если в «соцсети для программистов» разработчики сами определяют, какие именно права доступа предоставляются к отдельным репозиториям, то в GitLab политика доступа формируется на основе ролей участников команд. 

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

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

Доступные версии GitLab

Важное достоинство GitLab – возможность выбора модели использования энтерпрайз-версии сервиса. Он прост: в распоряжении пользователей есть обычная SaaS-версия, которая позволяет начать работу, просто зарегистрировав аккаунт, или специальная, позволяющая разместить решение на собственном сервере или на публичной облачной платформе.

GitLab – классическое публичное облако, в котором заказчик получает готовую систему, не занимаясь ее настройкой. Для тех, кто предпочитает хостить свои проекты на собственных серверах (физических или облачных) или на арендуемой у провайдера платформе, предназначена версия GitLab self-managed.

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



Самое читаемое
6607 | Полезные материалыКак перейти на российское инфраструктурное ПО 2537 | Акции и скидкиБесплатная онлайн-демонстрация решений компании Кибепротект 726 | Офис и коммуникацииЧем заменить Adobe Acrobat в России: сравнение возможностей с отечественным редактором ContentReader PDF для работы с корпоративными документами 549 | Акции и скидкиОбновление EnergyCS со скидкой 10% 354 | Акции и скидкиВнедрите ИИ в процессы разработки — специальные условия на Cursor Team 237 | Записи вебинаровСерия вебинаров «Российские инструменты для разработки ПО: архитектура, миграция и внедрение» 202 | Сетевая безопасностьIdeco NGFW Novum: корпоративный NGFW нового поколения 182 | Новости вендоровKaspersky NGFW получил обновление до версии 1.2 149 | Новости вендоров NGR Softlab выпустила обновление платформы PAM Infrascope версии 26.1 136 | Новости вендоров«Лаборатория Касперского» объявила о прекращении поддержки приложения Kaspersky Security для виртуализации Защита без агента 133 | Новости вендоровСистема UserGate SIEM сертифицирована ФСТЭК России по четвёртому уровню доверия 120 | Новости вендоровВышла новая версия платформы управления устройствами «Аврора Центр» 5.6 115 | Новости вендоровАСМОграф: обновление до версии 7.0 с расширением функций мобильного просмотра и инструментов моделирования 101 | Новости вендоровSafeMobile представил версию SM16.0 платформы управления корпоративными мобильными устройствами 98 | Новости Сиссофт«Системный софт» подписал партнерское соглашение с НТЦ «Веллинк» в области ИТ‑мониторинга и управления инфраструктурой 93 | Новости вендоровKaspersky Vulnerability Management вышел на российский рынок