From the course: Microservices: Design Patterns

Vernacular of microservices

- Before we get too deep into the world of microservices design patterns, I want to level set on the vernacular that I will use when discussing microservices. These are not authoritative, these are just the terminology I learned and grew up on. The first set of terms that I want to define are service types. These will be critical to understanding how various patterns are implemented. A data service is that which connects to a data source within the system. This does not mean databases alone, because any valid source that can be served through a microservice applies. Data services are usually bound by domains defined within the global architecture. A business service or business process service is a higher level of abstraction that builds on data services. Often we need to define business domains that transcend individual data services in order to be correct from the business perspective. A translation service is any abstraction on a third-party operation that you want to encapsulate under your own facade. An edge service is responsible for serving data to users and external systems. These services can be used to provide a web view, a service that delivers the content, and maybe a service that delivers to mobile devices. When defining a platform, there are many different things people can think of. For the perspective of this course, I will consider the platform as the all encompassing arena for all service operations across multiple data centers. The platform can include the infrastructure, runtime, ancillary services, networking, storage, and the list goes on. If I have learned anything, especially as I have built more publicly visible systems, is that operational components should never be overlooked as part of a platform, and neither should diagnostic components. While these terms are not definitive, they are the terms I will use in this course when talking about microservices patterns.

Contents