How microservices made up of small applications can be more effective than big behemoth IT systems.
Most people think elephants or crocs or wolves or whales are the best predators on the planet.
But it is, in fact, ants.
Kings of the wild frontier
Ants are probably the most successful living organism in the world. Ever. (Apart from certain highly evolved bacteria.)
And, unlike many other species, they have never faced extinction.
They are the perfect community. The perfect superorganism.
This is because:
- they work in small groups (division of labour)
- each group has a clear purpose
- each group is in constant communication with the rest of the groups in the colony
- each group can be easily replaced
- each group adapts to changing needs
- each group has the ability to solve complex problems
Microservices and sharing data
Working on the Digital Justice project, sharing data across the justice system, we’ve realised that microservices work like colonies of ants.
Using microservices, we create one efficient community to share data:
- they can work in small groups
- each microservice can have a defined purpose
- each can be inter-connected with the others in the system
- each can be easily updated or replaced
- each can be easily adapted
- each can solve complex problems
Endangered elephants
Big systems are highly susceptible to a changing environment. They're big and slow and unwieldy.
Some big systems that work in a slow-moving world just don’t function when faced with the fast-paced, rapidly changing, global times we live in.
They will struggle to survive unless they start to follow more successful models, like microservices.
Safer, faster, cheaper data transfer
So by breaking up the existing system into microservices, we can create a data transfer process that offers:
- faster access to data/information
- fewer workarounds due to simpler updates
- better clarity of ownership
- less duplication
- less admin work
- more provider choice
- reduced impact of data breach
An inter-connected ‘ant community’ with 130 million years of evolution behind it isn't a bad place to start.
Don't miss out on future blog posts: sign up for email alerts.
3 comments
Comment by David Durant posted on
Great blog post that I completely agree with. However several, UK government departments are each building their own separate microservices environments. How can we break down these silos to think of one government-level microservices ecosystem?
Comment by Helen Mott posted on
We're exploring using data principles for the justice system. A similar approach could be explored across government to ensure new microservices that are built consider the wider system.
Maybe:
1. Microservices should meet the service standard (or a slimmed down version of it)
2. Make open data APIs for public data
3. Make APIs that can be used by other government departments if the data is private but needed by / useful to other government departments
4. Make data free to access - ie don't charge government departments for accessing the data you have that they need
5. Be clear about how to interpret the data you make available and about the risks associated with it
6. Microservices should be product-managed & promoted like any other top-level product. If people don't know it exists, it may as well not exist! Although a register of services (links to github etc) could be a useful tool to help with this.
This work from the ODI ties a lot of the thinking together:
http://theodi.org/what-is-data-infrastructure
Comment by Carl May posted on
Love this model. Makes everything clear. Not just that, it's what IT researchers working around the NHS have been saying for years. They've pointed to successful implementation processes in Denmark and the Netherlands as examples of what can go right, and to the grim realities of the behemoth design/development/implementation of failed NHS information leviathans in the 1990s/2000s. Not just that, it's easy to extend, from groups, to products, to cost centres within the companies and public sector agencies that serve the market place.
they work in small groups/products/cost centres (division of labour)
each group/product/cost centre has a clear purpose/route to market/market value
each group/product/cost centre is in constant communication with the rest of the groups /products/cost centres in the colony/marketplace/
each group/product/cost centre can be easily replaced/demerged/outsourced
each group/product/cost centre adapts to changing needs/market conditions/business strategies
each group/product/cost centre has the ability to solve complex problems/create value/