Appendix A. Microservices Assessment

This book has covered a lot of ground. Let me remind you of some of that material, focusing first on helping you to assess whether it would make sense for you to adopt microservices, and then on whether you have the right culture, tools, and processes in place to make a success of it.

Do You Need Microservices?

Microservices add complexity. For that reason, your starting point for a new system should generally be a monolith.

As you grow to understand the domain and build out the system, there are several reasons you might consider the move to extract out one or more services.

So, what sorts of things indicate that starting a move to microservices might be a good choice for you?

Scaling Challenges

As you scale your team and your system, you might see an impact on your ability to deliver new features and products. Maybe things are slowing down, or you’re finding it difficult to support your system in production.

Here are the questions I’d be asking.

Are we struggling to get changes made?

The DORA and Accelerate research shows the importance of being able to release small changes frequently.

Ask yourself:

  • Are we able to release changes quickly enough?

  • How often do we release changes?

  • How long does it take code to go from commit to running in production?

  • Are changes queuing up?

  • How many handoffs does releasing a new feature involve?

  • How much time do teams spend waiting?

  • Do lots of changes to production fail?

Your goal should ...

Get Enabling Microservice Success now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.