- PVSM.RU - https://www.pvsm.ru -

Пользователи убедили GitLab не уходить из облака

Пользователи убедили GitLab не уходить из облака - 1

Источник изображения [1]

В конце 2016 компания Gitlab сообщила, что собирается уходить из облака [2] (мы делали перевод этой статьи [3] на Medium). Также был представлен весьма подробный план по покупке аппаратного обеспечения [4]. Пользователи с интересом следили за развитием событий, активно комментировали опубликованные статьи и в итоге убедили GitLab отказаться от этой идеи.

У этой истории есть дополнительная интрига. Компания GitLab, которая сама по сути является поставщиком облачных услуг (правда, предоставляя пользователям приложение, а не вычислительные ресурсы), вдруг решила, что ей как потребителю подобная схема работы больше не подходит, но все же в итоге передумала [5].

Специалисты GitLab всерьез задумались об уходе из облака в ноябре 2015 года, когда была создана задача #727 [6] по переходу на собственное железо.

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

Описывая финансовую сторону вопроса, компания сообщила, что хостинг [7] GitLab.com в Azure (не включая GitLab CI) на тот момент обходился примерно в $200k в месяц. При этом покупка собственного оборудования приравнивалась по стоимости к трем месяцам облачного хостинга [7]. Колокейшн своих серверов был оценен в $10k в месяц. То есть за два с половиной года была бы достигнута десятикратная экономия. Детальное описание расходов можно найти вот в этой общедоступной электронной таблице [8].

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

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

Что касается производительности, общий вывод оказался следующим: дополнительные расходы на виртуализацию не превышают 3%, поэтому уход из облака вряд ли решит проблемы нехватки пропускной способности системы ввода-вывода. К тому же нехватка пропускной способности в большей степени могла быть связана с недостаточной эффективностью NFS, CephFS и в особенности системы контроля версий git, которая не оптимизирована для параллельной работы большого количества пользователей. В итоге было решено отказаться от CephFS и разработать решение по оптимизации доступа к git-репозиториями, которое получило название Gitaly [9].

Что ж, в этом раунде борьбы «облако vs собственный компьютер» снова победили белые и пушистые. Процесс усложнения инфраструктуры и сужения областей специализации в сфере ИТ продолжается — быть мастером на все руки с каждым годом все сложнее.

Отдельно стоит отметить открытость компании GitLab, которая благодаря этой ценности [10] во время инцидента со случайным удалением базы данных [11] сумела превратить поражение в победу, а на этот раз, в вопросе ухода из облака, извлекла пользу из своей слабости — недостатка компетенции. Благодаря широкому общественному обсуждению компания, с одной стороны, смогла в избытке получить квалифицированную помощь сообщества и принять более правильное решение, а с другой — поделиться опытом с людьми, которые могут оказаться перед похожим выбором или просто заинтересуются этими вопросами. Всегда любопытно посмотреть, как важные задачи решаются в других организациях, как они мыслят и какие инструменты используют для облегчения своей работы.

Ссылки:

  1. Issue #727 в багтрекере GitLab.com, где была изначально озвучена проблема: https://gitlab.com/gitlab-com/infrastructure/issues/727 [6].
  2. GitLab Infrastructure Update, где обсуждаются вопросы производительности (есть ссылка на занятное видео рабочего созвона): https://about.gitlab.com/2016/09/26/infrastructure-update/ [12].
  3. Статья об уходе из облака: How We Knew It Was Time to Leave the Cloud [2] и ее перевод: Gitlab: как мы поняли, что пора уходить из облака [3].
  4. Статья о планируемом к покупке серверном оборудовании: Proposed server purchase for GitLab.com [4].
  5. Электронная табличка с расчетами по оборудованию и хостингу [7]: https://docs.google.com/spreadsheets/d/1XG9VXdDxNd8ipgPlEr7Nb7Eg22twXPuzgDwsOhtdYKQ/edit#gid=894825456 [8].
  6. Обсуждение предложения о покупке оборудования на Hacker news: https://news.ycombinator.com/item?id=13153031 [13].
  7. Пост в issue #727, объясняющий, почему компания передумала уходить из облака: https://gitlab.com/gitlab-com/infrastructure/issues/727#note_20044060 [14].
  8. Статья в блоге Гитлаб, где в вопросе перехода на свое железо ставится точка и приводятся показавшиеся наиболее полезными сотрудникам GitLab комментарии пользователей: https://about.gitlab.com/2017/03/02/why-we-are-not-leaving-the-cloud/ [5].

Автор: Centos-admin.ru

Источник [15]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/cloud/251714

Ссылки в тексте:

[1] Источник изображения: http://www.eurobs.co.uk/news/2015/04/23/should-you-move-to-the-cloud-or-replace-your-old-server/

[2] собирается уходить из облака: https://about.gitlab.com/2016/11/10/why-choose-bare-metal/

[3] перевод этой статьи: https://medium.com/southbridge/gitlab-how-we-knew-it-was-time-to-leave-the-cloud-cb96aae8121f#.r5d9hmm3u

[4] план по покупке аппаратного обеспечения: https://about.gitlab.com/2016/12/11/proposed-server-purchase-for-gitlab-com/

[5] передумала: https://about.gitlab.com/2017/03/02/why-we-are-not-leaving-the-cloud/

[6] #727: https://gitlab.com/gitlab-com/infrastructure/issues/727

[7] хостинг: https://www.reg.ru/?rlink=reflink-717

[8] электронной таблице: https://docs.google.com/spreadsheets/d/1XG9VXdDxNd8ipgPlEr7Nb7Eg22twXPuzgDwsOhtdYKQ/edit#gid=894825456

[9] Gitaly: https://gitlab.com/gitlab-org/gitaly

[10] ценности: https://about.gitlab.com/handbook/values/#Transparency

[11] инцидента со случайным удалением базы данных: https://habrahabr.ru/company/centosadmin/blog/321074/

[12] https://about.gitlab.com/2016/09/26/infrastructure-update/: https://about.gitlab.com/2016/09/26/infrastructure-update/

[13] https://news.ycombinator.com/item?id=13153031: https://news.ycombinator.com/item?id=13153031

[14] https://gitlab.com/gitlab-com/infrastructure/issues/727#note_20044060: https://gitlab.com/gitlab-com/infrastructure/issues/727#note_20044060

[15] Источник: https://habrahabr.ru/post/325572/