2 Microservices at SimpleBank

 

This chapter covers

  • Introducing SimpleBank, a company adopting microservices
  • Designing a new feature with microservices
  • How to expose microservice-based features to the world
  • Ensuring features are production ready
  • Challenges faced in scaling up microservice development

In Chapter 1, you learned about the key principles of microservices and why they’re a compelling approach for sustainably delivering software value. We also introduced the design and development practices that underpin microservices development. In this chapter, we’ll explore how you can apply those principles and practices to developing new product features with microservices.

Over the course of this chapter, we’ll introduce the fictitious company of SimpleBank. They’re a company with big plans to change the world of investment, and you’re working for them as an engineer. The engineering team at SimpleBank wants to be able to deliver new features rapidly while ensuring scalability and stability — after all, they’re dealing with people’s money! Microservices might be exactly what they need.

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 by modeling the domain

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 Quality-controlled and automated deployment

2.5.2 Resilience

2.5.3 Transparency

2.6 Scaling up microservice development

2.6.1 Technical divergence

2.6.2 Isolation

2.7 What’s next?

Summary