Designing Runnerly

In Chapter 1, Understanding Microservices, we said that the natural way to build a microservices-based app is to start with a monolithic version that implements all the features, and then to split it into microservices where it makes sense. Trying to come up with a perfect design based on several microservices on day one is a recipe for disaster. It's very hard to know how the application is going to be organized and how it will evolve when it matures.

In this chapter, we will go through this process by building a monolithic application where we're implementing the required features. Then we'll look at where the app can be decomposed into smaller services. By the end of the chapter, we'll end up with a microservices-based design.

The chapter is organized into three main sections:

  • Presentation of our Runnerly application and its user stories
  • How Runnerly can be built as a monolithic application
  • How a monolith can evolve into microservices

Of course, in real life, the splitting process happens over time once the monolithic app design matures for a bit. But for the purpose of this book, we'll make the assumption that the first version of the application was used for a while and offered us some insights to split it the right way, thanks to our time machine.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset