Рейтинги и обзоры
digital-рынка
Рейтинг сервисов-репозиториев для хранения кода 2018 Рейтинг сервисов-репозиториев для хранения кода 2018

Рейтинг сервисов-репозиториев для хранения кода 2018

Сервисы для хостинга IT-проектов, хранение исходного кода

← 2016

22 мая 2018

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

# Компания Год Контроль версий Хранение данных Цена (в месяц), $
1
0
GitHub 2008 Git, SVN облако / собственный сервер 7–210
2
0
Bitbucket 2008 Git, Mercurial облако / собственный сервер 10–200
$ Directual 2016 Low-code платформа — фреймворк для быстрой разработки
3
0
GitLab 2011 Git облако / собственный сервер 4-99
4
0
Beanstalk 2007 Git, SVN облако 15–200

Среди других сервисов-репозиториев для хранения кода при обработке данных респондентов рассматривались: Amazon Cloud Drive, Codebase, Gitolite, Heroku, Microsoft Azure, RhodeCode, Subversion, Team Foundation Server.

О рейтинге

Рейтинг сервисов-репозиториев для хранения кода проводится Тэглайном в третий раз и сформирован на основе проводившегося с апреля 2016 по май 2018 года опроса 540+ технических руководителей digital-компаний. Респондентам предлагалось выбрать один или несколько вариантов ответа на вопрос «Какие сервисы-репозитории вы используете для хранения кода?».

Динамика приводится по сравнению с данными, полученными Тэглайном за период с августа 2014 по апрель 2016 года.

В рейтинге с достаточно большим отрывом (77%) продолжает лидировать GitHub — самый известный веб-сервис для хостинга проектов, основанный на системе контроля версий Git. Для проектов с открытым исходным кодом сервис бесплатен, а для частных проектов с приватными репозиториями существует несколько тарифных планов:
— персональный (создание приватных репозиториев для командного пользования, от $7 в месяц);
— для небольших организаций (появляется возможность управлять настройками доступа, от $25 в месяц);
— для крупных компаний (можно установить на собственный сервер или свое облако, от $2520 в год).
GitHub часто называют соцсетью для разработчиков. В нем есть все соответствующие элементы: фолловинг, комментирование, избранное. Активность на сервисе может также выступить и в роли резюме.

На втором месте Bitbucket, за него проголосовали 48% респондентов. Он позволяет создавать неограниченное количество приватных репозиториев, но имеет ограничение в 5 пользователей. Для команд большего размера существует платная версия — от $10. Так как Bitbucket — один из продуктов Atlassian, его можно интегрировать с другими решениями этой компании: JIRA, Hipchat, Bamboo.

GitLab (14%) функционалом похож на GitHub, но его можно бесплатно установить на собственный сервер и настроить под свои нужды. При этом он существует еще и в качестве SaaS — после регистрации можно бесплатно создавать приватные репозитории для совместной работы. Платные возможности — в версии для крупных компаний (от $48 за пользователя в год).

Наконец, на четвертом месте Beanstalk — 1% от общего количества респондентов. В отличие от конкурентов он предлагает бесплатную версию только на 2 недели, а выбор платных тарифов зависит от количества пользователей, репозиториев и выделенного объема хранилищ. Тарифы для платных компаний ($50–200) включают в себя еще и ряд дополнительных функций, таких, как приоритетная поддержка или развертывание на нескольких серверах одновременно.

Комментарии экспертов

Иван Немытченко
SkillGrid (ex: GitHub), Managing Director
Александр Макарчук
qb, Генеральный директор
Виктор Сычев
SimbirSoft, Заместитель директора по технологиям
Алексей Зубань
Wow, Технический директор

1. Стоит ли внедрять репозитории для хранения кода? Какие преимущества у этого подхода?

Александр Макарчук, qb
Без всяких разговоров, стоит. Преимущества этого подхода должны быть очевидны для любой компании, которая считает свой уровень чуть серьезнее студенчества, это как разница между ведением бухучета в 1C и Excel.

