Мы создали программный пакет для конкретной нишевой индустрии. Этот пакет был довольно успешным, поскольку мы подписали несколько разных клиентов в отрасли, которые используют нас в качестве поставщика решений для хостинга, и многие другие стучат в наши двери. Если мы достигнем такого успеха, к которому мы стремимся, у нас будет буквально сотни клиентов, каждый со своим собственным веб-сайтом, размещенным на наших серверах.
Проблема заключается в том, что каждый клиент приходит со своими небольшими настройками и настройками, которые им необходимы для их локальных локальных условий и условий, часто (но не всегда) на основе законодательства штата или даже законодательства округа или бюрократии. Поэтому, хотя 90-95% системы одинаково для всех клиентов, нам придется создавать и поддерживать эти небольшие настройки.
Кроме того, система все еще очень много работает. Усовершенствования и исправления ошибок происходят постоянно в основной системе, которые необходимо применять для всех клиентов.
Мы пишем код в .NET(ASP, С#), MS-SQL 2005 - наш сервер БД, и мы используем SourceGear Vault как наша система управления версиями. Я работал с ветвлением в Vault раньше, и это здорово, если вам нужно только синхронизировать 2 или 3 ветки, но мы смотрим на сохранение сотен ветвей, что просто немыслимо.
Мой вопрос: Как вы рекомендуете нам все это делать?
Я ожидаю, что ответы будут касаться таких вещей, как архитектура объектов, архитектура веб-сервера, управление исходным кодом, команды разработчиков и т.д. У меня есть несколько собственных идей, но у меня нет реального опыта в управлении чем-то подобным, я действительно ценю слух от людей, которые раньше делали такие вещи.
Спасибо!