Interview: Nginx's Gus Robertson
ID:36374
Admin Magazine: For the benefit of new users, what problem was Nginx trying to solve when the project started?
Gus Robertson: Nginx was initially written by Igor Sysoev in 2002 to address the performance limitations of available web servers for managing rapidly increasing web traffic. When Nginx launched as an open source project in 2004, it looked to solve the broader challenges faced by the World Wide Web at the time, including explosive growth of both traffic volume and web page weight. This growth posed significant challenges to the current process-per-connection web service model and opened the market for Nginx, which, from the beginning, has provided high performance, high concurrency, and low memory usage. Instead of using a threaded or process-based architecture, Nginx provides an event-driven architecture that enables it to scale easily on modern hardware.
AM: Many projects tend to go beyond their original purpose or get bloated; how much has Nginx change since its first release?
GR: Nginx has changed a lot since its first release, but we still focus on the issue Nginx was initially created to resolve: keeping up with increased demand on the web. The main difference is that we have added hundreds of new features and technical capabilities.
In September, we released our seventh iteration, R7, which includes support for the new HTTP/2 web standard, and nginScript, our JavaScript implementation. Today, Nginx open source has benefited from well over 100 new features and updates, and Nginx Plus has matured into a highly capable application delivery platform.
With regard to bloat, we do everything in our power to keep the total lines of code and complexity in our software to the absolute barest minimum. Our engineering staff are ruthless about optimizing every feature within Nginx and will re-write code multiple times to keep it lightweight and high performance. In addition, we remain committed to a modular approach to activating features, so you can deploy Nginx for simpler use cases without the overhead of additional code.
AM: Nginx has become a clear alternative to Apache. To what do you attribute this success?
GR: The Apache HTTP server and Nginx are the two most popular open source web servers powering the Internet today. Apache is a solid platform for almost any web technology developed over the last 20 years, but time is showing that the architectural decisions made when the code was first laid down limit Apache's suitability for modern web demands.
Some of the reasons for the migration towards Nginx is its performance, reliability, and consistency on existing and new infrastructures, and its ability to seamlessly scale to meet the demands of today's rapidly increasing web traffic.
Another factor is the changing nature of web and application development and deployment. New technologies and ideologies like microservices, DevOps, and containers have created a fundamental shift in the way developers and organizations function. According to one recent survey, Docker containers have experienced a 500 percent increase in adoption since September 2014. Nginx's lightweight nature and robust performance qualities make it a good option for deploying in containers on a resource-constrained, multitenant server.
AM: Can you tell us about Nginx Inc. the company?
GR: Nginx Inc. was founded in 2011. Our founder, Igor Sysoev, kept the open source project running almost single-handedly for almost 10 years, but he decided he wanted to have a solid, professional development team for Nginx in order to maintain and improve the software. To do this, he needed to establish a company and create financial stability for the product, which meant obtaining commercial customers.
Today, the company has hundreds of commercial customers across a variety of industries and company sizes, and Nginx is now the most commonly used web server for the 100,000 busiest sites on the Internet.
The Nginx company culture is built upon our core values: progress, excellence, openness, and curiosity. As a small company that is growing quickly, we remain true to our open source roots by maintaining a start-up culture and by providing products that are known for high performance and efficiency.
AM: How do you operate as a profitable, sustainable entity? What is your business model?
GR: Nginx Inc. offers both an open source and a commercially supported solution. The commercially supported solution, Nginx Plus, is offered on a subscription model.
Pricing is based on the number of instances, with per-instance price decreasing as volume grows. Larger customers also have the option of unlimited use of Nginx for specific applications or across their company. Nginx Plus gives customers advanced features most commonly found in commercial application delivery controllers and hardware load balancers. Some of the advanced features in Nginx Plus include HTTP and TCP load balancing capabilities, application-aware health checks, robust monitoring, on-the-fly configuration changes, and media streaming. We also offer standard or premium technical support packages; support includes guidance with design, installation, configuration, and optimization, as well as bug fixes and updates. We also offer consulting services to assist customers in tailoring their configurations.
AM: What is the relationship between Nginx the open source project and Nginx Plus?
GR: Nginx, the open source software, and the commercially supported Nginx Plus, are both built by our core engineering team. Nginx Plus builds on top of that core code base and adds in commercial grade application delivery capabilities. Feature development for both products runs in parallel, with nearly two-thirds of our engineering team creating features that are deployed in both products.
AM: What companies are using Nginx? Can you name a few, and do they contribute to the project?
GR: More than 40 percent of the Internet's largest websites rely on Nginx, including Airbnb, Box, Instagram, Netflix, Pinterest, SoundCloud, Zappos, and more. Many contribute to the project through either commercial relationships or code. Most notably, our friends at Automattic (the makers of WordPress) and at Dropbox helped sponsor accelerating the development of support for HTTP/2.
AM: Although everyone tries to use Nginx as an alternative of Apache, are there cases where you would suggest users not use Nginx?
GR: For many application types, Nginx and Apache complement each other well, so it's often more appropriate to talk about "Nginx and Apache" instead of "Nginx vs. Apache." A very common starting pattern is to deploy the open source Nginx software as a proxy (or Nginx Plus as the application delivery platform) in front of an Apache-based web application. Nginx performs the HTTP-related heavy lifting – serving static files, caching content, and offloading slow HTTP connections – so the Apache server can run the application code in a safe and secure environment.
AM: How do you engage with the Nginx community? Do you organize events or other such programs to bring people, and partners under one roof?
GR: In September, we hosted our second annual user conference, nginx.conf 2015, in San Francisco and had nearly 600 developers, DevOps engineers, CTOs, IT professionals, and other technology leaders. The event consisted of a full day of training for system administrators and developers, as well as two days of speaking sessions and new product announcements. Attendance was double from our first user conference.
We also host regular summits and trainings all over the U.S., which bring together users for courses and speaking sessions and provide them with time to interact with other users, partners, and members of the Nginx team.
We are incredibly lucky to have the support of our community, whether that comes from a commercial user, a third-party developer, a supporter, or an end user of Nginx.