Microservices in Action
Morgan Bruce, Paulo A. Pereira
  • MEAP began May 2017
  • Publication in December 2017 (estimated)
  • ISBN 9781617294457
  • 475 pages (estimated)
  • printed in black & white

Microservices in Action is a practical book about building and deploying microservice-based applications. Written for developers and architects with a solid grasp of service-oriented development, it tackles the challenge of putting microservices into production. You'll begin with an in-depth overview of microservice design principles, building on your knowledge of traditional systems. Then, you'll start creating a reliable road to production. You'll explore examples using Kubernetes, Docker, and Google Container Engine as you learn to build clusters and maintain them after deployment. Throughout this rich, experience-driven book, you'll move through real-world use cases including a continuous delivery pipeline, production monitoring, and practical techniques for scaling and maintaining a healthy system.

"Perfect fit for those who want to move their majestic monolith to a scalable microservice architecture."

~ Akshat Paul

"A must have for all people involved in this kind of job."

~ Antonio Pessolano

"An excellent guide for those who have embarked on their microservice journey."

~ Andy Miles

Table of Contents detailed table of contents

Part 1: The Lay of the Land

1. Designing and Running Microservices

1.1. What is a microservice application?

1.1.1. Scaling through decomposition

1.1.2. Key principles

1.1.3. Why use microservices?

1.2. What makes microservices challenging?

1.2.1. Design challenges

1.2.2. Operational challenges

1.3. Microservice development lifecycle

1.3.1. Designing microservices

1.3.2. Deploying microservices

1.3.3. Observing microservices

1.4. Responsible and "operationally aware" engineering culture

1.5. Summary

2. Microservices at SimpleBank

2.1. What does SimpleBank do?

2.2. Are microservices the right choice?

2.2.1. Risk and inertia in financial software

2.2.2. Reducing friction and delivering sustainable value

2.3. Building a new feature

2.3.1. Identifying microservices: modelling the domain well

2.3.2. Service collaboration

2.3.3. Service choreography

2.4. Exposing services to the world

2.5. Taking your feature to production

2.5.1. Stable and automated deployment

2.5.2. Transparency

2.6. Scaling up microservice development

2.6.1. Technical divergence

2.6.2. Isolation

2.7. What's next?

2.8. Summary

Part 2: Design

3. Architecture of a Microservices Application

3.1. Architecture as a whole

3.1.1. 3-tier architecture

3.1.2. 4-tier architecture

3.2. Aggregation Tier

3.2.1. API Gateways

3.2.2. Backends For Frontends

3.3. Event Backbone: More than just communicating

3.3.1. Reducing the need for orchestration

3.3.2. Events as a way of describing the system

3.3.3. Using events to replay the past

3.4. Benefits of decomposition

3.4.1. Geographically aware deployments

3.4.2. Data Sync: Who owns data?

3.5. Team Organization and Culture

3.5.1. Functional teams

3.5.2. Cross-functional Teams

3.5.3. Team Culture

3.6. Summary

4. Designing a New Feature

5. Refining Your Design

6. Designing Reliable Services

7. Building a Reusable Microservice Framework

Part 3: Deployment

8. How Are Microservices Deployed?

9. Deploying Microservices in Containers

10. Using a Scheduler to Run Containers

11. Building a Delivery Pipeline for Microservices

12. Reliable Communication Between Services

13. Preventing Downtime and Managing Service Retirement

Part 4: Monitoring & Observability

14. Building a Monitoring System

15. Using Logs and Traces to Understand Behaviour

16. Diagnosing Issues in an Evolving Application

17. Monitoring Deployments

About the Technology

Most enterprise developers are comfortable with writing individual components or services as part of a larger application. In microservice systems, the benefits - and unique challenges - arise from the way these services are organized, deployed, and managed. Production-ready microservice applications rely on cloud platforms like AWS or Google Cloud, container engines like Docker, and orchestration tools like Kubernetes. Microservices change the dev process as well, maximizing the efficiency and independence of small teams. To be successful, developers, team leaders, and architects need to master both the implementation details and the big picture of how microservices work in a production environment.

What's inside

  • Review of microservice architecture
  • Building a delivery pipeline for microservices
  • Monitoring your microservices applications
  • Deploying with containers
  • Written by authors with daily, hands-on experience

About the reader

Readers should be intermediate developers with some knowledge of enterprise application architecture. Familiarity with container systems like Docker and IaaS cloud like AWS, Google Cloud, or DigitalOcean is helpful but not required.

About the authors

Morgan Bruce and Paulo A. Pereira have years of experience building distributed applications, with particular expertise in the high-stakes finance and identity verification industries. They work daily with microservices in a production environment using the tools and techniques presented in this book.

Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.
MEAP combo $49.99 pBook + eBook + liveBook
MEAP eBook $39.99 pdf + ePub + kindle + liveBook

FREE domestic shipping on three or more pBooks