NGINX Icon

NGINX

NGINX is a web server which can also be used as a reverse proxy, load balancer and HTTP cache.
6 Stories
All Topics

Dropbox Tech Blog Icon Dropbox Tech Blog

How we migrated Dropbox from Nginx to Envoy

In this blogpost we’ll talk about the old Nginx-based traffic infrastructure, its pain points, and the benefits we gained by migrating to Envoy. We’ll compare Nginx to Envoy across many software engineering and operational dimensions. We’ll also briefly touch on the migration process, its current state, and some of the problems encountered on the way.

Envoy, for the uninitiated, is a proxy server “designed for cloud-native applications”. It was created by Lyft and used by a lot of big players in the cloud/services world.

Not only is this article interesting as a “switching” story, it’s also fascinating because of the scale of the migration:

When we moved most of Dropbox traffic to Envoy, we had to seamlessly migrate a system that already handles tens of millions of open connections, millions of requests per second, and terabits of bandwidth.

High stakes!

NGINX github.com

top for nginx (re-written in Rust)

This tool is a rewrite of ngxtop to make it more easily installed and hopefully quicker. For those unfamiliar with the ngxtop, it is a tool that helps you parse NGINX access logs and print various statistics from them regardless of format. It is currently not feature complete with the original version but it should have enough functionality to be usable.

If you already have Rust installed you can cargo install topngx and you’re off to the races.

topngx < /path/to/access.log

# Output:
count  avg_bytes_sent  2XX  3XX  4XX  5XX
2      346.5           2    0    0    0
request_path              count  avg_bytes_sent  2XX  3XX  4XX  5XX
GET / HTTP/1.1            1      612             1    0    0    0
GET /some_file1 HTTP/1.1  1      81              1    0    0    0

NGINX nginx.com

NGINX has been acquired by F5

The path for a startup can have three outcomes: never fail and keep existing, get acquired, or IPO.

For a commercial open source startup like NGINX, the matter gets a bit more complicated because attached to the company is the tech, the open source project, and the community. The transition is more than just an exit to a new stage, it requires a far more calculated choice to ensure things don’t change, too much. Change always happens.

Gus Robertson, CEO of NGINX, writes:

With today’s news, our vision and mission don’t change. We’re still helping customers build distributed application architectures. We’re still building a platform that optimizes ingress‑egress traffic and APIs. And we’re still helping companies on their journey to microservices. What does change is our trajectory. F5 shares our mission, vision, and values. But they bring to bear a tremendous amount of additional resources and complementary technologies.

And make no mistake about it: F5 is committed to keeping the NGINX brand and open source technology alive. Without this commitment, the deal wouldn’t have happened for either side.

Also, from the official announcement

…F5 will acquire all issued and outstanding shares of privately held NGINX for a total enterprise value of approximately $670 million, subject to certain adjustments.

0:00 / 0:00