It’s estimated by IDC that microservices will account for 80% of application development on cloud platforms by the year 2021. That’s huge. As businesses proceed through their journey of digital transformation, one thing is becoming clear; software has emerged as a critical differentiator between sinking and swimming.
We all know radical change is vital but options for software are vast like the ocean, so knowing where to swim towards is mindboggling. Monolithic systems are dying, we’ll tell you that for free.
Microservices: Vital for Transformation
To be honest with you, microservices are not new. They have been around for quite some time, used first by tech giants such as Google, Amazon and Facebook before filtering their way into more mainstream businesses.
Microservices are essentially the opposite of monoliths, which are built and deployed as single units. It’s a distinctive approach to software that is composed of small, independently versioned and scalable services, each designed to fulfil specific purposes. Glued together with APIs, microservices address larger, more complex business goals using well-defined interface and standard protocols.
The usual worry, with broken down applications is that you end up with a piece-meal mess of silos that don’t work together. With microservices, everything is designed to work in harmony, whilst also allowing you to break free from the chains of the monolith. Microservices are autonomous and will give your business greater freedom to innovate in the shark infested waters that are the current business environment.
There are several key reasons why microservices are vital for transformation:
They are agile
Since microservices are independent of one another, they are very easy to develop, test and deploy. Unlike monoliths, the development process is quick. This makes microservices completely agile for transformation, they can grow and change with your business.
Microservices can be scaled horizontally, rather than vertically. Vertical scaling means just running the same software but on bigger machines. This can be limited by the capacity of each service. But horizontal scaling allows you to create more services in the same pool, meaning you’re not limited. Horizontal scaling can also be automated.
Due to the various dispersed functionalities across services, there is no single point of failure. Microservices perform better with very limited downtime and can scale seamlessly on demand.
Human resource effective
Unlike monolithic architectures, each individual part of an application can be built independently. For example, you might have 50 people working on the same area of your monolithic architecture, whereas with microservices you can have 5 teams of 5 developing different services for the app. In simple terms, you can get more done with less human resource.
Reduced cost to serve
As we’ve already mentioned, microservices are fast to set up and deploy. This means it’s possible to complete different iterations much quicker, resulting in less downtime. Plus, through microservices that automate processes for your business, you’ll be reducing the cost to serve greatly. And receive the added benefit of a more engaged and productive workforce.
“Microservices are important simply because they add unique value in a way of simplification of complexity in systems. By breaking apart your system or application into many smaller parts, you show ways of reducing duplication, increasing cohesion and lowering your coupling between parts, thus making your overall system parts easier to understand, more scalable, and easier to change.”
– Lucas Krause, author of Microservices: Patterns and Applications
There’s a Time and a Place
Of course, we’re not trying to say microservices are right for everything infrastructure-wise within your business. They aren’t going to cover all bases and it’s likely you’ll need to keep your monolith of a database to some extent.
What worked for Netflix, Airbnb or Twitter won’t necessarily work for your business. But this is the beauty of microservices, they can be crafted into whatever your business needs them to be.
It’s often argued that microservices are highly complex, which is strictly true, since they are organised around granular business capabilities. However set up right the positive results far outweigh the complexity. We’d rather solve a business problem than create more by not innovating (or being held back by a monolithic system), wouldn’t you?
Councils for example, we know some that get in excess of 7000 calls into their contact centres about bin collection each month. Wouldn’t it be so much simpler to just have a microservice app that gave their citizens that answer, either through a Conversational AI agent or an SMS reminder text? Housing Associations could completely automate maintenance requests through microservices, eliminating most of the need for human interaction. There’s a lot to be gained from introducing Alexa to the mix. Imagine being able to print, order coffee to the meeting room or book a taxi for your clients, building a microservice with Alexa can make this reality.
Sink or Swim? The Choice is yours
Microservices are good, but you need to carefully consider where you use them. The bottom line is they aren’t going to be suitable as a solution to for everything, but they will help businesses solve distinct problems.
Those that chose to shy away from microservices may find themselves sinking to the bottom of the deep, with their customers choosing to go somewhere else for their products and services. Somewhere where the customer service is faster, better and more accessible.