A service is autonomous if it has full control over its internal logic. This requires that it has clearly defined and isolated (decoupled) functional and operational boundaries, that it is independent of other services and only communicates via contract-driven messages and policies.
A consumer should exercise no influence over the service other than to execute it and to provide input values. The service should have minimal dependency on its execution environment.
Autonomy benefits both the service consumer and provider:-
- Consumers are protected in that the service adheres strictly to agreed contracts.
- Providers have greater reassurance because service level agreements are adhered to and services offer deployment flexibility because of their environment independence
You may also like:
Service Characteristics - Contract
Service Characteristics - Abstract
Service Characteristics - Composable
Service Characteristics - Autonomous
Service Characteristics - Discoverable
Service Characteristics - Distributed
Service Characteristics - Reusable