Release Management - выпуск для подгруппы пользователей - как это будет работать для общедоступного веб-сайта

Я где-то читал (извините, не совсем помню источник), что facebook выпускает выпуск по вторникам. Они выпускают новые функции сначала для своих внутренних сотрудников, затем для небольшой группы внешних пользователей, а затем для всего мира. Я верю e google также делает нечто подобное

. Я работаю в основном со стеком Microsoft (TFS для системы управления версиями, IIS, asp.net, сервер sql с огромными данными). Разумеется, публичные сайты, поэтому они должны работать 24x7x365. Хотя я могу представить себе выпуск моего api / dll только на одном из серверов (на веб-ферме) и его тестирование, как бы я это сделал, если есть БД (сохраненные подписи процессов, изменения схемы таблиц)? В настоящее время мы контролируем версии SP (новые будут mySPNameV2, тогда как старый будет mySPNameV1 - оба будут иметь другой набор параметров, отсюда и переименование), а новые API будут использовать SP-V2, тогда как старый API продолжит работу с SP -V1.

Я вижу некоторый запах дизайна, но есть ли лучший способ сделать это?

Редактировать: мы выпускаем новый код только на один сервер и тестируем его, что сложно, так это как бы вы абстрагировались (может быть абстрактным - это неправильное слово, но идею вы поняли) схема db изменяется из нескольких параллельных версий приложения

20
задан ram 15 November 2011 в 00:32
поделиться