Essentials of Microservices Architecture
Paradigms, Applications, and Techniques
Microservices architecture (MSA) is increasingly popular with software architects and engineers as it accelerates software solution design, development, and deployment in a risk-free manner. Placing a software system into a production environment is elegantly simplified and sped up with the use of MSA development platforms, runtime environments, acceleration engines, design patterns, integrated frameworks, and related tools. The MSA ecosystem is expanding with third-party products that automate as many tasks as possible. MSA is being positioned as the enterprise-grade and agile-application design method. This book covers in-depth the features and facilities that make up the MSA ecosystem.
Beginning with an overview of Service-Oriented Architecture (SOA) that covers the Common Object Request Broker Architecture (CORBA), Distributed Component Object Model (DCOM), and Remote Method Invocation (RMI), the book explains the basic essentials of MSA and the continuous delivery of applications to customers. The book gives software developers insight into:
- Current and emerging communication models
- Key architectural elements of MSA-based applications
- Designing efficient APIs for microservices
- MSA middleware platforms such as REST, SOAP, Apache Thrift, and gRPC
- Microservice discovery and the API gateway
- Service orchestration and choreography for composing individual services to achieve a useful business process
- Database transactions in MSA-centric applications
- Design, composition, security, and deployment patterns
- MSA security
- Modernizing legacy applications
The book concludes with a chapter on composing and building powerful microservices. With the exponential growth of IoT devices, microservices are being developed and deployed on resource-constrained but resource-intensive devices in order to provide people-centric applications. The book discusses the challenges of these applications. Finally, the book looks at the role of microservices in smart environments and upcoming trends including ubiquitous yet disappearing microservices.
Table of Contents
About the Authors
1 An Introduction to Service-Oriented Architecture
2 Demystifying MSA
3 Communication Models for Microservices
4 Designing APIs and Developing Middleware Platforms for Microservices
5 Service Discovery and API Gateways
6 Service Orchestration and Choreography
7 Database Transactions in MSA
8 Patterns for Microservices-Centric Applications
9 MSA Security and Migration
10 Platform Solutions for Microservices Architecture
Chellammal Surianarayanan is an Assistant Professor of Computer Science at the Bharathidasan University, Constituent Arts and Science College, Tiruchirappalli, Tamil Nadu, India. She has earned a Master of Science in Physics, a Master of Technology in Information Technology, and a doctoral degree in Computer Science. She has researched and developed software for the discovery and selection of semantic web services, as well embedded systems and applications. Dr. Surianarayanan has published research papers in such journals as Service-Oriented Computing and Applications, IEEE Transactions on Services Computing, and International Journal of Computational Science. Before working in academia, she served as a scientific officer at the Indira Gandhi Centre for Atomic Research, Tamil Nadu, India.
Gopinath Ganapathy is the registrar of Bharathidasan University, Tiruchirappalli, Tamil Nadu, India. He has 30 years of experience in academia, industry, research, and consultancy services in the U.S., U.K., and India. During that time, he served as a consultant to Fortune 500 companies that include IBM, Lucent-Bell Labs, Merrill Lynch, and Toyota. His areas of research include the Semantic Web, artificial intelligence, auto programming, ontology, and text mining. He has published and presented nearly 100 research papers, serves on academic and technology councils at various Indian universities in India, and is a journal referee and editorial.
Pethuru Raj is the chief architect and vice president of the Site Reliability Engineering Center of Excellence, Reliance Jio Infocomm Ltd., Bangalore, India. His previous positions were at the IBM Cloud Center of Excellence, Wipro Consulting Services, and Robert Bosch Corporate Research. He has more than 17 years of IT industry experience and eight years of research experience. He earned a Ph.D. degree at Anna University, Chennai, India, and conducted postdoctoral research at the Department of Computer Science and Automation, Indian Institute of Science, Bangalore. He has authored 10 books and 30 book chapters on various topics in computing technology.