Paper examines how to apply key MSA architectural concepts to meet real-world demands for high performance, high availability, and security of microservices in the enterprise
Mountain View, CA – August 22, 2016 – Microservice architecture (MSA) is fast becoming a popular software development approach for empowering enterprises with greater agility. While the fundamental concepts of microservices have now been clearly defined, there are several factors software architects need to take into consideration when designing an MSA to meet real-world enterprise demands. A new white paper from WSO2 examines how to apply several key MSA architectural concepts to ensure the high performance, high availability, and security of microservices in the enterprise.
Microservices in Practice
The white paper, “Microservices in Practice – Key Architectural Concepts of an MSA,” was written by WSO2 Director of Integration Technologies Kasun Indrasiri. He begins by discussing common misconceptions about microservices, as well as how architects need to go beyond simply breaking up monolithic applications.
Kasun then examines four guiding principles for designing microservices. The first is following a single responsibility principle that limits and focuses its business scope. Second is finding boundaries and aligning them with the business capabilities. Third is ensuring agile/independent development and deployment of the service. Fourth is starting with broad service boundaries and then refactoring to smaller ones based on business requirements.
Next, Kasun explores key architectural concepts and requirements of an MSA such as:
- Messaging in microservices, including synchronous and asynchronous messaging, message formats, and service contracts
- Decentralized data management to support fully decoupled microservices
- Decentralized design-time and runtime governance and how they differ from a service-oriented architecture (SOA) approach
- Service registry and service discovery to find the location of a microservice during runtime
- Deployment of microservices through engines, such as Docker and Kubernetes
- Security provided via API-security standards, such as OAuth 2.0 and OpenID Connect
- Inter-service/process communication between microservices, using point-to-point connections, an API gateway, or a message broker
- Support for distributed transactions across multiple microservices
- Designing for common microservices failures, including circuit breaker, bulkhead and timeout failures
Kasun then examines the key aspects of introducing an MSA and how to integrate microservices, including orchestration at either the microservices layer or the API gateway layer, as well as employing the concept of micro-integration. He concludes by discussing the advantages of leveraging the lightweight WSO2 Microservices Framework for Java (WSO2 MSF4J), which is optimized for containers, to create an enterprise MSA.
The white paper can be downloaded at http://wso2.com/whitepapers/microservices-in-practice-key-architectural-concepts-of-an-msa/.
About the Author
Kasun Indrasiri is the director of integration technologies at WSO2. He has provided architectural leadership for WSO2 ESB and also currently leading the WSO2 next-generation integration platform efforts. He is an elected member of the Apache Software Foundation, a Project Management Committee member and committer for the Apache Synapse ESB project. His areas of expertise are enterprise integration, integration platform as a service (iPaaS) solutions, and designing highly efficient message processing systems. Kasun has provided technology consulting on numerous customer engagements by helping to successfully design and implement solutions for integrating web services, REST, SAP and various other technologies.
WSO2 empowers enterprises to build connected businesses and accelerate their pace of innovation with the industry’s only lean, fully integrated, and 100% open source enterprise middleware platform. Using WSO2’s platform, enterprises have all the functionality to build, integrate, manage, secure and analyze their APIs, applications, Web services, and microservices—on-premises, in the cloud, on mobile devices, and across the Internet of Things. Leading enterprise customers worldwide rely on WSO2’s platform and its robust performance and governance for their mission-critical applications. Today, these businesses represent nearly every sector: health, financial, retail, logistics, manufacturing, travel, technology, telecom and more. Visit http://wso2.com to learn more, or check out the WSO2 community on the WSO2 Blog, Twitter, LinkedIn and Facebook.
Trademarks and registered trademarks are the properties of their respective owners.