Cloud · head to head
Azure Functions vs Envoy

Azure Functions
Cloud
Event-driven serverless compute on Azure
- From
- Free
- Free plan
- Yes

Envoy
Developer Tools
A high-performance L7 proxy written in C++ that is configured by an API rather than a config file, and is usually deployed under a control plane.
- From
- Free
- Free plan
- Yes
The short version
- Both are free.
- Where Azure Functions falls short: the newer Flex Consumption plan's free grant is smaller still, at 250,000 executions and 100,000 GB-seconds per month.
- Prices and features on this page were last checked on 13 November 2026.
Where they differ
Only the attributes on which Azure Functions and Envoy actually diverge.
| Attribute | Azure Functions | Envoy |
|---|---|---|
| Pricing model | Usage-based | Open-source |
| Category | Cloud | Developer Tools |
Identical on both: starting price (Free), free tier (Yes), platforms (Web).
What each one covers
Drawn from each product's published feature list. An absence here means we hold no record of it - not that the product lacks it.
Only in Azure Functions
Nothing recorded that Envoy does not also cover.
Only in Envoy
- xDS dynamic configuration
- Protocol breadth
- Filter chain architecture
- Observability by default
- Outlier detection
- Traffic shaping
- mTLS termination and origination
- Hot restart
What people use each for
The jobs each tool is most often brought in to do.
Azure Functions
- Event-driven computingnot Envoy
- Serverless application backendnot Envoy
- Scalable API endpointsnot Envoy
Envoy
- Acting as the data plane under a service mesh or Gateway API implementation, which is how the overwhelming majority of deployments use itnot Azure Functions
- An edge or API gateway that needs per-route retry budgets, circuit breaking and outlier detection rather than round-robin proxyingnot Azure Functions
- Migrating traffic between service versions or between a monolith and its replacement, using weighted splits and shadow trafficnot Azure Functions
- Standardising observability across a polyglot estate, so that latency, error rates and tracing look the same regardless of the language a service is written innot Azure Functions
Where each one falls short
Documented limitations, not opinions. Every one is a constraint you would hit in normal use.
Azure Functions
- Consumption plan free grant is capped at 1 million executions and 400,000 GB-seconds of resource consumption per month per subscription, billed per GB-second beyond that
- The newer Flex Consumption plan's free grant is smaller still, at 250,000 executions and 100,000 GB-seconds per month
- Premium plan avoids per-execution charges but bills continuously for allocated core seconds and memory regardless of invocation volume
- Memory is rounded up to the nearest 128 MB and execution time to the nearest 1 ms for billing, so small overages round upward
Envoy
- The configuration surface is very large and hand-written bootstrap YAML runs to hundreds of lines for routing that Nginx expresses in twenty, which is why nearly every production deployment sits under a control plane and inherits that control plane's constraints as well
- xDS is the real API and it is not stable in the comfortable sense; the v2 API set was removed outright, resource types continue to be deprecated, and your control plane and Envoy binaries have to be upgraded roughly in step or the proxies stop accepting configuration
- Extending it properly means writing a C++ filter and building and maintaining your own Envoy binary; the alternatives are Lua, which adds per-request overhead, and proxy-wasm, whose ABI has remained effectively experimental for years with a real performance cost
- At sidecar density the per-proxy memory and CPU footprint is a measurable share of cluster capacity, since thousands of workloads each carry a full proxy, and this is precisely the cost that has pushed mesh projects towards node-level or ambient architectures
- There is no single vendor selling support for Envoy itself; you get the community plus control-plane vendors such as Solo.io and Tetrate, so an Envoy-level production bug is your own engineers in a C++ codebase unless a support contract happens to cover it
- Diagnosing why a request got a particular response involves reading config dumps, the stats endpoint and the RESPONSE_FLAGS codes in access logs rather than a readable error, which is a specific skill you must hire or spend months growing
Pricing, plan by plan
Azure Functions
Free- Consumption PlanOn request
- 1 million requests free monthly
- 400,000 GB-seconds free monthly
- Billed per second and executions
- Flex Consumption PlanOn request
- 250,000 executions free monthly
- 100,000 GB-seconds free monthly
- Event-driven scaling
- Premium PlanOn request
- No execution charges
- At least one instance required
- Includes automatic scaling and VNET access
Envoy
FreeNo published plan breakdown. See the Envoy review.
Which should you pick?
Choose Envoy if
- You need xds dynamic configuration.
- You want to start without paying.
- You also want protocol breadth.
Questions people ask
- Is Azure Functions or Envoy better?
- Neither clearly leads. Azure Functions starts at Free and Envoy at Free, and user ratings are close enough to be indistinguishable. Choose on capability and platform support.
- Which is cheaper, Azure Functions or Envoy?
- Azure Functions starts at Free and Envoy at Free.
- Does Azure Functions or Envoy run on more platforms?
- Both run on Web, so platform support will not decide this one for you.
- Can I use Azure Functions for free?
- Both have a free tier, so you can try either at no cost before committing.
- What is Azure Functions best used for?
- Azure Functions is most often used for event-driven computing, serverless application backend, scalable api endpoints. Of those, event-driven computing and serverless application backend are not what Envoy is typically brought in for.
- What can Azure Functions do that Envoy cannot?
- Envoy covers xDS dynamic configuration, Protocol breadth, Filter chain architecture, Observability by default.
Answered from the vendors’ own pages
Azure Functions: Does Azure Functions have a free tier?
Yes, Azure Functions includes a monthly free grant of 1 million requests and 400,000 GB-seconds on the Consumption Plan, or 250,000 executions and 100,000 GB-seconds on Flex Consumption.
SourceEnvoy: Should I run Envoy on its own, or under a control plane?
Almost always under one. Directly authoring xDS or static bootstrap configuration is viable for a handful of routes and becomes unmanageable beyond that. Envoy Gateway, Istio, Contour, Gloo and Consul all exist to generate that configuration for you.
Azure Functions: What is Azure Functions' pricing model?
Azure Functions uses usage-based pricing. Consumption plans charge per second of resource consumption and per execution, measured in gigabyte-seconds and rounded to the nearest 128 MB.
SourceEnvoy: How does it compare with Nginx or HAProxy?
Envoy is dynamically configured over an API and instrumented far more heavily; Nginx and HAProxy are faster to configure and lighter for straightforward reverse proxying. If you never need to change routing without a reload, Envoy is more machinery than the problem requires.
Azure Functions: What is the minimum execution time for Azure Functions?
The minimum execution time is 100 milliseconds on Consumption plans. Premium plans charge based on core seconds and allocated memory.
SourceEnvoy: What does it cost?
Nothing to licence; it is Apache 2.0 and there is no paid edition. The cost is engineering time and, for most organisations, a commercial control plane or cloud service that packages it.
Envoy: Can I write extensions without C++?
You can write Lua filters or proxy-wasm modules in Rust, Go, C++ or AssemblyScript. Both carry per-request overhead compared with a native filter, and the Wasm path has been slower to stabilise than the project originally projected.
Envoy: Is it a CNCF project?
Yes, it is a graduated CNCF project licensed under Apache 2.0, which means the trademark and governance sit with the foundation rather than with Lyft or any vendor.
Related pages
More on Azure Functions
Other head to heads
- Azure Functions vs Lambda (AWS Serverless)
- Azure Functions vs Porter
- Azure Functions vs Beam Cloud
- Azure Functions vs Upstash
- Azure Functions vs Oracle Cloud
- Azure Functions vs SST
- Azure Functions vs Tencent Cloud
- Azure Functions vs Terragrunt
- Azure Functions vs Pulumi
- Azure Functions vs Fly.io
- Azure Functions vs Wasabi
- Azure Functions vs Heroku
- Azure Functions vs Neon
- Azure Functions vs Vault
- Azure Functions vs Caddy
- Azure Functions vs Cerebrium
- Azure Functions vs Grafana Cloud
- Azure Functions vs AWS (Amazon Web Services)
- Azure Functions vs Istio
- Azure Functions vs Ona (formerly Gitpod)
- Azure Functions vs Spacelift
- Azure Functions vs Atlantis
- Azure Functions vs Jenkins
- Azure Functions vs Hookdeck
- Azure Functions vs Restate
- Azure Functions vs Helix
- Azure Functions vs Turborepo
- Azure Functions vs StackBlitz
- Azure Functions vs Webpack
- Azure Functions vs Backstage
- Azure Functions vs OpsLevel
- Azure Functions vs PartyKit
- Azure Functions vs PhpStorm
- Azure Functions vs Pieces for Developers
- Azure Functions vs RAD Studio
- Azure Functions vs Refact
- Envoy vs Lambda (AWS Serverless)
- Envoy vs Porter
- Envoy vs Beam Cloud
- Envoy vs Upstash
- Envoy vs Oracle Cloud
- Envoy vs SST
- Envoy vs Tencent Cloud
- Envoy vs Terragrunt
- Envoy vs Pulumi
- Envoy vs Fly.io
- Envoy vs Wasabi
- Envoy vs Heroku
- Envoy vs Neon
- Envoy vs Vault
- Envoy vs Caddy
- Envoy vs Cerebrium
- Envoy vs Grafana Cloud
- Envoy vs AWS (Amazon Web Services)
- Envoy vs Istio
- Envoy vs Ona (formerly Gitpod)
- Envoy vs Spacelift
- Envoy vs Atlantis
- Envoy vs Jenkins
- Envoy vs Hookdeck
- Envoy vs Restate
- Envoy vs Helix
- Envoy vs Turborepo
- Envoy vs StackBlitz
- Envoy vs Webpack
- Envoy vs Backstage
- Envoy vs OpsLevel
- Envoy vs PartyKit
- Envoy vs PhpStorm
- Envoy vs Pieces for Developers
- Envoy vs RAD Studio
- Envoy vs Refact
