Services are not applications. If you remember one thing about services, that should be it. Instead, think of services as application functions -- both in their design and in how they are leveraged to form solutions.
Each service should have a simple, specific purpose independent of other services. Follow that principle, and services can be easily abstracted into composite applications: One service can leverage others as if they were functions local to the composite app.
Such autonomy is absolutely fundamental to service design. Services should execute without dependencies, if at all possible, so you can leverage them individually, no matter how course or fine-grained they may be.