Я хочу разместить сервер SVN (или git, или mercurial, или что-то еще). У меня есть два варианта:
Установите его на небольшую коробку в шкафу в офисе, подключенную только к локальной сети.
Установите его на сервере в центре обработки данных в другом штате, который имеет общедоступный IP-адрес и в настоящее время размещает общедоступный веб-сайт.
Меня беспокоит вопрос №1: единственный способ, которым люди могут подключаться из-за пределов офиса, - это VPN, но сейчас это ЕДИНСТВЕННАЯ точка VPN в моем офисе ... так что это кажется тяжелым. Кроме того, если офис загорится или кто-то решит украсть коробку из туалета, что ж ... сервера нет. Значит, мне все равно придется где-то хранить резервные копии ...
Меня беспокоит №2, что наличие исходного кода на общедоступном сервере означает, что теоретически кто-то может получить доступ к серверу и украсть код. Тот факт, что на нем уже запущена общедоступная служба, беспокоит меня еще больше, поскольку может быть обнаружен эксплойт для этого программного обеспечения.
Как большинство компаний безопасно управляют своими серверами управления версиями и резервными копиями?
Как правило, у вас есть 3 безопасных варианта. Я поставлю перед этим заявление об отказе от ответственности, над которым я работаю ProjectLocker, поэтому я обычно предпочитаю размещать решения для большинства компаний.
Самостоятельный хостинг внутри компании
Преимущества:
Недостатки:
Используйте хостинг-провайдера
Преимущества:
Недостатки:
Настроить сервер в хостинговой компании
Преимущества:
Недостатки:
Исходя из этого, я бы порекомендовал либо хостинг внутри компании, либо обратиться к хостинг-провайдеру (вы можете увидеть их список в Google для «подрывного хостинга»). Кажется, что хостинг у внешнего провайдера будет худшим из обоих миров - вам придется иметь дело с безопасностью и администрированием без преимуществ инфраструктуры вашей компании. Хостинг-провайдеры делают ставку на безопасность данных клиентов, а некоторые из них будут выполнять соглашения о неразглашении, чтобы обеспечить дополнительную уверенность, поэтому разумно доверять им достаточно, чтобы позволить им размещать ваш код.
Я бы запустил сервер SVN локально и использовал бы внешнюю резервную копию (лента, rsync, онлайн, облачно и т. Д.). Если вас беспокоит конфиденциальность данных в удаленной службе резервного копирования, я бы зашифровал данные и хранил бы копию ключей шифрования в третьем месте (например, дома) или в пожарном сейфе в офисе.
Возможно, будет бесполезно знать, чем занимается большинство компаний, потому что они, вероятно, делают это множеством способов, и наиболее распространенный способ может не соответствовать вашей конкретной ситуации.
Если вы спрашиваете о «большинстве компаний», я, вероятно, отвечу на вопрос «Интранет VPN». И вдобавок ко всему у них, вероятно, есть какая-то надстройка надстройки (Raid, какой-то ленточный робот).
Если вам интересно, что вам делать, настройте сервер резервного копирования, просто купите NAS. Если вы боитесь кражи, положите этот сервер в какой-нибудь другой шкаф. Если вы боитесь пожара, не курите рядом с вашим офисом ... При работе с небольшим бюджетом в небольшой компании (если это ваш случай) придется идти на компромисс.
Обычно я держу второй сервер в центре обработки данных (очень маленький ящик) для этого, однако, если это не вариант, существует множество размещенных сервисов.