Essentials of microservices architecture : paradigms, applications, and techniques - Surianarayanan, Chellammal; Ganapathy, Gopinath; Raj, Pethuru (CRC Press, 2020)
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