The idea behind Microservices has been with the software industry and developers for about six to seven years now, and it´s definitely a current buzz term which is being heard more and more in the industry.
However, in global terms it´s a relatively simple concept. A different way of thinking and hence a different way of working. So, the more traditional monolithic software development approach, in which the software engineers work on a global development with all the sections directly linked in a cascade format and totally dependent on each other is substituted by the microservices concept. This breaks global software development into various having independent small software modules. These modules will be allocated according to the business objectives or business units of the company. However, although they are independent, software modules still communicate with each other over standard protocols.
What advantages do microservices bring to companies´s IT departments and IT systems?
Advantages of microservices are many. The most important one is the independence that the applications have from each other, so development and deployment of services have freedom. Other examples of microservices advantages are that different languages can be used, and also microservices compliment SD-WAN type networks and cloud networks in general, as component modules (Apps) can be spread across multiple servers or data centers.
There have been many success stories of companies moving from monolithic structures to microservices to improve the business service that they give their clients.
In the retail sector, many large companies that sell online cannot handle the vast amount users viewing their webpage from different types of devices, especially at peak moments in time, when the amount of webpage users and pageviews can increase substantially. So new systems built on microservices can be a perfect solution for an outdated monolithic system that cannot handle the previously mentioned scenarios.
Indeed, having to handle users on different types of devices, is something which is common to many sectors, as tablets and smartphones are being used by an increasing amount of users, who no longer just use desktops and laptops.
Multinational companies that give services over the web, in theory need to have large services to cope with huge amounts of users. However, many of these multinationals have realized that these large services do not necessarily have to be on large monolithic designs. By splitting one large design into many microservices, failure rates can be reduced drastically, and when a failure does occur, it only affects a small amount of users and is usually resolved very quickly.
Public Administrations are also perfect users of microservices, because many sections of the public administration have huge amounts of employees that need to use IT services and in the last years, governments are increasingly giving their citizens services over Internet. It is quite clear that public administration IT departments need to establish huge software systems on the one hand, but it is also true that they have many different sections because the objectives and types of users are many. This is a perfect scenario for using microservices.
As can be seen from this quick review of Microservices, it is quite clear where the initial advantages of micro services lie. However, as we dig deeper into the concept of microservices, we find that the advantages are many more. For example, although we have not analyzed in detail, microservices compliment SD-WAN. That´ s precisely why at Teldat we are making an important investment in microservices and part of our R&D team are currently working with microservices for SD-WAN.