1. What are Microservices?
Microservices is almost a philosophy, as it is used to develop applications not piece by piece but by building all the pieces simultaneously by different teams. It is a special implementation approach for service-oriented architectures (SOA) used to build flexible, independently deployable software systems. Shortening the time to market, but also allowing for the system to be constantly improved and in theory much more scalable.
Services in the microservice architecture are processes that mutually communicate over the network in order to accomplish their own distinctive goals. They need to be fine grained (stripped down to basic business functions) while the protocols have to be lightweight (for example: uploading photos or creating a user profile in a library). The microservice architecture enables the continuous deployment/delivery of complex applications, thus enabling organizations to improve their tech stack (on the go).
2. Why use microservices and not monolithic architecture?
A monolithic application describes a single-tiered software application. Its characteristic is the user interface and data access code are combined into a single program from a single platform. Although it was popular before, now there are a number of reasons why you should move to microservices.
The downsides of using Monolith Architecture are:
- It is limited in size and complexity.
- Monolith Applications are too large and complex to make changes fast with quality.
- The size of the application can slow down the start-up time.
- Developers have to redeploy the entire application on each update.
- Continuous deployment is difficult.
- Monolithic applications have difficulties adopting new tech. Changes in frameworks or languages will affect the entire application, thus making it very expensive.
All of the problems that monolithic applications face can be resolved with a transfer to microservices.
3. Who can help you get started?
The philosophy of microservices equals the Unix philosophy and is explained with one simple sentence: Do one thing and do it well. It is described as follows:
- Each microservice is elastic, volatile, composable, minimal, and complete.
- The services are small & fine-grained to perform a single function.
- The organization should embrace automation of testing and deployment, thus allowing for different development teams to work on independently deployable units of code.
Which is why you should consider carefully which IT partner will you embark this path with.
Is it redundant to say now? 2018 is definitely going to be a game changer for healthcare with more and more solutions
5. Where? … in Healthcare.
In order to accelerate healthcare modernization, microservices seem like the right way to go. Modernizing app development and speeding up the go to market time does seem like an appealing way to go.
For example: A patient portal can be managed with multiple services and then scaled independently across different instances, all sharing one central database. It would drastically cut the cost of building a portal, maintenance, as well as enable further scalability.
What is definite is that microservices will open innovative and proactive ways of facing the challenges of healthcare interoperability.
6. How to start using microservices?
- Identify potential microservices categories where you may find value.
- Define the breadth of responsibility for the identified microservices.
- Consider the type of information that will be transmitted.
- Associate business processes with the technical functionality defined.
- Link tech processes to the business processes.
- Research capabilities that are not offered today but are desired.
- Design the microservice starting with the API definition and elaborate how the service will be consumed.
- Develop a service mocking or simulation.
- Deploy the microservice.
- Manage container systems.
For more information such as tips and tricks, additional resources, tools you need to know about and TOP 7 reasons to start using Microservices download the white paper: