blob: ca0ab7a947421a20e1cefdd8611d0b247a5627c7 [file] [log] [blame]
---
layout: post
status: PUBLISHED
published: true
title: Apache HTTP Server Usage Survey Results
author:
display_name: Sander Temme
login: sctemme
email: sctemme@apache.org
author_login: sctemme
author_email: sctemme@apache.org
excerpt: "Wouldn’t it be nice if you had an idea of how people use the software that
you write? I wanted to have an idea how the <a href=\"http://httpd.apache.org/\">Apache
HTTP Server</a> is being used, and which features users consider important. So,
I set up a short online survey of eight questions and sent a link to it to the HTTP
Server project user and developer mailing lists. Over the next week and a half,
I got 134 responses. Here are the survey results in shiny pie charts with witty
interpretation.\r\n\r\n \r\n \r\n \r\n <div id=\"myEventWatcherDiv\" style=\"display:
none; \"></div> \r\n <div id=\"myEventWatcherDiv\" style=\"display: none; \"></div>
\r\n <div id=\"myEventWatcherDiv\" style=\"display: none; \"></div> \r\n <div
id=\"myEventWatcherDiv\" style=\"display: none; \"></div>"
id: 25b3d2df-e827-4c34-91f7-a9612800635d
date: '2012-02-29 07:32:50 -0500'
categories:
- General
tags: []
comments: []
permalink: httpd/entry/apache_http_server_usage_survey
---
<p><em>By <a href="http://www.temme.net/sander/">Sander Temme</a></em></p>
<p>Wouldn&rsquo;t it be nice if you had an idea of how people use the<br />
software that you write? I wanted to have an idea how the&nbsp;<a href="http://httpd.apache.org/">Apache HTTP Server</a> is being used, and which<br />
features users consider important. So, I set up a short online survey of eight<br />
questions and sent a link to it to the HTTP Server project user and developer<br />
mailing lists. Over the next week and a half, I got 134 responses. Here are the<br />
survey results in shiny pie charts with witty interpretation.</p>
<h2>On which operating system do you typically use Apache HTTP Server?</h2>
<p>This question, actually number two in the survey, received<br />
quite a few write-in responses. I had<br />
only the top four operating systems in the answer list, but respondents wrote<br />
in several more. One respondent wrote: &ldquo;I use Apache simply because it works<br />
transparently on Linux and Windows,&rdquo; and another &ldquo;FreeBSD on my hosting<br />
service, Linux at the office.&rdquo; One respondent wrote: &ldquo;<span lang="PT-BR">Estou come&ccedil;ando a programar em php!</span>&rdquo; (I&rsquo;m<br />
starting to program in PHP!) The following graph has all of the operating<br />
systems that appeared in the survey responses:</p>
<p><a href="https://blogs.apache.org/httpd/mediaresource/197eaecf-025e-4a3a-91cd-6a04ec638c38"><img src="https://blogs.apache.org/httpd/mediaresource/197eaecf-025e-4a3a-91cd-6a04ec638c38" alt="operating-systems-full.png" /></a></p>
<p>Linux and Windows make up the vast majority of operating<br />
systems in use, accounting for over 80%. Sliced another way, 80% of respondents<br />
uses Apache on Unix-like platforms. </p>
<p>Why all those write-ins? My theory is that it has to do with<br />
the desire to make one&rsquo;s platform of choice known. Usually when we are asked<br />
this question, the asking is done by marketeers trying to save some money by<br />
cutting support for less popular platforms. If we don&rsquo;t speak up, our platform<br />
might get cut. Fortunately, Apache doesn&rsquo;t work this way: support for various<br />
operating systems and platforms is provided by the developer community. Whether<br />
a specific operating system is popular does not matter: as long as there are<br />
developers interested in supporting a platform, the Apache HTTP Server will run<br />
on it.</p>
<h2>How do you typically obtain your Apache HTTP Server Software</h2>
<p>Technically, the httpd project only releases source code:<br />
once the source code archive is up on the download servers, the project is done<br />
with the release. Anyone can download and compile the software for his own use.<br />
However, a lot of users obtain httpd through some other means. They don't have<br />
the expertise to compile their own, or find it unnecessary because their Linux<br />
distribution comes with httpd already installed. Some platforms, like Windows,<br />
ship without a compiler and building Apache on it is non-trivial. When asked<br />
how they typically obtained their Apache HTTP Server software, this is how the<br />
user community answered:</p>
<p><a href="https://blogs.apache.org/httpd/mediaresource/1882757d-576a-4996-9815-8907168c79cc"><img src="https://blogs.apache.org/httpd/mediaresource/1882757d-576a-4996-9815-8907168c79cc" alt="how-obtained.png" /></a> </p>
<p>A large minority of respondents compiles their own httpd<br />
from source. This is a little surprising: I assumed that more users would use<br />
packages from their distributions or third party downloads. Of course, most<br />
respondents learned about the survey from the httpd developer and user mailing lists:<br />
one can expect a large proportion of sophisticated users that have the<br />
expertise and wish to exercise control over their deployments that requires<br />
custom-built HTTP Server software. What&rsquo;s interesting is the same data<br />
cross-referenced by operating system:</p>
<p><a href="https://blogs.apache.org/httpd/mediaresource/f06f78ca-d33a-4a54-b596-d4d22d09147e"><img src="https://blogs.apache.org/httpd/mediaresource/f06f78ca-d33a-4a54-b596-d4d22d09147e" alt="platform-method.png" /></a></p>
<p>Third party packages are popular on Windows, which ships<br />
without a compiler. Also, it is not trivial to build httpd and its supporting<br />
libraries on the platform. It&rsquo;s much easier to grab an installer, especially<br />
since members of the httpd developer community usually make one available. To<br />
the credit of the port maintainer, all respondents who run FreeBSD install<br />
their httpd from the ports collection.</p>
<h2>Which version of Apache HTTP Server do you mostly run?</h2>
<p>There is very little surprise here: Apache HTTP Server 2.2.x<br />
is the most popular by far: </p>
<p><a href="https://blogs.apache.org/httpd/mediaresource/3e52b95a-7984-41b8-9c5e-7ee9bcab138d"><img src="https://blogs.apache.org/httpd/mediaresource/3e52b95a-7984-41b8-9c5e-7ee9bcab138d" alt="which-version.png" /></a></p>
<h2>Which application API modules do you use?</h2>
<p>Respondents could select multiple answers to this question.<br />
PHP remains the most popular module: this is unlikely to surprise anyone. </p>
<p><a href="https://blogs.apache.org/httpd/mediaresource/7505d1d9-f1d6-4bab-87c4-8c91dcd062f2"><img src="https://blogs.apache.org/httpd/mediaresource/7505d1d9-f1d6-4bab-87c4-8c91dcd062f2" alt="api-modules.png" /></a></p>
<p>It&rsquo;s interesting to see a strong showing for the good old<br />
CGI interface. The results may be slightly skewed by the fact that mod_python<br />
is no longer actively developed: as several people noted, its role has been<br />
taken over by mod_wsgi. I also did not include several integrations that might<br />
prove popular, like FastCGI.</p>
<h2>How important are the following features of Apache HTTP Server to you?</h2>
<p>This question allowed respondents to indicate how important<br />
various features of httpd are to them. </p>
<p><a href="https://blogs.apache.org/httpd/mediaresource/73c4de79-8d90-4459-b36f-7c32b91388ca"><img src="https://blogs.apache.org/httpd/mediaresource/73c4de79-8d90-4459-b36f-7c32b91388ca" alt="feature-temperature.png" /></a></p>
<p>The features people feel most passionate about are clearly<br />
SSL support and URL rewriting/mapping: these each got about 50% &ldquo;can&rsquo;t live<br />
without.&rdquo; Nobody does <em>not</em> care about<br />
URL rewriting. Scalability and extensibility are important, but aren&rsquo;t &ldquo;can&rsquo;t<br />
live without&rdquo; features. The easy configuration gets only a small amount of<br />
passion: I guess that if you are familiar enough with httpd to fill out the<br />
survey, you tend to not be intimidated by its configuration language.</p>
<h2>Will you upgrade to Apache HTTP Server 2.4 when it is released?</h2>
<p>At the time of the survey, version 2.4 of the server had not<br />
been released. Asked whether they would upgrade immediately upon release, most<br />
respondents chose the safe route of waiting a while. A few intrepid souls (fewer than 20%) planned<br />
to upgrade immediately. </p>
<p><a href="https://blogs.apache.org/httpd/mediaresource/0c604e11-85c5-487b-944e-cb1ba9eda497"><img src="https://blogs.apache.org/httpd/mediaresource/0c604e11-85c5-487b-944e-cb1ba9eda497" alt="when-upgrade.png" /></a></p>
<h2>In which environment do you mostly use Apache HTTP Server?</h2>
<p>This was the only demographic question in the survey: an<br />
attempt to learn a little bit about the respondents. </p>
<p><a href="https://blogs.apache.org/httpd/mediaresource/d7e8059e-25e8-4d2c-b85d-668dfc74d185"><img src="https://blogs.apache.org/httpd/mediaresource/d7e8059e-25e8-4d2c-b85d-668dfc74d185" alt="work-environment.png" /></a></p>
<p>Almost half of the respondents use httpd in a small or<br />
medium-sized business, and only one eight work in a Fortune 500 company. This discrepancy may be partially caused by<br />
the fact that there are millions of small and medium businesses, and the number<br />
of Fortune 500 companies is limited to&hellip; 500. Consultants and non-profit<br />
organizations are well represented; government respondents are a small<br />
minority.</p>
<h2>If I could improve one thing about Apache HTTP Server, it would be&hellip;</h2>
<p>This was a free-form write-in question: respondents could<br />
fill in whatever they wanted. Just under half of the respondents took advantage<br />
of this opportunity. The full list of responses will be shared with the HTTP<br />
Server development community, but I will quote a few. </p>
<p>Some respondents wanted to improve the feature set, such as:</p>
<ul>
<li>&ldquo;A more advanced interface for adding or removing backend servers in reverse/balancer situations&rdquo;</li>
<li>&ldquo;Proper cluster synchronized cache&rdquo;</li>
<li>&ldquo;Easy cache control&rdquo;</li>
</ul>
<p>Quite a few addressed the configuration process: </p>
<ul>
<li>&ldquo;Ease of configuration&rdquo;</li>
<li>&ldquo;The overall configuration spaghetti jungle.<br />
While I do understand the&ndash;extreme&ndash;flexibility, when you investigate someone<br />
else&rsquo;s server, you have to wade through 10s of files for perhaps one website&rdquo;</li>
<li>&ldquo;Easier configuration of virtual hosts&rdquo;</li>
<li>&ldquo;Configuration file syntax; I'd completely re-do it to be more modern and less confusing&rdquo;</li>
<li>&ldquo;Config process could be simpler.&rdquo;</li>
</ul>
<p>One person asked for &ldquo;a config GUI.&rdquo; Another suggested a fixed<br />
interval release cycle. Documentation was another frequently raised topic. It<br />
is tempting to address or rebut many of the comments. I purposely refrained<br />
from editorializing here: a discussion about these comments should develop<br />
within the development community, on the developer mailing list.</p>
<h2>Conclusion</h2>
<p>The survey confirmed several things I suspected. For<br />
instance, Linux and PHP are popular. Apache HTTP Server 2.2.x is by far the<br />
most widely used version of the server. Other findings may be more unexpected:<br />
the importance of SSL and URL rewriting for so many, or the relatively strong<br />
showing of the CGI interface. </p>
<p>To my delight, one person offered in the write-in space: &ldquo;It<br />
serves my needs completely&rdquo; and another wanted to improve &ldquo;nothing. The current<br />
product meets my needs. Thank you so much.&rdquo; </p>
<p>You are very welcome. </p>
<p><em>Apache HTTP Server</em> is a trademark of the Apache Software Foundation.</p>
<div id="myEventWatcherDiv" style="display: none; "></div>
<div id="myEventWatcherDiv" style="display: none; "></div>
<div id="myEventWatcherDiv" style="display: none; "></div>
<div id="myEventWatcherDiv" style="display: none; "></div>