Blog

Previous: Digital Asset Management Using SharePoint Online
Next: Top 10 Azure and Office 365 Events for 2017
Azure Resources for Go (Golang)

Azure Resources for Go (Golang)

Microsoft Azure provides development support for a wide variety of languages. Official Software Development Kits (SDKs) are available for the most popular web programming languages including .NET, Java, Node.js (JavaScript), PHP, Python, and Ruby.

One of the newest languages that Microsoft supports is Go (sometimes styled as Golang).

About Go

Go is an open source language created at Google in 2007. It was grown in popularity and influence rapidly, now powering vital infrastructure throughout the intranet. It was named 2016’s Programming Language of the Year by TIOBE and is a core language within Docker, CloudFlare, and Uber.

Go is an incredibly efficient language, rivaling C/C++ and significantly beating JavaScript in most performance tests. Go’s “goroutine” approach to paralellism allows it to process large “map-reduce” workloads efficiently, as are often seen in the cloud. It’s an ideal back-end networking language and is poised to grow in popularity on Azure.

Microsoft SDK Support for Go

Microsoft is actively developing SDKs for Go, which are available as importable packages hosted in GitHub. The following six are available as of Q1 2017:

  1. azure-sdk-for-go: The official library, providing methods for most Azure IaaS and PaaS workloads. This library is under heavy active development, so (https://github.com/golang/go/wiki/PackageManagementTools)[vendoring] is recommended.
  2. azure-storage-go: The official library for interacting with Azure storage.
  3. go-ansiterm: Helper library for ANSI terminal emulation in Windows.
  4. go-autorest: Library with a reusable HTTP request pipeline, built for high-volume REST API calls.
  5. go-ntlmssp: Helper library implementing NTLM/Negotiate authentication.
  6. go-pkcs12: Helper library implementing PKCS#12 cryptography.
  7. azure-quickstart-templates: Quickstart templates, including an exteion for hosting Go web apps.
  8. azure-samples: Sample implementations, including network, VM, storage, and keyvault clients.

Third-Party SDK Support for Go

Beyond Microsoft’s official offerings, there are dozens of third-party libraries available. GoDoc provides an organized catalog of all Go packages, including a page listing all Azure packages.

Running Go Applications on Azure App Service

The SDKs and packages listed above are great because they can be run anywhere (within your IaaS, in PaaS, or on-premises).

To run Go in the Azure App Service (PaaS), Microsoft added experimental support in 2015. Check out this article by Xiaomin Wu to get started.

Contact Allcloud to develop your cloud application:

/ 844-6-CLOUD-6

Previous: Digital Asset Management Using SharePoint Online
Next: Top 10 Azure and Office 365 Events for 2017