Apache, take two

After three years in the making, the leading server software for delivering Web pages to a user’s browser has graduated to its next version.

The Apache Software Foundation, an organization dedicated to the popular open source Web server Apache, announced the availability late Friday of the production release of Apache Version 2.0. Developed by a collective of open source programmers, the release adds support for multithreading systems as well as more complete support for a full range of operating systems.

“This was essentially a rewrite of the Apache Web server,” said Ryan Bloom, a lead engineer who helped develop the new version. Bloom is vice-president of the Apache Portable Runtime project, which was responsible for tuning Apache for use with multiple operating systems.

“From what I’m hearing, the performance improvements are significant,” said Dan Kusnetzky, vice-president of systems software with Framingham, Mass.-based research company IDC, noting the benefits of its multithreading support. “They rethought the architecture and added additional benefits of security and allowed some clever additions of different modules so you could get better performance.”

Apache 2.0.35, as the final version has been called, is considered the most mature version of the software and is recommended for use over all older versions, including the Apache 1.3 series. Apache is widely recognized as the most popular server software for running Web sites. It is followed by Microsoft Corp.’s Internet Information Server (IIS), which has about half the market penetration but is gaining share, according to Netcraft L.L.C., a market research group that tracks Web server usage.

First released widely in the mid-1990s, Apache has been designed to work with roughly 50 versions of Unix as well as with Microsoft Corp. Windows, IBM Corp. OS/2, Novell Inc. NetWare and Palm Inc.’s BeOS.

“If you have a very heterogeneous server environment, Apache is your choice because it can work on all of your platforms,” Bloom said. “The biggest problem with Microsoft’s IIS is it only works with other Microsoft software.”

Despite its wide use, however, an upgrade top Apache hadn’t been released for more than three years, not including test versions.

“2.0 has been in discussion for a long time and there have been a bunch of prototype versions developed, but nobody sat down and put the effort into finishing it,” Bloom said.

After some stunted attempts, IBM got the project rolling in 1998 by hiring three engineers to focus on the effort. One of those engineers was Bloom, who since went to work for Covalent Technologies Inc., a software company that offers its own products that can be used in conjunction with the Apache Web server.

Covalent, in San Francisco, had already released Apache 2.0 in a slimmed-down version to some of its customers. It is expected to upgrade that software next week to reflect the features released by the Apache Software Foundation Friday, Bloom said.

The new version is expected to make Apache more reliable and better suited for use on larger servers. For example, its support for multithreading systems changes the way Apache distributes work to the operating system, according to Bloom. It relies on a hybrid method that allows the software to process multiple requests at once, with each of those requests managing multiple “threads.”

For instance, when a request comes from an end user to serve up a Web page, Apache 2.0 will divide up the work it takes to find the various images and text that make up that page. With the prior version of Apache, the server typically wasn’t able to do several tasks at once.

Arturo Castellanos, director of Web services at online travel company GeoPassage Corp., in Austin, Tex., has yet to investigate Version 2.0 of the software.

“If you have something in your network (that is) fairly stable, it’s always a crapshoot when it comes to upgrades. You don’t want to upset the whole order,” Castellanos said.

However, the multithreading support would be a driving factor in any decision to upgrade, he said. “Our Web site traffic isn’t huge, but … having a Web server that processes traffic more efficiently is always a bonus,” he said.

“As Apache became used in larger and larger configurations, some of the limitations in its architecture came to the forefront,” Kusnetzky said, noting that the lack of support for multithreading systems was lamented by some Apache 1.3 users.

Another addition to Apache 2.0 aims to make it easier for users to upgrade and tweak the software “without it becoming a maintenance nightmare,” Kusnetzky said. It is also expected to reduce the pain of integrating features, such as support for SSL (Secure Socket Layer) and Perl, into the Web server, he said.

Finally, Bloom said the new release supports WebDAV, improved HTTP (Hypertext Transfer Protocol) proxy support, I/O (input/output) layering and filtering, and has more complete support for a full range of operating systems.

“Apache 2.0 is a more complete port to every operating system,” he said. “1.3 was focused on Unix, and other operating systems were afterthoughts.”

The new version, along with more information, can be found at http://www.apache.org/