Essentially you put a service boundary on things that you want to be able to change separately (the same "single responsibility principle" you know from OO)- The size of a service should be so that its utility (i.e. the benefit you get from it) be more than the overhead it creates.
You can find a PDF I wrote, that explains this in more detail here