Create separate backend services to be consumed by specific frontend applications or interfaces. This pattern is useful when you want to avoid customizing a single backend for multiple interfaces.
When to use this pattern?
Significant development overhead in a general purpose backend service
Customizations to a general backend to accommodate multiple frontends.
Optimize backend for a specific client interfaces.
Another language is better for the backend of a different user interface.
Alexa Presentation Language
When NOT to use this pattern?
Interfaces make the same request to the backend
Only one interface is used to interact with the backend
Considerations
Number of backend services
Implement a backend for each interface, or a single backend
Code duplication
Client specific logic only. other business logics should be managed somewhere else
Development teams responsibilities
Implementation Effort