Microservices can provide great flexibility but also introduce challenges that must be addressed.
Microservice security
Service communication
Monolithic applications use in‑memory communication between processes, while microservices communicate over the network. The move to network communication raises issues of not only speed but also security.
Tight coupling
Microservices use many datastores rather than a few. This creates the opportunity for implicit service contracts between microservices and services that are tightly coupled.