Golang Web Development and Its Deployment with Azure DevOps

By Goh Chun Lin

Elevator Pitch

Even though Go web apps was announced to run on Azure App Service in 2015 via Kudu, two years later, the support is discontinued. With the new technology such as Azure DevOps Pipelines and Azure Kubernetes Service, I’d like to share how we can do CI/CD deployment for Go web app on Azure again.

Description

This talk is to share my Golang web development learning journey to build a YouTube Re-Player app which is now running on Microsoft Azure Web App. The talk will focus on CI/CD with Azure DevOps (especially Pipelines) + Github, Azure Kubernetes Service. At the same time, I will also cover some useful services offered by Azure, such as Application Insights and how they can be used to make our Golang better on the cloud platform.

This talk will be a good starting point for those web developers who are familiar with Azure but are new to Golang web development and would like to understand how to have a simple web app running on Azure.

Notes

In the Microsoft Ignite Tour Singapore happened in January 2019, Brian Ketelsen asked the audience who had experience with Golang web application. In the room of 300+ developers, I was the only one who raised the hand. So both of us were quite surprised that no one was interested to find out how Golang works in web development field.

Also, inspired by Chang Sausheong’s book “Go Web Programming”, I have been experimenting with different ways to find out how to properly build a web app in Go. Hence, I’d like to take this Gopher Conference Singapore as a chance to encourage, especially those who have been dealing with Azure in their daily work and new to Golang web development, to try out Golang web development.

I’m currently building a web application in Golang and host it on Azure. I also have a Github repo for it which I use it to do CI/CD with Azure DevOps Pipelines. It’s still in progress but I hope to finish it by mid of February 2019 so that I can use them as resources to the audience.