Виктор Сычев, SimbirSoft
Безусловно, стоит. Репозитории позволяют снизить риски потери кода за счет отслеживания конфликтов при интеграции кода разными разработчиками и возможности организовать резервное копирование. Кроме того, репозитории позволяют организовать удобным способом процесс code review на проектах.

Алексей Зубань, Wow
Это удобно и в некоторых случаях безопасней традиционных способов хранения информации, но это не просто смена одного файлового менеджера на другой. Это скорее о процессах разработки: они должны быть цельными. Замена одного кирпича может стать причиной кривизны всей стены. Но цена эксперимента не высока, а результаты обратимы.

2. Как можно наименее болезненно приучить новичков к системе?

Иван Немытченко, SkillGrid (ex: GitHub)
Собственным примером.

Александр Макарчук, qb
Не думаю, что нужно ставить себе такую цель — переучить кого-то безболезненно. Цель должна быть в том, чтобы полностью и безоговорочно перейти на этот способ работы. Понятно, что тем, кто привык все делать бегом и в формате «а давай сразу на бою поправим», поначалу будет трудно, потому как работа с репозиториями предполагает много дополнительных действий. Но со временем приобретается автоматизм, примерно как с КПП в автомобиле.

Виктор Сычев, SimbirSoft
Можно разработать вспомогательные материалы для новичков, в которых описаны на примерах преимущества использования систем контроля версий. Также в системе обучения новичков процесс code review следует строить с использованием системы контроля версий, т.е. новичку с первых дней показывать, что система контроля версий — это стандарт индустрии.

Алексей Зубань, Wow
Не должно остаться способов работать по старому регламенту. Ни для «совсем мелких» задач, ни для «крайне срочных» задач. Если не будет технической возможности работать с файлами напрямую, то придется эти правила выполнять. Конечно, сперва необходимо решить вопрос, как быть со старым наследием проектов, иначе будет постоянный соблазн сделать по-привычному.

3. Как обеспечивать безопасность хранения своего кода в чужих «облаках»? Что можно предпринять для усиления безопасности?

Иван Немытченко, SkillGrid (ex: GitHub)
Использовать двухфакторную авторизацию. Если вы параноик, установите open source решение для хостинга кода на свой сервер и берите ответственность за безопасность в свои руки!

Александр Макарчук, qb
Рекомендации стандартные — соблюдать политику безопасности паролей, хранить резервные копии и сами продукты в разных местах, в особо серьёзных случаях — применять шифрование канала от «облака» до конечных разработчиков с помощью VPN.

Виктор Сычев, SimbirSoft
В вопросе безопасности главное — выбрать проверенное «облако», использовать сложные пароли и ssl-подключение.

Алексей Зубань, Wow
Все рекомендации прописаны в правилах пользования сервисами или программами. Не ленитесь их выполнять — основной мой совет. До сих пор в практике случается встречаться с паролями «123456».

4. Какие преимущества от continuous integration и continuous delivery, в каком виде, и какие профиты?

Иван Немытченко, SkillGrid (ex: GitHub)
Если вы практикуете CI, то уменьшаете этим риск попадания дефектов в продакшн. С continuous delivery уменьшается время доставки готового функционала.

Александр Макарчук, qb
На мой взгляд, преимущества continuous integration можно по-настоящему ощутить только в крупных проектах, которые находятся в постоянном серьезном развитии. Для проекта, где вносится около десятка изменений в год из серии «поменять баннер», внедрение CI будет попросту неоправданно дорогим удовольствием. А вот для проектов, где постоянно происходят масштабные изменения, это так же необходимо, как контроль версий для всей разработки в агентстве. Если говорить конкретно о нашем опыте, то мы применяем CI на всех внутренних проектах компании.

Виктор Сычев, SimbirSoft
CI позволяет регулярно выполнять ряд действий над исходным кодом проекта: сборку проекта или его разных версий, тесты, статический анализ исходников, деплой билда на удаленный сервер. Регулярность может быть разной: по времени или по событиям, например, в случае появления изменений в исходниках.

Основные преимущества: регулярная проверка исходников и их состояния (достоверности), при этом в случае проблем с исходниками легко найти причину и виновника; автоматизация рутинных действий, получение подробных отчетов о состоянии исходников / проекта.

Алексей Зубань, Wow
Типичная ситуация — это рекламное digital-промо. Повышенная ответственность за репутационные и финансовые риски клиента, с одной стороны, и подготовка материалов и уточнение механики до дедлайна, с другой. А данные концепции позволяют тестировать текущее состояние проекта, когда на традиционный этап тестирования мы не имеем достаточно времени.

5. Используются ли репозитории только разработчиками, или другие участники команды тоже должны быть включены в процесс? Если да, то каким образом?

Иван Немытченко, SkillGrid (ex: GitHub)
Не должны, но могут, если в этом есть смысл с точки зрения бизнеса. Например, можно использовать систему отслеживания задач для всей организации. Будет совсем здорово, если научите пользоваться системой контроля версий своих копирайтеров.

Александр Макарчук, qb
В полной мере репозитории у нас используются только разработчиками и верстальщиками. Аналитики и дизайнеры агентства, к сожалению, пока используют для работы корпоративный Dropbox по нескольким причинам. Во-первых, репозиторий не дает никакого профита в сравнении версий и совмещении изменений, если речь идет об офисных, а тем более графических программах. Во-вторых, Dropbox намного проще для людей, напрямую не связанных с разработкой. Но конечно, хочется верить, что когда-нибудь полноценные системы контроля версий станут полезны и для них.

Виктор Сычев, SimbirSoft
Основные пользователи репозитория — это участники производственного процесса, такие как разработчики, дизайнеры, тестировщики, верстальщики, тимлиды, руководители проектов.

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

Формальным пользователем репозитория также могут быть различные автоматизированные системы, например, CI. Такие системы могут выполнять промежуточную сборку и анализ исходных кодов.

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

Алексей Зубань, Wow
Должны, ибо облегчается коммуникация, если все участники процесса понимают правила развития этого процесса. Интерфейс управления репозиторием может предоставить менеджерам много полезной информации о состоянии проекта как для управления командой / проектом, так и для более качественного взаимодействия с клиентом.

6. Хранение и совместное управление репозиториями кода все прочнее входит в жизнь и сильнее внедряется в процесс взаимодействия с управлением проектов и менеджментом. Будет ли продолжаться это объединение процессов и каким образом?

Иван Немытченко, SkillGrid (ex: GitHub)
Этим не обязательно будут заниматься все компании. Останутся продукты, предоставляющие только хостинг репозиториев. Также будут и системы «единого окна», с помощью которых можно будет построить процесс разработки, не выходя за рамки одного продукта.

Александр Макарчук, qb
Если говорить про CI, то там эти процессы уже железно объединены, в остальных случаях степень их объединения напрямую зависит от бюджетов проектов. Насколько мы видим, в серьезных агентствах продолжается тренд на повышение качества проектов, и сам инвентарь в этих технологиях процессов постоянно совершенствуется, делая их дешевле. Поэтому, думаю, в скором времени ответ на вопрос, стоит ли использовать continuous integration и continuous delivery, будет так же очевиден, как и в случае с вопросом о контроле версий.

Виктор Сычев, SimbirSoft
Уже сейчас эти процессы максимально объединены и неразрывны.

Алексей Зубань, Wow
Не вижу ничего принципиально нового в подобных сервисах. Да, в каких-то случаях, процесс разработки становится прозрачнее, и процесс управления проектом может идти точнее и гибче. Но совместное управление кодом учитывается в методологиях разработки очень давно.

Паспорт

418+ респондентов
36 средний штат компании
Количество решений, используемых в компании
От 1 до 4
2 в среднем
Что это
Сервисы для хранения кода, могут предоставлять следующие возможности:
— создание публичных и частных репозиториев;
— навигация по веткам и тегам;
— контроль за изменениями;
— система отслеживания ошибок;
— wiki;
— code review;
— создание форков и отправка пулл-реквестов;
— интеграция с таск-трекерами и/или наличие встроенного таск-трекера;
— поддержка SSL, HTTPS и SSH.

Подписаться на релизы и анонсы

Мне это нравится