Go Production Deployments [Video]
This is the code repository for Go Production Deployments [Video], published by Packt. It contains all the supporting project files necessary to work through the video course from start to finish.
About the Video Course
Go is one of the most powerful, efficient, and highly performant programming languages. This video course teaches you how to deploy a full-stack Go application to a cloud-based production environment.
We start off by showing you how to provision a virtual server instance on the Linode cloud, install MySQL and Nginx, and obtain and install a free SSL certificate from Let's Encrypt. We introduce you to Linode, a major cloud provider of virtual private servers. Then you’ll see how cross-compile a Go application, prepare and deploy a production deployment bundle, and turn a Go application into a system service.
Moving on, you’ll find out how to dockerize a Go application and use the Docker Compose tool to define and run a multi-container Docker application. Finally, you’ll see how to turn a dockerized Go application into a system service.
The code bundle for this course is available at https://github.com/PacktPublishing/Go-Production-Deployments
What You Will Learn
- Deploy a full-stack Go application to a cloud-based production environment
- Provision a cloud-based virtual server instance
- Install MySQL and Nginx on the virtual server instance
- Obtain and install a free SSL certificate from Let’s Encrypt
- Cross compile a Go application
- Prepare and deploy a production deployment bundle
- Deploy the Go application to a standalone server
- Run the Go application in the cloud as a system service
- Prepare and deploy a production deployment bundle
- Deploy the Go application as a multi-container Docker application
- Run the Dockerized Go application in the cloud as a system service
Instructions and Navigation
Assumed Knowledge
To fully benefit from the coverage included in this course, you will need:
Familiarity with Go
Technical Requirements
This course has the following software requirements:
A custom domain name
A virtual private server running Ubuntu 16.04 LTS (preferably on the Linode cloud)