• 4 min read

Helping Go developers build better cloud apps faster

As GopherCon kicks off today with nearly 2,000 gophers gathering in Denver, we’re excited to share our latest offerings and announcements for Go developers. Since making the Azure SDK for Go…

As GopherCon kicks off today with nearly 2,000 gophers gathering in Denver, we’re excited to share our latest offerings and announcements for Go developers. Since making the Azure SDK for Go generally available earlier this year, our teams have been hard at work building Go tools and services for Azure, Visual Studio Code, and Visual Studio Team Services. We continue to strive to help Go developers build better cloud apps, faster, with an expanding range of services covering the cloud-native workflow:

  • Write and test code with Visual Studio Code, the most popular editor amongst Go developers. Debug with visual breakpoints, apply Go formatting on save, and use code completions to increase developer speed and productivity.
  • Host your private Git repositories, then integrate and release apps with Visual Studio Team Services and Azure DevOps Projects.
  • Run code, containers, and apps on Azure Kubernetes Service, a fully-managed Kubernetes cluster, or with Azure App Service. Or, use your favorite Linux distribution on Azure Virtual Machines.
  • Store structured data in managed PostgreSQL and MySQL databases, objects in Blob Storage, and cache items in Redis Cache. You can also use Cosmos DB, a globally-replicated, multi-model database that is compatible with MongoDB.
  • Communicate between microservices with Azure Service Bus, Event Hubs, and Event Grid.
  • Authenticate users and manage a directory with OpenID Connect and Azure Active Directory.
  • Gather and monitor traces with Application Insights, and soon OpenCensus.

image

New SDK packages and Buffalo-Azure Project

To continue improving the experience of Go developers on Azure we’re building new packages and improving existing ones, starting with the Azure SDK for Go and related samples. Since the start of the year, we’ve also published new packages for Service Bus, Event Hubs, and Blob Storage, among others. We’re always listening to customer feedback, so if you’d like another package or an improvement to an existing one, please let us know on the Go SDK’s GitHub issue tracker.

Packages aren’t all, though. You’ve asked for frameworks and templates to get started faster with Go and with Azure, and we’ve listened by adding plugins to the Buffalo project to help you get up to speed quickly. Buffalo is an emerging framework for rapidly generating components for Go web apps, and the Buffalo-Azure project adds plugins to help provision app and database resources, use Service Bus queues for worker tasks, and generate handlers for Event Grid events. Want support for other services or have feedback on these? Please open issues in the project’s tracker. Our roadmap is informed by your needs!

“Get started” videos

To help you learn and get started with Go on Azure, our gophers recently took over Microsoft Channel9 studios, and recorded a series of videos demonstrating how to build and run Go apps with Azure, Visual Studio Code, and Visual Studio Team Services. Check them out in the playlist below!

Go on Azure: Part 1—Build Go apps with Visual Studio Code | Azure Friday – Ramya Achutha Rao (Sr. Software Engineer) joins Erik St. Martin to show you how to build Go apps with Visual Studio Code. She will be using the Go extension for VS Code which provides smart code completion, integrated debugging and a whole lot more. In the end, still using VS Code, she’ll create a Docker container for the app that is ready to be pushed to the cloud.

Go on Azure: Part 2—CI/CD, Docker, and Kubernetes with VSTS | Azure Friday – Cloud Developer Advocates Jessica Deen and Erik St. Martin show you how to get started with DevOps using Visual Studio Team Services (VSTS) for Go developers. Learn how to use the code you already have on GitHub, connect it to VSTS, and then build CI/CD pipelines to deploy your Go apps to Kubernetes on Azure. You’ll also learn how you can get started with DevOps Projects on Azure, which will take care of all the scaffolding for you, including your VSTS account if you don’t have one.

Go on Azure: Part 3—Go on Web Apps and Azure Kubernetes Service | Azure Friday – Josh Gavant (Sr. Program Manager) joins Erik St. Martin to show you how to run your Go apps in a managed environment with Azure Web Apps. For larger applications, AKS offers a fully-managed Kubernetes cluster for any app and service.

Go on Azure: Part 4—Cloud-native Go apps | Azure Friday – Josh Gavant (Sr. Program Manager) joins Erik St. Martin to talk about cloud-native Go apps. Azure offers a whole host of services that Go developers can use to build apps with strong security and scalability. For example, see how Josh implements strong authentication with Azure AD, adds caching with Redis Cache, stores any kind of data on Azure Storage, and sends messages and queues jobs with Service Bus.

Go on Azure: Part 5—Build apps with the Azure SDK for Go | Azure Friday – Joel Hendrix (Sr. Software Engineer) and Erik St. Martin walk you through the Azure SDK for Go, showing how you can build apps that interact with and manage Azure services.

Go on Azure: Part 6—Events and Messaging | Azure Friday – Messaging services are key components of all microservices-based architectures. David Justice (Sr. Software Engineer) joins Erik St. Martin to show you some of the options for messaging services on Azure, including demos on using them with Go apps.

Go on Azure: Part 7—Build a Go app with Buffalo and deploy to Azure | Azure Friday – Did you know that Buffalo has plugins for Azure? In this episode, Martin Strobel joins Erik St. Martin to demo building a Go app with Buffalo and deploying it to Azure App Service.

We’re far from done…

Our team seeks to provide services, tools, runtimes, documentation, and guidance to make writing and maintaining Go cloud apps simpler and more fun for you, so your input as a Go developer is vital! If you’re at GopherCon, drop by our booth and chat with us. You can also open requests in our trackers to tell us what you’re working on and how Azure can better serve you.

Last but not least, in addition to updates to these products and services, be sure to check out the announcement on the Microsoft + Open Source blog for Go community-related projects and activities we’re leading and contributing to.

Ashley McNamara image

Image credits: @AshleyMcNamara

Read more