In this chapter, we will explore how to containerize our Go applications using a few tools such as Docker, Docker Compose, Nginx, and Supervisord. Containerization is required to avoid platform dependency during deployment of an application. To deploy an application properly, we must prepare an ecosystem. That ecosystem consists of a web server, an application server, and a process monitor. This chapter deals with how to take our API server from a standalone application to a production-grade service.
In recent times, most cloud providers tend to host web applications. Some big players such as AWS, Azure, Google Cloud Platform, along with start-ups such as DigitalOcean and Heroku are a few such examples. In the upcoming sections, we will focus on making a platform ready for deploying REST services. In the next chapter, we will look at...