Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

All services should follow the bounded context principle to make them as independent as possible. This suggests a microservice architecture because the system will benefit from their scalability, extensibility. Such a microservice follows a pattern as well and they need connections to interact with each other. Additionally for productive workloads also security measures are to apply. But let's start simple too. We will have microservices with or without storage. The services need to follow the shared-nothing principle otherwise the dependencies increase to a not-maintenable state. Therefore if a service requires a storage, it defines its datamodel, protects it's data but offers an API to enable access to the data. The service who owns the data is the only one to write in the data store. There is the possibility to have multiple synchronized, read-only copies of a data store. For more on microservices read Martin Fowlers work on it.

µ-service templates

Such a template defines how to create such a microservice in the eco-system. The figures are using azure components to depict it. As this is a reactive system per nature, we recommend azure functions for compute and managed services for databases, API management. This allows the least possible costs for the price of some latency in the interaction.