Chapter 9. Case study: Nodezoo.com
This chapter covers
- Designing a full microservice system
- Building core services
- Creating a flexible development environment
- Developing a risk-reducing, continuous delivery pipeline
- Growing, adapting, and scaling the system
Working code is the best way to demonstrate any software engineering principle. You deserve to see what microservice code looks like in a real system, so that you can make a genuine assessment of the consequences of using this architecture. This chapter walks you through a small but complete system that covers all the topics discussed in this book.
This is a learning system, and there are many obvious omissions and flaws that would be fatal in production. This is deliberate, for two reasons: limited space in this book and, of far more consequence, because this is exactly the way you should develop a production system in its early days! The microservice architecture is supposed to make it easier to go from a toy demonstration to a high-scale production system, in a finite number of iterations. Early in any project, the biggest win comes from showing working code, even if it’s just on your laptop. If this case study were a commercial project for a client, I’d build it following a path similar to that described here.[1]
1I beg forgiveness for the considerable poetic license in the timeline of the iterations, but they also serve as headings in this chapter!