In this chapter, we looked at how microservices can be containerized with Docker, and how you can create a deployment entirely based on Docker images.
Docker is still a young technology, but it is mature enough to be used in production. The most important thing to keep in mind is that a containerized application can be trashed at any time, and any data that's not externalized via a mount point is lost.
For provisioning and clustering your services, there's no generic solution, and tons of tools, which can be combined to create a good solution. There is much innovation right now in that field, and the best choice depends on where you deploy your services, and how your teams work.
The best way to tackle this problem is to take baby steps by first deploying everything manually, then automating much where it makes sense. Automation is great, but can rapidly become...