InternetWorld: Open Source: Ready For Prime Time?Apr 23, 2000, 20:12 (6 Talkback[s])
(Other stories by David F. Carr)
By David F. Carr, InternetWorld
The Linux/Apache combination has won many fans among Web developers because it performs basic tasks well and also lends itself to highly customized solutions. The big question is how well the open source platform stacks up as a strategic choice for e-business.
Just how do you build a Web application in Linux? Well, if you're building SourceForge--one of the sites VA Linux runs under the Linux.com umbrella--you do everything with open source technologies: Apache Web server, PHP scripts, and MySQL as the database.
But it's not just the ideologically committed who are betting their businesses on open source Web technologies. Yahoo is among the most famous users of Apache on FreeBSD, another open source operating system. Hotmail continues to use the same combination, even now that it's owned by Microsoft. EToys runs its own custom-built Web server on Linux, and Linux/Apache is a popular choice for Web startups.
Linux, of course, is the Unix clone that namesake Linus Torvalds created in the early 1990s, when he was a university student in Finland, by marrying an Intel-compatible operating system kernel of his own design with other open source system utilities, particularly those from the Free Software Foundation's Gnu project. The Linux development community has since grown very large because of its inclusive style of open source software development, whereas FreeBSD-lovers tend to like that system's more controlled development model and closer adherence to Unix standards. In practice, both operating systems run much of the same software.
Last year, Linux became the second most popular server operating system, behind Windows NT, according to International Data Corp. It surpassed Novell NetWare and all forms of Unix in number of units shipped, and the actual proliferation of servers may be much higher, because users can install the operating system on as many machines as they like. Vendors like Red Hat and Caldera sell convenience more than software, organizing the vast array of open source resources onto a CD-ROM and sponsoring the development of better user interfaces and administration utilities. Meanwhile, IBM lends an aura of blue-chip respectability with commercial support of both Apache and Linux, and its commitment to porting e-business products to Linux. But even with the help of those vendors, this is a "some assembly required" environment, particularly compared with the all-inclusive platform offered by Microsoft.
The benefits of open source have to be weighed against the relative immaturity of the middleware and database software required for more complex applications. You may need to consider the commercial alternatives for some of these components, or at least hedge your bets so that you can make a change later if necessary.
A strategic choice?
"On the database side, if I wanted to run the biggest, meanest database-driven site possible, I would run an Oracle database on Solaris--but I still wouldn't hesitate to put Linux boxes in front of it," says Drew Streib, one of the creators of SourceForge. Still, he says sites like his own and Slashdot, a popular open source message board, run just fine in an all-open-source environment.
Commercial operating systems also tend to be capable of running on some higher-end hardware than the open source alternatives, particularly in terms of the number of processors per server. However, Linux fans say they are often able to achieve their scalability with many smaller servers, rather than a single large one.
One of the assumptions Gartner Group analysts make about the future of e-business is that it will be dominated by whomever can come up with the most complete technology stack, with elements for success stretching from the hardware and operating system through Internet servers, middleware, and packaged applications. Microsoft doesn't have all the pieces, but it tends to come out ahead, because its server operating systems include many basic elements--including Web server, middleware for handling transactions and distributing processing, directory server, etc. Open source technologies don't even place in this competition, according to Gartner, while IBM, Oracle, and Sun each present different strengths.
"We're looking at Linux as a volume commodity play in the market, where you can cluster lots of servers in a rack incrementally to provide performance," says Gartner analyst George Weiss. It's good for anyone putting up a basic Internet server, and is winning solid grass-roots support in that role, but it's not yet capable of supporting more centralized enterprise systems.
Tony Iams, an analyst with D.H. Brown, says he expects Microsoft to regain much of the momentum it had lost to the Linux camp because Windows 2000 provides a more complete environment for building distributed applications. And he questions whether the hacker mentality is a good match for the future of e-business. "The attitude a lot of these people have is, 'Give me a good Perl interpreter and I'll write you a distributed application.' I think that's a little shortsighted."
Despite all the heated Linux vs. Windows rhetoric, many organizations never seriously debate which way to go. The choice hinges as much on the skills and background of the development and administration teams as on the strength of the underlying platforms. Linux tends to attract those who can program and administer a server much more efficiently from the command line than by navigating through a series of graphical screens. Although user-interface improvements are part of the Linux movement's plan for world domination, the open source tools for Web development and administration are still nowhere near as graphical as the Windows interface. And many Linux fans are more likely to duct-tape a Web site together with Perl, improvising as they go, rather than architecting around some grandiose object model.
More than one way
"Anybody who tries to tell you they have one answer for everything is trying to sell you something," says Victor Brillon, a creator of the AnywhereYouGo.com Web community for developers of mobile Web applications. He and Ryan Fife, who led development of the site as a venture of Dallas-based People/Design / Technology Inc., say they are happy with their choices of Red Hat Linux and Enhydra, an open-source Java application server. But they plan to migrate from MySQL to a commercial database, which may run on Linux.
"There are some cases where you just can't beat Oracle on Solaris, and there are also some cases where Oracle on Linux is a very good fit," Fife says. But after building other sites on products like Vignette's StoryServer and Art Technology Group's Dynamo, Fife finds an open source application server a refreshing alternative.
"One of the most frustrating things with the commercial products is that often when a new version comes out, you're required to rewrite your applications," Fife says. By using an open source server, he figures he could, if necessary, take just the bug fixes from a new release of Enhydra without accepting changes that might disrupt his applications.
"It relies on you, the developer, going out and finding the resources you need," concedes Brillon. "Which means the learning curve is a little higher than a traditional Microsoft implementation."
Certainly, Microsoft lays out a relatively clear technology road map, recommending a single solution of its own for every layer of Web application architecture, whereas the open source story is more chaotic. But open source advocates think it's okay to have many different ways of solving the same problem.
"With Microsoft, if you want to do things any way other than their way, you have to go through a process of system dis-integration," says Michael Tiemann, chief technology officer at Red Hat.
A sufficiently knowledgeable Web development staff can create highly customized and tightly tuned applications by configuring Linux and Apache to load just the minimum set of services required for a particular application. They can even modify core elements of the system. As for providing a complete e-business software stack, Tiemann says Red Hat can do that, too--through bundling agreements with partners, such as IBM and Oracle, that provide commercial database and application-server products on Linux.
Some of the biggest commercial vendors are also pouring resources into open source development projects, particularly where they are trying to drive the adoption of standards. For example, Sun Microsystems and IBM are cooperating with the Apache community on projects related to support for Java and XML, respectively. Hewlett-Packard has signed on with Collab.Net, a company started by Apache Software Foundation president Brian Behlendorf, to organize open source development projects related to its E-Speak technology.
Smaller companies are also supporting open source. For example, the Enhydra application server is backed by a consulting firm, Lutris Technologies, that offers implementation services but gives away the software.
"I don't think there is a missing piece, although we could do a much better job of integrating all this stuff," Behlendorf says. "Some of these open source Web technologies rival application servers that cost $20,000 to $30,000 per CPU." True, open source hasn't solved high-end problems like producing a database server capable of managing million-row tables, he says, "but those areas aren't price-sensitive."
Just As Good?
For example, a benchmark report prepared by Mindcraft, a software testing lab, showed Microsoft Internet Information Server on Windows NT 4 outperforming and outscaling an Apache/Red Hat Linux combination on identical hardware. IIS ran 2.2 times faster on a four-processor system and 1.4 times faster on a one-processor machine, according to Mindcraft.
Apache leaders dispute some details of the methodology, but they don't totally dismiss the results. Apache 2.0, which was released as alpha code in March, will address some of the server's current weaknesses by leveraging the multiprocessing architectures of different operating systems.
Similarly, though many Linux fans continue to ridicule Windows NT Web servers for needing to be rebooted as often as once a day, Behlendorf says Microsoft has taken away that argument with the release of Windows 2000.
And he concedes that IIS enjoys a performance advantage because of its tight integration with the multi-threaded architecture of Windows. "Performance was never our number one goal. Our goals were always protocol correctness and flexibility." And, of course, portability, which is something you don't get with IIS. He also argues that experienced Apache developers who know how to tune their Web applications can overcome any handicap in terms of sheer performance.
Marty Larsen, director of professional services at VA Linux, says he always plays up the portability argument when trying to convince customers to switch from Windows to Linux. "The fact is, a Linux port will be 99 percent of the way there to a Solaris port, in the event that they decide they need to do that," Larsen says. More than half of his business comes from companies making that switch, he says.
"Linux is a great way to start," advises Max Grasso, chief technology officer at systems integration company NetNumina, "but you need to keep on your toes to be able to move off of it."