Falcon is a high-performance web server for Ruby that supports HTTP/1, HTTP/2, and TLS.
Falcon addresses the need for a unified server that can handle concurrent requests efficiently without blocking. It accomplishes this by running each request within a lightweight fiber on top of the async library, allowing requests to block on upstream operations without stalling the entire server process. The server uses a multi-process, multi-fiber architecture and is rack-compatible, meaning it can run existing Ruby web applications without modification.
Developers should choose Falcon if they want to simplify their deployment infrastructure by replacing separate development and production servers with a single solution. It suits Rails applications and other rack-based Ruby projects where performance and concurrency matter. The tool is particularly valuable for teams looking to reduce environment-specific bugs by using the same server across development and production. Falcon also supports advanced deployment patterns including dynamic clustering with Envoy for load balancing based on current server load.
The project maintains active development with regular updates to its core dependencies and documentation. The maintainer has published comprehensive guides covering getting started, Rails integration, deployment strategies including systemd and Kubernetes, and advanced clustering with Envoy. The project offers priority business support through a commercial agreement, providing direct assistance, advance notification of security issues, and priority consideration of feature requests. The long-term vision extends beyond a basic server to a web application platform that could unify HTTP servers, databases, periodic jobs, and background job handling in a platform-agnostic way.