Microservices are ubiquitous. However, most companies that implement microservices do not reap their full benefits - at best. At worst, it’s an epic failure.
There are reasons for microservices: independent deployment of business capabilities. However, the unspoken assumption is that you need to deploy all capabilities all the time. My experience has shown me that it’s plain wrong. Some capabilities need frequent deployment, while some are much more stable. In “the past”, we used Rule Engines to allow updating business rules without deployment. While it solved the problem, this approach had issues. Between introducing a Rule Engine and migrating your complete system to microservices, I believe that there’s a middle path, and that this path is Function-as-a-Service.
In this talk, I’ll detail every point I’ve made above, and show how one can use Serverless to pragmatically design a system that allows deploying as often as you need.