Web applications usually start out as a single codebase. In time, that little monolith grows. Before you know it, the application, team, and business have all grown to the point that the not-so-little monolith is a bottleneck. It’s time to start breaking it down into manageable, orthogonal services.
There are a lot of good reasons for moving toward a service-oriented architecture – less disruptive deployments, flexibility in choice of language and tooling, smaller codebase, better fault isolation – but I’m going to assume that you are already sold on the idea.
Switching over to a newly created service is a difficult problem.