For example, say we're on a team at Netflix responsible for handling recommendations. We could provide this to other teams a library they call: get_movie_recommendations(user, genre, ...)
However, that call will need to hit a datastore. Which datastore does it use ? Which servers is that datastore running on ? When we make changes to the schema and need to migrate, which groups do we need to involve ?
If it's a service, the recommendations team can own everything: the code, the data, and the servers. The other teams can be treated like customers of the service.
For example, say we're on a team at Netflix responsible for handling recommendations. We could provide this to other teams a library they call: get_movie_recommendations(user, genre, ...)
However, that call will need to hit a datastore. Which datastore does it use ? Which servers is that datastore running on ? When we make changes to the schema and need to migrate, which groups do we need to involve ?
If it's a service, the recommendations team can own everything: the code, the data, and the servers. The other teams can be treated like customers of the service.