Traditional component-based software development also faces the same autonomy requirements, the provisioning of autonomy and reliability, in such circumstances, is left to the actual run-time environment e.g. by providing fail-over support or by deploying a solution on dedicated servers.
However, within service-orientation, the stakes are even higher as a service-oriented solution can be composed of services[2] that exist outside of the organizational boundary.
Run-time autonomy is achieved by providing dedicated processing resources to the service.
Similarly, by providing locally cached copies of data, where applicable, the service's dependency on a remote shared database can be reduced.
The provisioning of service autonomy may require additional infrastructure and needs to be applied on a per-need, prioritized basis.
The autonomy of services that encapsulate legacy resources may be hard to predict and increase.