Envoy vs OpenResty
A side-by-side comparison of two self-hosted reverse proxy & gateways options — licensing, setup difficulty, resource needs, and what each one replaces.
| Feature | Envoy | OpenResty |
|---|---|---|
| Deploy effort | Under-an-hour setup | Under-an-hour setup |
| Health score | 98 · Excellent | 87 · Excellent |
| Category | Reverse Proxy & Gateways | Reverse Proxy & Gateways |
| License | Apache-2.0 | BSD-2-Clause |
| Language | C++ | C |
| Setup difficulty | Hard | Hard |
| Min. RAM | 512 MB | 128 MB |
| Deployment | docker, kubernetes, binary | docker, binary, bare-metal |
| GitHub stars | ★ 28,974 | ★ 14,042 |
| First released | 2016 | 2011 |
| Replaces | Nginx, HAProxy | Nginx |
What are Envoy and OpenResty?
Envoy
Envoy is a high-performance, open-source edge and service proxy designed for cloud-native applications and service meshes. It offers advanced load balancing, observability, and dynamic configuration.
- Service mesh data plane
- Dynamic xDS configuration
- Rich observability
- Advanced load balancing
OpenResty
OpenResty is a full-fledged web platform that bundles Nginx with LuaJIT and many libraries, enabling powerful programmable proxies and gateways. It is the foundation for several API gateways.
- Nginx plus LuaJIT scripting
- Programmable request handling
- Foundation for API gateways
- High performance
Envoy vs OpenResty: key differences
Envoy is written in C++, while OpenResty is built with C. Licensing differs — Apache-2.0 for Envoy versus BSD-2-Clause for OpenResty. OpenResty is the lighter option, starting around 128 MB of RAM against 512 MB for Envoy. OpenResty is the more established project (first released 2011), while Envoy arrived in 2016. Envoy has the considerably larger community, at 28,974 GitHub stars versus 14,042.
Why pick each one
Choose Envoy if…
- Advanced load balancing
- Dynamic configuration API
- Deep observability features
Watch out for
- Steep learning curve
- Verbose YAML configuration
- Heavy for simple setups
Choose OpenResty if…
- Very high performance
- Programmable with Lua
- Battle-tested Nginx core
Watch out for
- Lua knowledge required
- Config more complex than Nginx
Frequently asked questions
Is Envoy or OpenResty better?
Neither is universally better. Envoy has the larger community; both share a hard setup difficulty, so the decision comes down to features and licensing.
Are Envoy and OpenResty free and open-source?
Yes. Envoy is licensed under Apache-2.0 and OpenResty under BSD-2-Clause. Both can be self-hosted at no software cost.
Can I run Envoy and OpenResty with Docker?
Envoy: yes. OpenResty: yes.
Which is lighter on resources, Envoy or OpenResty?
OpenResty has the smaller minimum footprint at 128 MB of RAM, compared to about 512 MB for Envoy. Real-world usage depends on library size, user count, and enabled features.