Cloudflare Ditches Nginx for Internal Pingora, Written in Rust

Cloudflare has long relied on Nginx as part of its HTTP proxy stack, but has now replaced it with its Rust-written Pingora internal software, which reportedly handles over a trillion requests per day and offers better performance while using only about a third of the CPU and memory resources.

Cloudflare “overtook” Nginx and ended up creating its own HTTP proxy stack. Cloudflare found that Nginx’s worker process architecture had drawbacks, especially when it came to CPU resources. Nginx also proved difficult to extend to their needs.

Cloudflare engineers developed Pingora from scratch as an in-house solution. The Rust programming language was chosen for its memory safety while providing C-like performance. Cloudflare also implemented its own HTTP library for Rust to meet all of its different needs. Pingora uses a multi-threaded architecture rather than a multi-process one.

Diagram of Cloudflare Pingora.

As for the performance benefits with Pingora:

In production, Pingora consumes about 70% less CPU and 67% less memory compared to our old service with the same traffic load.

Beyond the staggering performance gains, Pingora is also considered more secure thanks in large part to the use of Rust.

Those interested in learning more about Cloudflare’s Pingora project can do so via the Cloudflare blog. The only downside is that Pingora isn’t open source yet – Cloudflare says they’re working on the plans, but right now this HTTP proxy isn’t public yet.

About Jon Moses

Check Also

Check department, course name and other details here

NSIC Recruitment 2022: Check Department, Course Name and Other Details Here 2022 NSIC recruitment: National …