I often talk about Granularity as one of the main benefits of Serverless. Yet, it is not something widely spoken about or appreciated beyond the technical borders of serverless.
In this five-part series, I bring awareness to this topic, especially to the new serverless adopters, and provide clarity on how it influences the many parts of the serverless ecosystem and brings value to the organization.
- Part 1: Individuality
- Part 2: Granular Mindset
- Part 3: Breaking the Microservices
- Part 4: Fine-Grained Teams
- Part 5: Event-Driven Architecture
The Influence Of Microservices
In 2016, when I heard of platform modernization talks of migrating from a legacy monolith application, I started to explore deep into microservices, as it was the trend and direction everyone was moving in. With no serverless thoughts infiltrated in yet, I prepared a lengthy sixty-five slides presentation to convey the idea of visualizing the legacy platform as a collection of microservices. Textbook-style traditional microservices!
Traditional microservices, as I refer to in this article, are those developed as independent but large applications packaged to run inside a container.
Microservices brought a breath of fresh air to those who were muscling with legacy monoliths. Breaking a monolith and carving out microservices was challenging but enjoyable. As you become proficient, you start to appreciate the individuality of a microservice — the domain boundary, service contract, data ownership, dedicated pipeline, etc.
One size does not fit all
The following picture reminds us of the constraints we had in the past and the much-needed change that microservices has brought us. These days, for those who develop microservices, the individuality and the independence of services are the first principles.
We have completely gotten over the one-size-fits-all constraint of the past!