Go Is Now a First-Class Language in Azure Functions
If you’ve been running Go workloads on Azure Functions, you already know the workarounds. Custom handlers. Teams reaching for containers or VMs just to avoid the friction.
That changes today. Azure Functions now supports Go as a first-class language, available in public preview on the Flex Consumption plan.
First class?
Yes, the programming model is code-first and idiomatic: HTTP handlers are plain http. HandlerFunc, non-HTTP triggers take a context. Context and a typed payload, and the project layout is a standard Go module.
The SDK is azure-functions-golang-worker. The model will feel familiar immediately if you have written any Go service before.
Other benefits:
A native Go build pipeline — go build produces a single static binary that the Functions host invokes directly. No function.json, no interop shims at request time.
Support for HTTP, Timer, Service Bus (queues and topics), Event Hubs, Event Grid, Cosmos DB, and Blob Storage triggers — with more to come.
Integrated observability through Application Insights — logging, metrics, and distributed tracing. Microsoft Community Hub
End-to-end local development via a preview build of Azure Functions Core Tools.
A Quick Look at the Code:
No annotations fighting your editor. No JSON config living in a separate file that drifts out of sync with your code. Just Go.
What to Keep in Mind (Preview Caveats)
A few things worth tracking before you move production workloads:
Flex Consumption plan only. Go support is currently available only for function apps hosted in the Flex Consumption plan. If your team is still on the older Consumption plan, plan accordingly.
Public preview. Not yet GA. The end-of-support date for the Go runtime will be defined at general availability.
Trigger coverage is growing. The core triggers are there, but check the docs before assuming a niche trigger is supported yet.
If you are on a critical production path, wait for GA. But get familiar with it now.
Official announcement: Announcing Go support in Azure Functions (Preview)
That’s all for today, see you in the next one.


