We have an application with several workflows in built. The application is available across time zones and ideally would be available 24/7.

My questions relate to best practice for how deployments of code should be handled in such environments:

How do we minimise interruptions to running workflows whilst deploying updates

Can a user continue to work in a running workflow instance whilst changes are applied

Should the running workflows be suspended whilst deployments occur (not ideal)

Will the user be able to start a new workflow based on code updates straight away

Any advice or resources regarding this would be much appreciated.

Re: Windows Workflow Foundation Deployment in a 24/7 scenario

Krishnan -- MSFT

Do deployments only as XAML based workflow models that do not include any binaries. These can be done at any time and running instances do not need to be suspended. Note that updated workflow models only apply to new instances and existing instances keep a copy of the model they started with in the instance data. To update a running instance you can dynamically update the instance taking into account instance property changes or you can create new workflow instances that load from and replace the existing instances.

First off, figure out whether you need existing instances to pick up a workflow model change. It¡¯s a business process question for your application and often the answer is no.