How to become agile by using microservices in your business?
If you want to respond quickly to the opportunities bought by digital transformation, microservices should be at the heart of your business.
Businesses today are in a constant flux of change. You would need to align and then re-align your processes and systems; and this is best done with microservices. You will need a number of teams that will adhere to a standard approach of delivering services as APIs, rather than full-blown, monolithic software. These APIs or services will further work together via an event based publish/subscribe pattern.
Microservices require a 3-layered approach to API design
The lowest layer is the system API layer, which is where the basic units of business functionality are implemented. If the interface layer presents the data, it is the orchestration layer that applies logic to that data, transforming it and enriching it. Then you have the experience layer, which use both process and system APIs to deliver what you need from the application.
An API gateway handles the management, discovery, security, and other administrative functions. These functions are NOT a part of the API development process. And because it is a separate gateway that handles it, these functions are consistently done to all APIs.
Furthermore, microservices should be autonomous. It should be self-sufficient and does everything it is supposed to do without being dependent on other micro services. Different services will be able to adapt these microservices to different domains. This means that one microservice might be used for a number of projects, making it easier for your team to shorten the turnaround time, while also enabling your different teams to work together.
What’s more, it allows for continuous deployment. As such, APIs are more business oriented and technology and vendor agnostic. Lastly, microservices are loosely coupled. They may need to work together but they do not need each other to function.
As such, a microservice can be:
- Easily integrated into process services.
- Fault tolerant, or they are not affected when all other microservices break down.
- At its highest level, microservices are expected to do one of these two things: changing data or fetching data.
How to determine if your microservice strategy is a success?
When you rely on micro services, you would need to know if you are doing it right. Some of the things that indicate that you are, in fact, doing it right are:
- How you publish your micro services. This would make it easier for other teams to use or reuse microservices that you have.
- How easy it would be to adapt it to address auditing, quality of service, and security issues.
- How easy it would be to customize the microservices you need to make it work with line of business applications.
- How usable and scalable are your microservices.
Photo courtesy of Marco Verch (Flickr).