

Components are scaled out and multiple instances of them are deployed to redundant resources.

Individual application components rely on external state information by implementing the Stateless Component pattern.

To enable high availability under such conditions, applications have to rely on redundant application component instances and the failure of these instances has to be detected and coped with automatically. If a Distributed Application is comprised of many application components it is dependent on the availability of all component instances. How can applications automatically detect failing application components and handle their replacement? Applications cope with failures automatically by monitoring and replacing application component instances if the provider-assured availability is insufficient.
