In today’s global market, business software must be efficient, adaptable, and easy to use. In certain situations (i.e. complex, backend infrastructure, geographically distributed teams, and when uptime is critical) a Microservices architecture can be a viable approach. The advantages offered by Microservices include:
- Maintenance – decomposing a complex system into a series of smaller, isolated and more understandable pieces allows the individual services to be deployed or replaced in isolation at a rapid pace
- Resiliency – a platform of small inter-operating services should be more resilient in the face of failure
- Flexibility – appropriate technology stacks can be used for each Microservice to enable the best solution
Hazelcast can serve as the backbone of a Microservices architecture. It is lightweight, easy to use, and simple to deploy:
Transition to Microservices:
Microservices deployed client server with a shared Hazelcast cluster
Maximum service isolation:
Microservices deployed embedded with isolated Hazelcast clusters
Maximum service Isolation & Non-Java Clients:
Microservices deployed client server with isolated Hazelcast cluster per service
One of Hazelcast’s strengths for Microservices is its support for multiple network discovery mechanisms including:
- Fixed IP addresses
- Apache jclouds
In addition, Hazelcast has clients for several programing languages (currently Java, C#/.Net, C/C++, Python, Node.js and Scala) and provides out-of the-box support for a wide variety of serialization mechanisms and the ability to plug in your own.
Leveraging Hazelcast for your Microservices platform enables you to focus on the business logic and solving your client’s problems rather than on the infrastructure and development of your network communication. Hazelcast’s active development and user support make it a go-to platform for network distribution and in-memory data storage.