As of 2018 a big buzzword: An architectural style to structure an application as a collection of small and loosely coupled independent services.

Some of its principles:

  • Each microservice implements a single service capacity. Do one thing only and do it well
  • Consider and embrace failure
  • The service is elastic and resilient
  • There’s no Data sharing between microservices
  • Each microservice can be updated and deployed independently

To make the best out of microservices you must be able to:

  • Support quick provisioning
  • Monitor and report the state and functioning of the microservices in operation
  • Have a solid Devops Culture/Practice which means Continous Delivery