During the last decades software development experienced a humongous exploit not only in terms of technologies and programming languages, but also for the development methodologies and architectural design techniques.

One of the modern trends in constant growing adoption is the microservice architecture. The goal of a microservice architecture is to help the development teams to deliver a software with the highest quality, as much safer as possible, and in shorter time.

The core of the microservice architecture is the presence of loosely coupled services that works together. A loosely coupled service is a software module (a piece of code) that performs its tasks independently and autonomously (as much as possible). This means that a change or a fault happening in a service does not affect the operation of the others. This contributes to generate a fault tolerant architecture, to easily isolate errors (and such solve them), providing a more solid and reliable system that is easier to maintain.

The MIRACLE software is an example of a microservice architecture, where several independent modules works independently from each other to guarantee the stability and reliability of the services provided. In MIRACLE we pushed the microservice architecture even forward, separating the operations performed by the local software, such as the measures of the cartilage status or the recording of the video from the arthroscopic camera, from the services provided by the cloud instance of the software. This extra decoupling of the software’s functionalities adds stability and reliability to the MIRACLE software, protecting the execution even from many events that are not related to the software processes, such as a connectivity interruption.

Microservice architecture is also beneficial for future updates. Having single purpose software modules that focus on doing well something specific allows to upgrade each software module when needed. Even in the case a new feature has to be added, all the changes will be localized just in a single software service. This reduces the risk of negatively affect other parts of the software and it makes the upgrading process simpler and quicker.

The software development community is adopting the microservice architecture to build better software products. The MIRACLE software has been thought since its design phase for being organized in loosely coupled microservices to guarantee the stability, reliability and fault tolerance that is expected by a software for an advanced medical device.

Feature image author – Designed by kjpargeter / Freepik