News

Microsoft Embraces Go Programming Language for Azure Cloud Development

Coinciding with the start of the GopherCon show for developers using the Go programming language created by Google, Microsoft today published an extensive series of videos to help Azure cloud developers use Go.

Microsoft also today announced open source contributions to Go projects "as part of an ongoing commitment to Go developers and community."

Microsoft is embracing Go despite the fact that Google -- a primary backer of the open source language (sometimes referred to as Golang) -- also offers the Google Cloud Platform, a direct competitor to Microsoft Azure.

Go was created by Google engineers about eight years ago because they sought a programming language that provided efficient compilation, efficient execution and ease of programming, finding that no existing mainstream language accommodated all three.

It's described as "a statically typed, compiled language in the tradition of C, with memory safety, garbage collection, structural typing and CSP-style concurrency" by Wikipedia.

With its affinity for cloud programming, Go has become a focal point for Microsoft's Azure efforts, culminating with today's launch of the seven-part video series on the company's Channel 9 site.

The first video, titled "Go on Azure: Part 1 -- Build Go apps with Visual Studio Code," features Ramya Achutha Rao (Sr. Software Engineer), who details using the open source, cross-plaftorm VS Code editor -- said to be the favorite among Go developers -- to first construct a simple Hello World app and eventually create a Docker container for the app that is ready to be pushed to the cloud.

She takes advantage of the Go for Visual Studio Code extension in the Visual Studio Code Marketplace, which, speaking to the popularity of the language and the tool, has been installed more than 5.2 million times, earning a 4.8 rating (0-5 scale) from 145 developers who have reviewed it. It provides smart code completion, integrated debugging and more.

"There are a host of language features that can help you in your day-to-day development, be it if you're code editing, you're navigating your code, you're testing your code trying to find errors or if you're debugging," Rao said in the video. "We have something for each of these areas."

Microsoft also touts its support for Go applications across many Azure services, including Web Apps, Azure Kubernetes Service and Linux Virtual Machines, with more planned. "The Azure SDK for Go makes it easier to build apps that interact with Azure services too, such as Storage," a spokesperson said.

Furthermore, the spokesperson said "Visual Studio Team Services provides Git repositories and enables Continuous Integration and Continuous Delivery capabilities for Go applications, and it's free for individuals and small teams up to five."

In addition to video mentioned above, other videos in the "Go on Azure" series include:

Further illustrating Microsoft's embrace of Go for Azure is a blog post published today that reviews the company's Go initiatives, written by Josh Gavant, Senior Program Manager, Azure Developer Experience.

"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," Gavant said. "We continue to strive to help Go developers build better cloud apps, faster, with an expanding range of services covering the cloud-native workflow.

He listed those services as:

  • 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.

Gavant also reviewed several other Go-related initiatives continually being improved by Microsoft and invited Go developers to provide input to help shape that effort.

Also today, at the aforementioned GopherCon show, Microsoft announced contributions to the open source Project Athens and GopherSource.

Those projects were described by Microsoft thusly:

  • Project Athens is an open source project released under the MIT license and hosted on GitHub to create the first proxy server for Go modules. Along with the Athens community, Microsoft is currently focusing on improving the modules experience, ensuring that Go modules work seamlessly with all proxy servers, and working to set up a federated, organizationally diverse proxy network.
  • GopherSource is an initiative to strengthen and diversify the Go ecosystem through building up more contributors to upstream Go and key Go projects, such as Project Athens, from within the community. By encouraging the Go community's own talented developers to contribute to upstream Go, the Go ecosystem will continue to work to meet the needs of the entire community.

More information on those projects, the Microsoft Go experience and the use of Go at Microsoft can be found in yet another blog post published today, titled "Announcing Project Athens and GopherSource for the Go community."

"We already use and have so much fun with Go internally, and with our new investments into the community and technology we hope to do our part to grow the community and contribute great innovations wherever we can," said Aaron Schlesinger, Sr. Software Engineer, Microsoft Containers, in the post.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube