Как использовать GitLab в условиях санкций?
GitLab — известная платформа для совместной разработки ПО, которая сочетает в себе систему управления версиями (Git), баг-трекер, CI/CD и прочие фичи DevOpsSec.
Изначально Дмитрий Запорожец и Валерий Сизов создали эту систему для собственных нужд, потом выпустили под открытой лицензией — и в конце концов построили процветающий бизнес, который основан на разделении лицензий: «общественная» Community Edition и «корпоративная» Enterprise Edition с рядом дополнительных плюшек на хостинге GitLab или на своём хостинге.
История успеха компании увенчалась выходом на биржу NASDAQ в сентябре 2021 года. Согласно форме S-1, у GitLab около 30 млн зарегистрированных пользователей, примерно миллион из них платят за лицензии. Рыночная капитализация примерно $7,4 млрд.
После покупки GitHub корпорацией Microsoft некоторые разработчики стали внимательнее смотреть в сторону GitLab как альтернативного и независимого решения для хостинга кода и совместной разработки. Всё-таки размещать свои проекты на серверах Microsoft не всем приятно. На сайте GitLab опубликована документация по импорту проектов с GitHub, Bitbucket и других хостингов кода.
При переходе на GitLab необязательно выбирать фирменный SaaS. Всегда есть возможность развернуть полноценную версию Enterprise Edition на собственном хостинге, на своём сервере, не оплачивая никакой абоненткой платы. Как вариант, можно выбрать бесплатный тариф GitLab или один из официальных тарифных планов.
Недавно компания GitLab повысила стоимость за свои услуги до $19 за одного пользователя. В то же время свой GitLab Enterprise Edition хоть на сто пользователей, хоть на тысячу, обойдётся в цену одной виртуалки.
▍ Ценовая политика GitLab
«Корпоративная» лицензия Enterprise Edition отличается от общественной Community Edition главным образом двумя параметрами:
- техническая поддержка;
- дополнительные платные опции (точнее, там тоже есть бесплатный тариф GitLab Free, но Enterprise Edition позволяет переключиться на платную версию GitLab Premium в любой момент).
Посмотрим, чем отличается GitLab на своём хостинге (условно бесплатный) от платной подписки GitLab. Сравним конкретные цены с официального сайта. Первый план — абсолютно бесплатный фримиум GitLab, второй — образ Gitlab на VPS, третий — GitLab Premium ($19 в месяц).
Примечание. Для образа GitLab на своём VPS рекомендуется сервер со следующими минимальными характеристиками.CPU:
- 1 ядро — минимальная конфигурация, до 100 пользователей;
- 2 ядра — рекомендуемая конфигурация, до 500 пользователей;
- 4 ядра — до 2000 пользователей;
- 8 ядер — до 5000 пользователей.
RAM:
- 8 ГБ — рекомендуемая конфигурация, до 100 пользователей;
- 16 ГБ — до 2000 пользователей;
- 32 ГБ — до 4000 пользователей;
- 64 ГБ — до 8000 пользователей.
Цены в таблице рассчитаны в соответствии с этими минимальными техническими характеристиками, то есть одноядерный CPU для 5–50 пользователей (4–8 ГБ RAM), SSD 20 ГБ для 5 пользователей, SSD 40 ГБ для 50 пользователей и SSD 100 ГБ для 500 пользователей (здесь уже 16 ГБ RAM). Во всех случаях выбран дата-центр в Москве.
Хотя по умолчанию в маркетплейсе указан двухъядерный сервер с 4 ГБ RAM и SSD на 20 ГБ, но на этапе заказа эти характеристики можно изменить. Новые пользователи могут тестировать сервер в течение 3 дней бесплатно.
Нужно ещё добавить, что есть несколько проприетарных функций, которые доступны только на премиальном тарифе Ultimate и только на фирменном SaaS. Часть исходного кода GitLab остаётся в закрытой версии, то есть не выкладывается в опенсорс.
Вероятно, для некоторых компаний и разработчиков будет достаточно лимитов GitLab Free. Однако чтобы не ограничивать себя по лимитам и не рисковать блокировкой услуги со стороны провайдера, можно мигрировать на свой сервер Enterprise Edition. Если же нужна техподдержка и дополнительные функции — выбрать настоящую фирменную версию от GitLab, хотя это обойдётся несколько дороже.
▍ Проприетарные фичи GitLab
Список проприетарных функций в облачном сервисе GitLab может постоянно меняться и точно не известен. Теоретически, это небольшой список, а все эти функции со временем могут переходить в опенсорс, то есть в публичную версию Community Edition, которая выпускается под свободной лицензией MIT.
По функциональности Community Edition практически не отличается от версии Enterprise Edition. Но в фирменной подписке Premium/Ultimate компания подключает в версию EE некоторые платные функции, в том числе на проприетарном коде. Эти функции можно посмотреть в описании тарифов GitLab Premium и GitLab Ultimate или отфильтровать по выбранному тарифному плану.
В официальной документации сказано: «Версия GitLab Community Edition (CE) доступна свободно по лицензии MIT Expat. Версия GitLab Enterprise Edition (EE) включает дополнительные функции, скорее полезные для организаций с более чем 100 пользователями. Чтобы использовать EE и получать официальную поддержку, требуется подписка».
Поэтому исходный код Community Edition лежит в открытом доступе, а Enterprise Edition нужно активировать на сервере. После окончания срока действия лицензии некоторые функции Enterprise Edition будут заблокированы.
▍ Образ GitLab на VPS
Образ GitLab выбирается на этапе заказа сервера или сразу из маркетплейса:
Образ включает последнюю версию GitLab Enterprise Edition (EE), сейчас это 13.4.2 на операционной системе CentOS 8.
В дополнение к установленному программному обеспечению на образе GitLab активирован Firewall и разрешён только SSH (порт 22, LIMITED), HTTP (порт 80).
На официальном сайте GitLab также есть документация по установке и поддержке своего инстанса GitLab на разных системах:
- Ubuntu 18.04 LTS, 20.04 LTS, 22.04 LTS,
- Debian 10, 11,
- AlmaLinux 8,
- CentOS 7,
- OpenSUSE Leap 15.3, 15.4 и SUSE Linux Enterprise Server 12.2, 12.5,
- Amazon Linux 2,
- Raspberry Pi OS Bullseye и Buster (32-бит).
Поддерживаются также установки на Kubernetes при помощи конфигураций GitLab Helm и GitLab Operator. Можно установить инстанс GitLab не только на своём сервере, но и у любого крупного облачного провайдера, да вообще на любой системе из образа Docker.
Вся инфраструктура компании GitLab и её фирменный SaaS размещается на мощностях Google Cloud. Кстати, это интересный пример компании с капитализацией в миллиарды долларов, у которой даже нет центрального офиса. Все её сотрудники работают удалённо, а все серверы находятся в облаке. Вот что такое корпорация в эпоху киберпанка.
▍ Выводы
Исходя из таблицы выше, можно сделать вывод, что до пяти пользователей с минимальными потребностями выгоднее всего бесплатный тариф GitLab Free. Но только до тех пор, пока вы не упираетесь в лимиты по объёму хостинга, трафику и операциям CI/CD. В этом случае самый простой вариант — развернуть недорогой образ на VPS и спокойно использовать его практически без ограничений на количество пользователей (лимит существует, но он исключительно технический — сколько выдержит железо), трафик и размер репозиториев (опять же, ограничен чисто технически в рамках подключённого хранилища).
В принципе можно развернуть образ Gitlab даже на сервере дома или в офисе — это будет вообще бесплатно, не считая стоимости сервера, обслуживания, интернет-трафика и электричества. Но по сравнению с GitLab Premium, а тем более Ultimate, даже коммерческий VPS можно считать практически даровым. В расчёте на 500 пользователей разница в расходах получается более чем в сто раз ($84 против $9500 в месяц).
Хотя на своём сервере не будет хватать проприетарных функций GitLab и отсутствует техподдержка, но в любом случае 11 марта 2022 года GitLab приостановил продажу корпоративных и платных сервисов в России и Беларуси для новых клиентов, при этом отказался блокировать старых клиентов, а также пользователей бесплатных тарифов.
Несмотря на довольно гуманную политику GitLab к пользователям из России, свой хостинг — всё-таки это более надёжный и стабильный вариант, особенно в условиях санкций. Не говоря уже об экономии финансовых ресурсов.
Играй в наш скролл-шутер прямо в Telegram и получай призы!