Risk Analytics in a Microservices Architecture: Part 1
Learn about the features of microservices that are helping this architecture solve some of the oldest problems in software development.
Join the DZone community and get the full member experience.Join For Free
Microservices: A Ray of Hope?
As we speak, thousands of programmers across the globe are frantically fielding error messages, digging through millions of lines of code to prop up whatever development misstep threatens to annihilate their respective universe at any given time. They say, "Everything is breaking, always." This is not a catastrophe; this is the fragile reality of software development — every enterprise a house of cards mortared with sticky notes and energy drinks.
Every so often a new concept ventures into this charade, a prophet peddling the hope of a better future. As of late, this future comes to us in the form of a microservices architecture — the fulfillment of Service Oriented Architecture's (SOA) loosely coupled promise.
3 Benefits of Microservices
This volume, the first of a three-part series, will wade from the shallow end of microservices, three high-level benefits that have propelled its adoption, to lead us into the depths of implementation and security in future pieces. (You can read Part II here and Part III here.)
1. Microservices Are Agile
Let me paint this as a story. As a Chief Risk Officer, I have my team expose a scorecard as a service as part of the credit underwriting process. The Chief Operations Officer is in charge of that process. In the context of the exposure of the scorecard, we agree that if the underwriting process passes seven variables to the scorecard service, the service will return as a score.
As long as I don't violate the contract — give me seven data points, and I'll return a score — it doesn't matter to the underwriting process how the score is calculating. If the risk team discovers new data sources they can leverage, or if a new scoring model is created, they are free to implement; that change will not negatively impact the underwriting process. This level of agility means risk professionals can quickly adapt to a changing risk landscape.
2. Microservices Are Resilient
You have heard that, because a microservice is autonomous and loosely coupled, the failure of one service tends to happen in isolation of the rest of the system. In the example above, as long as the service that is exposed adheres to the original contract, the processes that rely on the service will not break. Both sides of the contract — give me seven variables and I will give you a score — are able to meet terms of the contract best. The underwriting process can retrieve the variables any way deemed best, and the scorecard service can calculate the score as deemed best. As long as the contract is honored, neither is impacted.
3. Microservices Are Open
At this point, most microservices are designed to leverage REST as the mechanism for data exchange. REST is showing itself to be secure, lightweight, and flexible. This open nature represents enormous potential in the creation of end-to-end processes to meet operational needs of the enterprise.
Published at DZone with permission of Mike LaFleur, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.