Microservices Architecture – Executive Summary
There is much debate about what constitutes a Microservice and a Microservices Architecture (MSA), and whether they represent an evolution or a revolution.
This White Paper presents the viewpoint of The Open Group SOA Work Group, developed through diligent research of the current viewpoints in the industry Work Group members. It provides a clear and specific definition of Microservices and MSA, distills their core principles and key characteristics, and provides a comparison of MSA with Service-Oriented Architecture (SOA).
There is growing impetus in the industry for agility, cost optimization, and shifts between Capital Expenses (CapEx) and Operating Expenses (OpeEx). There is the advent of cloud computing and the Internet of Things (IoT). Digital enterprise transformation is underway. MSA is proving to be the enabler for all of these, provided it is done right. Also, MSA is conducive to the DevOps paradigm and evolving cloud-based architecture. The discussion and case studies in this White Paper highlight the recommended approach and the best practices in undertaking the transformation journey to MSA.
But MSA is by no means a silver bullet. This White Paper presents both the ideal and the pragmatic approach to MSA: developing an understanding of where MSA is the right fit, and recommending a role for MSA in the Enterprise Architecture portfolio.
Like most distributed architectures, MSA is also prone to the impacts of CAP theorem (refer to https://en.wikipedia.org/wiki/CAP_theorem) and data consistency complexities. Close attention to architecture and design should be paid to ensure appropriate data storage and management such that the right consistency (strong or eventual) is achieved.
The paper delves into the merits of the “designed to fail” paradigm. Microservices can fail during runtime for many reasons. However, planning for dealing with this failure and providing resilience is a key part of an MSA.
The MSA style of architecture enables The Open Group vision of Boundaryless Information Flow™. The idea that single units of business functionality are available as services across the organization makes it easier to invoke such functionality within and between enterprises. It means that a part of an enterprise can find and use the information it needs as provided by other parts of the enterprise or other enterprises.