To understand this blog, let us first define microservices:
Microservices is a specialization of an implementation approach for service-oriented architectures (SOA) used to build flexible, independently deployable software systems. Services in a microservice architecture (MSA) are processes that communicate with each other over a network in order to fulfill a goal. These services use technology-agnostic protocols. The microservices approach is a first realisation of SOA that followed the introduction of DevOps and is becoming more popular for building continuously deployed systems.
If you are more of a visual learner we also have an infographic on the subject.
A survey on the usage of microservices
LeanIX conducted a survey among more than 100 high-level IT professionals on the usage of microservices at big European and American companies because we were curious on how (or if) this technology was being used and the hurdles they had to battle. While we do know that microservices are essential nowadays, we did not know why all companies had not adopted them yet... so we decided to figure it out by asking 4 primary questions;
- On average, how often does your company deploy new software releases? We thought that microservices would probably have a close correlation with this subject and decided to figure it out.
- Does your company use microservices? Yes, we cannot stop hearing about how everyone is modern and how they are using the latest technologies, but is this true? Do we really adopt all (good) new technology that comes out? Or do we wait around for a few years to see what happens?
- Do you plan to intensify the usage of microservices? If yes, in what timeframe? We all know that even if we get started with something, it does not mean that we see it through. With this question we want to see if people are motivated to increase the usage of microservices or not.
- What are the major hurdles for adopting microservices? One of the most important questions, and the answer was no surprise.
Yes, microservices may be the hot topic of the moment but less companies than we thought are adopting a fully miscroservices style, one of the main problems being having to convert all the old monoliths to microservices.
While 71% of surveyed companies want to move to microservices, only 9% have really achieved it. One of the preferred methods of choice is keeping old monoliths and only creating new components as microservices.
Out of the 20% responding microservices are currently no option, the majority still intends to adopt them in the future.
A pretty self explainatory graphic on the outside but... did you know that the people who use microservices deploy much faster (more than 1/3 deploys multiple times per week) than companies who do not use them? Interesting right?
We can see a huge speed difference between those who use and do not use microservices.
We all know the saying "Don't leave for tomorrow what you can do today", but things are not usually that easy (nor do they only depend on you. We know that if you were in charge, we would all live in a futuristic world these days).
One of my favorite answers for this question was: "Mining companies are generally not early adopters or followers. They kind of just do what they always did, until it hurts the bottom line. Then they jump on the latest fad and stick with that until the next crises." And we all know that this does not just apply to mining companies.
Even though, a total 71% of the companies will intensify their usage of microservices in 2017. This means we will see a huge spike in the area and which will probably bring a lot of very interesting innovations in the industry the first and second quarter this year. If we combine what we saw earlier (that companies using microservices deploy new software much faster than ones using monolith systems) we can expect the quantity of new software to grow exponentially this year.
Yes, you knew it (and we did also). Legacy processes and lack of information and lack of qualified people are the main hurdles that companies face when adopting microservices.
Some of the other problems mentioned were a too complex existing landscape which will be difficult to convert to microservices and politics, mainly bureaucracy or a lack of unanimous decisions.