Apache is still the undisputed king of web server software but according to the latest Netcraft Web Server Survey from November 2011, NGINX usage has grown almost 300% over the last year.
In real numbers NGINX increased from about 15 million sites a year ago to 43 million in November 2011. That’s a faster growth than any other web server software tracked by Netcraft.
Since we’re big fans of NGINX at Pingdom, we wanted to try to understand this tremendous growth, so we put some questions to Andrew Alexeev (Q&A further down). Andrew looks after Business Development and Marketing for NGINX Inc., the company formed in October this year, backed by $3 million in venture funding, with the intent to expand the open source NGINX project and explore commercial opportunities.
NGINX usage has skyrocketed
NGINX is the little web server that could. At least that’s how it started in 2002, a development project with the goal of creating a fast and light-weight web server that could take on specialized roles as load balancer, caching, etc.
With a first public relese in 2004, NGINX has gone from strength to strength. Besides being fast, NGINX also requires relatively few resources on the machine it runs on. All things combined, NGINX can handle a very large number of simultaneous connections without suffering in performance.
The high performance is certainly one main reason why NGINX is popular among webmasters around the world. That NGINX is also open source certainly hasn’t hurt its popularity.
If you’re a regular reader of this blog, you may remember that we wrote about the dramatic increase in popularity of NGINX a year ago.
Here’s the development of NGINX over the last few years according to Netcraft:
Just to put the NGINX numbers in perspective, we should point out that in Netcraft’s surveys, the total number of sites tracked as well as NGINX’s main competitors have also seen an increase:
- The total number of sites tracked by Netcraft has doubled over the last year from 249,461,227 in November 2010 to 525,998,433 in November 2011.
- In the same period, Apache increased from 148 million sites to almost 342 million.
- Microsoft’s IIS grew from 57 million to over 81 million.
Q&A with Andrew Alexeev from NGINX
This mind boggling growth for NGINX obviously creates lots of questions.
So following up on last year’s interview we wanted to throw some questions at NGINX again to see what’s been happening and what the plans are for the future.
Andrew Alexeev who’s in charge of Business Development and Marketing for NGINX took time to answer our questions.
Pingdom: What was the genesis of NGINX? How and why did it get started?
Andrew: NGINX started in 2002. Igor Sysoev ‒ the original author of NGINX ‒ had been working at Rambler, a big Russian media company. While there, he pondered the feasibility of writing his own web software to make highly loaded websites scale much better.
It all started with a question raised by the prominent software engineer Dan Kegel: Would it be possible for a web server to easily handle 10,000 or more concurrent connections? Igor was quite intrigued by the possibility, so he started to study in more detail the challenges associated with making a fast, compact and scalable web server.
In those days, the main problem faced by legacy web servers was their inability to handle lots of concurrency, which was caused primarily by large numbers of slow clients. Nowadays, concurrency is also caused by a combination of mobile clients (who are still predominantly slow) and the newer application architectures, which are often based on maintaining a persistent connection, allowing the client to be quickly updated with the content. An additional important factor contributing to increased concurrency is the changed behavior of modern browsers, which typically open four to six simultaneous connections to a website to increase the speed of page downloads.
Older web software spawns a separate process or thread for each new connection, making it inefficient as the number of simultaneously connected clients grows to thousands and tens of thousands, with huge numbers of requests per second.
To deal with these concurrency-related problems, Igor decided on event-based, asynchronous, non-blocking architecture for NGINX, which would allow web servers to process many thousands of connections inside a single process and a highly efficient run-loop. This solution turned out to be a very successful approach for many companies on the Web.
Igor opened NGINX to the public in 2004, and NGINX’s popularity has been growing rapidly ever since. NGINX has always been open source software distributed under the 2-clause BSD license, a model many users appreciate because of its simplicity and flexibility. Since launching the solution, Igor has received many useful suggestions for enhancing NGINX, and over the past 10 years he has introduced a number of new features that have established NGINX as a really interesting toolset.
NGINX has become a very important enabling mechanism for big and small companies worldwide, currently powering 4 out of the top 10 companies from Business Insider’s 2011 “World’s Most Valuable Startups” list, including Facebook, Groupon, LivingSocial and Dropbox. NGINX is also being run by 25% of the top 1,000 busiest websites, and overall by 45 million websites on the Internet.
Pingdom: We asked you last year why you thought NGINX was growing so fast. In a year, according to Netcraft, the number of servers running NGINX has almost tripled to just over 43 million in the November report. To what do you attribute this?
Andrew: We think there are several reasons why NGINX is becoming even more popular. First of all, while its development has been quite fast, the growth of new features has developed steadily over time and with a predictable release cycle. The result is that people now understand this software is being thoughtfully and carefully maintained and they have confidence it will continue to be developed further.
Secondly, NGINX is no longer just a fast and compact web server but also a web infrastructure platform. In a variety of contexts, NGINX provides the right tools for the right job ‒ or rather it provides a set of the right tools. It can be used as a high performance web server for static and dynamic content, a Layer 7 load balancer, caching engine, HTTP streaming server, SSL accelerator, mail proxy and a security gateway for backend applications.
NGINX also brings an important set of values to web developers, including efficiency, performance, scalability and reliability, as well as optimized costs of development, deployment and operations for either large-scale or smaller web installations.
Finally, whether you’re using one or two of NGINX’s features or have made it a complete solution, the software remains compact and is capable of serving an increasing workload without consuming much additional hardware resources.
Pingdom: You have indicated before that NGINX is used more often as a proxy than as a main web server. Has the typical use of NGINX changed any over time?
Andrew: It seems it actually has changed. In the past few months we’ve heard several very interesting stories about people using NGINX in combination with FastCGI/PHP-FPM, Ruby on Rails and Python. There are companies out there that happen to have hundreds of application-enabled NGINX instances handling some really big workloads. An interesting example is WordPress.com, which has recently migrated its web servers completely to NGINX to serve 25+ million blogs.
There are also some notable examples of heavy NGINX usage with reverse proxy. CloudFlare’s service is probably one of the best examples here. CloudFlare, which built its front-end infrastructure with NGINX, is now serving over 15 billion page views per month, delivering great services to their customers ‒ and this has happened in just one year after the service was launched to the public.
Pingdom: In October 2011 you announced that you had received $3 million in venture funding. Why did you decide to go this way and what does it mean for the future of NGINX?
Andrew: With NGINX’s popularity, it didn’t make sense for Igor to continue NGINX as a single-handed development project. Igor realized that a) NGINX is the project he would like to develop further and make even better, and b) he’s not able to do that efficiently by himself. With that in mind, Igor decided to quit his job and start a company with a few other people, and that is exactly what happened.
The company is focusing on two main directions. The first is to intensify the focus on open source product development. Our plan is to make the free open source NGINX better, enhance it with the new features and functionality, resolve problems, implement bug fixes, and so on. We’ve been also actively improving documentation to make it more consistent and clear. Many of our users have already noticed progress on that front. In fact, support processes have already been streamlined since the company received venture backing. We will continue to distribute the free open source version of NGINX under the BSD license, and there will be no shortage of new and interesting enhancements.
Our second focus is on creating a commercial entity which will offer paid products based on NGINX. From our conversations with existing customers and partners, we’ve learned they would like to see more features specific to their areas of business on top of NGINX ‒ and they have been very clear that these features are worth paying for. For example, we’re currently producing a set of valuable extensions for the CDN, hosting, cloud, media and entertainment markets. The commercial products will capitalize on the core strength of NGINX as a high-performance and efficient platform for connection processing and optimization. At the same time, we’ll plan to expend considerable effort on keeping the right balance between what we’re going to sell and what will be open source, as both the company and the investors clearly understand the subtle line you need to follow to avoid distracting such a great open source user community.
Pingdom: Before, Igor Sysoev was the only developer of NGINX, has that now changed and how big is the team?
Andrew: The development team currently consists of Igor and three other developers. We also have system engineers onboard responsible for internal services and for supporting the customer cases.
Pingdom: Finally, is usage statistics like what’s available at Netcraft.com something you pay attention to? If so, does it in any way influence the future direction of NGINX in terms of features and functionality?
Andrew: We do track web server usage surveys and statistics (mainly from Netcraft and W3Techs). This information doesn’t really influence the direction of NGINX, however. Primarily, we listen and talk to the community users who provide real-life feedback and suggestions to include in the roadmap as we plan our future. On the other hand, it does show us that NGINX is headed in the right direction, because for quite a while we’ve been the only web server with its market share steadily growing. So, the web server surveys are actually good indicators for us in gauging whether we’ve been delivering a valuable product.
A bright future ahead for NGINX
We think it’s good news for NGINX and all users of the web server software that the company has received an investment and hired more developers. This is the path that many similar projects have taken in the past, such as MySQL. In some cases the community of passionate users have to some degree voiced concerns about the future of the project. To alleviate the risk of that happening with NGINX, it is in the company’s interest to keep the passion alive in the community at the same time as they work on the commercial side of the business.
We also get the impression that the guys at NGINX have a good understanding of what it is that makes the web server software so popular, which should mean they stand a good chance of achieving commercial success as well.
One thing is for sure and that is that increased success comes with increased attention. It’s been suggested that by the end of 2012, NGINX may have become the number two web server in the world. When and if that happens we hope to be be able to check in with the NGINX team again to see how the company and the software is developing.
NGINX may have been the little web server that could, but now it’s playing in the big league.
A big thanks to Andrew Alexeev for taking the time to talk to us about NGINX.
Image credit: Nginx logo by Cliff Wells.