Service abstraction is a design principle in service-oriented architecture (SOA) that emphasizes hiding the internal complexities of a service from its consumers, allowing for easier integration and interaction. By abstracting the underlying implementation, services can be reused, modified, or replaced without impacting the consumer's understanding or interaction with the service.