Определение стратегии обслуживания для приложений и компонентов
Обновлен: Ноябрь 2007
Когда созданы приложение или компонент, которые должны работать в режиме параллельного выполнения, необходимо решить, как их обновлять и обслуживать. Поскольку для параллельного выполнения будут выпущены и использованы новые версии среды выполнения, обязательно необходимо решить, как управлять приложением или компонентом в этой среде. Кроме того, следует продумать, как обслуживать приложение или компонент: обновлять его при помощи оперативных исправлений (то есть путем изменения кода) или разрешить несколько версий кода.
Традиционный подход обслуживания приложений и компонентов — перезаписывать имеющийся код с помощью обновлений и исправлений. Эта модель изменяется в случае параллельного выполнения. Кроме перезаписи существующего файла или требования удалить старую версию, параллельное выполнение предоставляет следующие возможности обслуживания:
Использование оперативного исправления приложения или компонента.
В этом варианте требуется определить, не нарушит ли оперативная замена работу приложения или компонента. Следует также понимать, что после внесения изменений путем оперативного исправления пользователь не сможет от них отказаться.
Запуск новой версии приложения или компонента параллельно со старой версией.
Эта возможность позволяет пользователям при необходимости отказаться от обновления и просто запустить приложение или компонент. Кроме того, у пользователей есть возможность вернуться к старой конфигурации, если новая версия работает не так, как ожидалось. Тем не менее, используя эту возможность, теоретически возможна ситуация выполнения нескольких экземпляров приложения с разными уровнями обновления на компьютере пользователя. Если в этой ситуации потребуется внести критически важное исправление, то его придется вносить во все версии приложения или компонента. Поскольку несколько версий определенного участка кода могут устанавливаться одновременно, зачастую неприемлемо обслуживать только самую последнюю версию продукта.
Важно соблюдать равновесие между потребностью в стабильности и необходимостью обновлять и исправлять существующее приложение. Было бы непрактично обслуживать каждую версию продукта. Также нецелесообразно ожидать, что каждое обновление приложения или компонента будет представлять собой оперативное исправление.
См. также
Основные понятия
Рекомендации по созданию приложений и компонентов для параллельного выполнения