I suspect that I need to explain both these terms so here goes.
The word Microservices has become popular recently as short hand for a particular approach to online services. The basic idea is simple. It is that when new services are created that they are sliced up into discrete parts that can operate as standalone items but collectively provide a full services. Oddly there is no definition that I can find on Wikipedia for microservices or I would have linked to a better explanation.
One of the best examples of microservices would be something based around APIs (see my post from last week). So in the case of 7digital.com their overall service is selling music. On their homepage they have tabs for ‘New albums’ ‘the best of 2014’ etc. Each of these tabs of content is no doubt fed by APIs. If something broke one tab of content might be unavailable but the others would still work. So resilience and flexibility are built into the system.
As so often this sounds like a really obvious idea but how far is it widely used?
Well this definition is not in Wikipedia as I just made it up. I was trying to think of what is the opposite of Micro. Here are some possible examples.
If you live in England and do a tax self assessment the HMRC website will be used. Under the current set up the interface works to cater for every potential user journey. Therefore on each page there are numerous boxes to complete often not relevant to the particular user. It is time consuming and can be confusing. If the site went down no one would be able to complete any of their tax returns.
What would happen if this was split up into microservices? Well potentially the different user journeys could each be a microservice with their own little server. Each journey could be tested and launched separately as it was ready. If one server (or virtual machine) went down all the other services would still be available.
So it seems to me that there is some value to microservices and it might be an approach worth considering if you are looking to launch new services or tweak existing ones.