Open-source software combos challenge conventional views of enterprise software
- By Joab Jackson
- May 10, 2006
If someone comes to me and says, 'I have a really cool product,' well, that's interesting. But it's a big leap to say I'm going to change the way people do things for the sake of one particular product.'
'Drew Ladner, former CIO of Treasury
The next time you enjoy clear California air, you can thank a cheap stack of open-source software.
California's Air Review Board watches air conditions in the sunny state, monitoring quality and looking for ways to reduce pollution. Because it interacts quite a bit with various industry groups and citizens, it uses the Web to remain as transparent as possible to its constituency.
ARB'S IT department offers services that let staff members create Web pages about their programs, offer public access to key databases, and post drafts of rules, staff reports and other documents, as well as run a variety of mailing lists, bulletin boards and even webcasts of monthly board meetings.
When the ARB Stationary Source Division needed to vet some upcoming regulations concerning portable diesel engines, the IT shop set up a mailing list and Web site to hold meeting documents, agendas, bulletin boards and streaming video, giving 700 participants visibility into the rule-making process. The proposed regulations, should they be passed into law, would cost local industry over $500 million, so assuring participants had complete access to data was paramount.
To maintain such a bewildering array of services, you might think the ARB IT shop would need an expensive, Web-based content management system, or at least a fleet of high-priced application servers. Instead, the IT department used what in open-source circles is known as the LAMP stack for most tasks. LAMP is an amalgamation of different software programs'the Linux operating system, Apache Web server, MySQL database, and the Python, Perl or PHP scripting language (California went with PHP).
Sure, open-source software provided cost savings'ARB once estimated that the board chopped software procurement from $27,600 down to $59 by going with LAMP instead of a commercial application server. But the true value of LAMP is flexibility, not cost. The components are 'incredibly interoperable,' said Bill Welty, CIO of ARB.
'LAMP is open, and the open-source community is continually working to make it highly compatible internally. That's why we adopted the LAMP suite,' he said. 'Linux works with everything, Apache works with everything, MySQL works very well with Linux. PHP, Perl and Python will work with everything.'Fulfilling a promise
Although open-source software has long held the promise of cost savings, such appeal has been geared toward smart systems administrators who knew how to finagle the software to work with other applications.
In a sense, this approach is of limited value to the enterprise. Simply having a better product is not enough to attract the attention of enterprise IT managers, said Drew Ladner, ex-CIO of the Treasury Department and current general manager for the government group of open-source middleware provider JBoss Inc. of Atlanta.
'If someone comes to me and says, 'I have a really cool product,' well, that's interesting. But it's a big leap to say I'm going to change the way people do things for the sake of one particular product,' Ladner said.
'But if someone comes in and gives a much more strategic value proposition, [one that says] 'We can help you save a lot of money and actually have a positive impact across the organization,' then you have my attention.'
To this end, open-source software vendors have been thinking more along the lines of offering complete suites of software, or stacks, that have proven to work well together. Such stacks offer the best of two worlds. They can provide a wide range of capabilities in a single package, the kind long offered by enterprise software vendors. But unlike large commercial applications, stacks can be broken into modular components, allowing users to swap out components for others more suited to their specific tasks.
'It is always beneficial to have the integration issues addressed,' said Barry West, Federal Emergency Management Agency CIO, who will move to the Commerce Department as CIO next month. 'I see an advantage in having a stack of applications that are already tuned to work together optimally.'
Stacking components also improves reliability'another enterprise benefit.
'The name of the game for reliability in software is the ability to anticipate all possible execution environments,' said Ben Chelf, chief technical officer at software engineering firm Coverity Inc. of San Francisco. 'By combining components to form a stack, the potential set of execution environments is reduced, making the overall quality objectives easier to attain.'View from the top
Linux distribution vendor Red Hat Inc. of Raleigh, N.C., created a stir last month when it announced plans to acquire JBoss, a company selling a commercially supported version of the JBoss open-source application server.
Among the reasons Matthew Szulik, chairman and CEO of Red Hat, gave for the purchase was that its customers wanted a complete stack of software from one vendor'not just the operating system.
'Red Hat recognized that it had to go up the stack, if you will,' said Michael Goulde, senior analyst covering open source for Forrester Research.
Such a move would 'meet the customer requirements for single-stop shopping.' End users would have one point of contact at a reliable company that could help resolve differences between layers of the stack.
The JBoss application server itself is a good example of what may be called an open-source stack, although it's rarely referred to as such. Mostly deployed to run complex Java-based Web applications, application servers can help eliminate a lot of tedious work in setting up user interfaces and writing calls to databases.
The JBoss application server is unique in that it is composed largely of open-source components. In addition to being open source itself, the application server also uses Hibernate, which maps data objects from an application into a relational database. And it includes Tomcat, a Java page server, and Eclipse, an integrated development platform.
Then, in order to keep JBoss competitive with IBM WebSphere or BEA WebLogic, the company combines the application server with an array of open-source programs. The JBoss Enterprise Middleware Suite brings together the app server with distributed transaction management software, a business processes management application, a portal, a rules engine and other components.
These twin goals of building up a larger suite while keeping the individual components easily detachable'often called loose coupling'is where the enterprise software industry is headed, said Shaun Connolly, who heads up product management for JBoss.
'The rationale behind that is that people can deploy what they need and [not] deploy what they don't need,' Connolly said.Shine your LAMP
LAMP is probably the best-known stack, though you'd be hard-pressed to find a LAMP expert per se. There are no LAMP standards committees.
Instead, LAMP is simply shorthand for a collection of open-source software programs often used together. Enterprises normally deploy LAMP to run Web sites that draw content from a database.
Linux provides the operating system for the server, Apache the Web server software, MySQL the database and the Perl, Python or PHP to wire the components together.
'LAMP is a good entry-level point, but it is an entry-level point that can scale all the way up to complex enterprise applications. That flexibility is hard to beat,' said Justin Steinman, head of data center marketing for Novell Inc. of Provo, Utah.
Because these components are used so often in tandem, developers hone them over time to work well with one another. Such efforts at interoperability can also streamline the end components as well.Bug hunt
Earlier this year, under a Homeland Security Department grant, a team headed by Coverity analyzed 40 popular open-source applications for bugs.
The analysis found that programs in the LAMP stack had fewer defects'0.29 per thousand lines of code'than most programs tested, the average being 0.434 defects per thousand lines of code.
'Each piece of that stack must interact with other pieces, and as people try them all together, more of the potential execution environments are uncovered, making each piece more reliable,' Chelf said.
Although LAMP is the most visible stack, other organizations are collecting open-source applications, configuring them to work together and offering the resulting stack as a product.
LogicBlaze Inc. of Marina del Rey, Calif., offers Fuse, a service-oriented architecture platform that uses Apache and other open-source components. SpikeForce Inc. of Redwood City, Calif., offers commercially supported LAMP and Java server stacks.
OpenLogic Inc. of Broomfield, Colo., offers an open-source stack for developing, deploying and managing Web-based applications.
Novell offers a software stack tweaked for high-performance computing, including the SUSE Linux Enterprise Server and software for message passing, workload monitoring, clustering, resource monitoring and other management functions.
Goulde said using some of these commercially available stacks can be beneficial'to a degree.
'There is a trade-off at work. Do you want all the advantages of a pre-integrated stack, or do you want to build your own stack?' Goulde said. An integrated stack solves many of the problems that crop up when trying to reconcile multiple software programs to work on one task. But such integration can still limit flexibility, no matter how interchangeable the components are designed to be. You can pull out the MySQL database and add your own, but then you may have problems not encountered by many others.
Ultimately, though, agencies could go with a combination of approaches, Goulde said. 'They may want to start with a basic foundation, but they will want the flexibility to substitute components that are important to them.'
Fortunately, open-source stacks can offer both options.