In the past few chapters, we focused on the actual development of our Go application. However, there is more to software engineering than just writing code. Usually, you will also need to concern yourself with the question of how you will deploy your application into its runtime environment. Especially in microservice architectures, where each Service may be built on a completely different technology stack, deployment can quickly become a challenge.
When you are deploying Services that use different technologies (for example, when you have Services written in Go, Node.js, and Java), you will need to provide an environment in which all these Services can actually be run. Using traditional virtual machines or bare-metal servers, this can become quite a hassle. Even though modern cloud providers make quickly spawning and disposing VMs easily...