Chapter 1, Understanding Microservices, defines what microservices are, and their roles in modern web applications. It also introduces Python and explains why it's great for building microservices.
Chapter 2, Discovering Flask, introduces Flask and goes through its main features. It showcases the framework with a sample web application that will be the basis for building microservices.
Chapter 3, Coding, Testing, and Documenting - the Virtuous Cycle, describes the Test-Driven Development and Continuous Integration approach, and how to use it in practice to build and package Flask applications.
Chapter 4, Designing Runnerly, takes you through the app features and user stories, explains how it could be built as a monolithic app, then decomposes it into microservices and explains how they interact with the data. It will also introduce the Open API 2.0 specification (ex-Swagger), which can be used to describe HTTP APIs.
Chapter 5, Interacting with Other Services, explains how a service interacts with backend services, how to deal with network splits and other interaction problems, and how to test the service in isolation.
Chapter 6, Securing Your Services, explains how to secure your microservices and how to deal with user authentication, service-to-service authentication, as well as user management. It will also introduce the reader to fraud and abuse, and how to mitigate it.
Chapter 7, Monitoring Your Services, explains how to add logging and metrics in your code, and how to make sure you have a clear global understanding of what's going on in your application to track down issues and understand your services usage.
Chapter 8, Bringing It All Together, describes how to design and build a JavaScript application that leverages and uses the microservices in an end-user interface.
Chapter 9, Packaging and Running Runnerly, describes how to package, build, and run the whole Forrest application. As a developer, it's vital to be able to run all the parts that compose your application into a single dev box.
Chapter 10, Containerized Services, explains what is virtualization, how to use Docker, and also how to Dockerize your services.
Chapter 11, Deploying on AWS, introduces you to existing cloud service providers and then to the AWS world, and shows how to instantiate servers and use the major AWS services that are useful to run a microservices-based application. It also introduces CoreOS, a Linux distribution specifically created to deploy Docker containers in the cloud.
Chapter 12, What Next?, concludes the book by giving some hints on how your microservices can be built independently from specific cloud providers and virtualization technologies, to avoid the trap of putting all your eggs in the same basket. It emphasizes what you learned in Chapter 9, Packaging and Running Runnerly.