At the Microxchg 2016 conference in Berlin, Rodrigue Schaefer did an interesting presentation how they introduced microservices at Zalando.
The main driver was an organisational change centred around autonomy of teams. As he stated
- We want Autonomous team to deliver amazing products efficiently at scale
- We want them to be independent, without having to look left and right
By changing the organisation, the tech landscape of applications tied into a monolith architecture didn’t fit anymore. Team autonomy results in a change of the landscape to Microservices.
It means also a shift from Control to Trust. He coined the term “Radical Agility”, a concept which is based on three principles glued together by trust.
- Autonomy, a team can define its own delivery process or tech stack. A team is cross-functional and can do everything from having an idea, developing it, testing and deploying it, bringing it live and operating it. It has full control over its delivery (DevOps)
- Purpose, means to give the team something so everyone goes in a similar direction (the company wants at that time). By having a clear purpose of each team, there is a strategic alignment.
- Mastery, means to give the engineers a chance to get better in an area where they want to get better.
He mentioned an interesting detail about a change in process, which is common in today’s large organisations. Using of shared libraries across different microservices were banned. All teams are forced to open source and play by the company established rules.
Finally, testing services across teams are done by a cross-functional business assurance unit.
Check out the full speech here
Also refer to the following article, which addresses the autonomy, small team approach: https://dev.cloudburo.net/2015/04/17/the-benefits-of-microservices.html