4 Data management for microservices

 

This chapter covers

  • Using Docker Compose to build and run your microservices application in development
  • Adding file storage to your application
  • Adding a database to your application

When building any application, typically, we’ll need to deal with data or files and sometimes both. Microservices are no different. We need a database to store dynamic data that’s generated and updated by the application, and we need a place to store assets that are served by the application or uploaded to it.

In this chapter, we add both file storage and a database to our FlixTube example application. First, we’ll add file storage so FlixTube has a location to store its videos. We want to have distinct areas of responsibility in our application for streaming and video storage. That implies that we’ll need to add another microservice to our application, and in this chapter, we will indeed create our second microservice.

Then we’ll add a database. At this point, we add a database so that we have a place to record the path to each video, but this is really just an excuse to get a database in place. Because once we have it, we can easily use it to store all the metadata for our videos and to provide for the on-going data storage needs of all our microservices.

4.1 New tools

4.2 Getting the code

4.3 Developing microservices with Docker Compose

4.3.1 Why Docker Compose?

4.3.2 Installing Docker Compose

4.3.3 Creating our Docker Compose file

4.3.4 Booting our microservices application

4.3.5 Working with the application

4.3.6 Shutting down the application

4.3.7 Can we use Docker Compose for production?

4.4 Adding file storage to our application

4.4.1 Using Azure Storage

4.4.2 Updating the video-streaming microservice

4.4.3 Adding our new microservice to the Docker Compose file

4.4.4 Testing the updated application

4.4.5 Cloud storage vs. cluster storage