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.