Can your organizations IT stack stand up to the burdens placed upon it? Do the components in your IT stack provide the best possible performance? Do you have a choice? Its time to find out.
There are all kinds of stacks out there, from network stacks to code stacks. But in recent years, the stacks that have been getting the most attention are those that are referred to—somewhat broadly—as IT stacks. Essentially, an IT stack consists of a server operating system, a Web server, a database, and a scripting or development language.
Of course, IT stacks deserve all the attention they get. After all, that grouping of applications is the core base that most Web-based enterprise applications run on—from portals to enterprise content management systems to CRM (customer relationship management) and ERP (enterprise resource planning) platforms.
Further, as companies move more aggressively into SOAs (service-oriented architectures) and other service-based systems, their IT stacks will play huge roles in determining ongoing service strategies.
Probably the two best-known stacks are Microsofts .Net and the open-source LAMP.
The .Net stack typically consists of a Windows Server operating system, the IIS (Internet Information Services) Web server, SQL Server database and Active Server Pages scripting language. The LAMP stack comprises the Linux server operating system, Apache Web server, MySQL database and one of the three "P" scripting languages (PHP, Python or Perl).
After these two stacks, the biggest—especially in enterprises—is the J2EE (Java 2 Platform, Enterprise Edition) stack. This stack is pretty flexible in terms of its components, but there is one constant: The development language has to be JSP (JavaServer Pages).
Of course, these arent the only three IT stacks out there. When you start mixing and matching applications, and introducing applications we havent even talked about, the choices are almost endless.
However, typically an IT stack isnt chosen based on the quality of the applications therein but on issues such as history ("Weve always been a Linux/Unix/Windows shop"), internal skill sets ("Our developers only know ASP/JSP/PHP") or end products ("We really want to run Product X, which is .Net/Linux/Java").
But what about the stacks themselves? How much does the choice of stack affect performance? Do stacks need to be pure in their configuration, or can a business get solid performance by mixing and matching among multiple stacks?
These are some of the questions eWeek Labs set out to answer a few months ago, when we began a series of tests to evaluate the makeup, performance and scalability of enterprise IT stacks.
We performed a series of load tests against eight mixes of IT stacks (admittedly, barely scratching the surface of potential stacks). These consisted of pure LAMP stacks, a pure .Net stack, J2EE on both Windows and Linux, and what we will refer to as a WAMP stack—basically, open-source components running on a Windows server.
Our tests show that all of the stacks perform well enough to handle most enterprise needs. Some did better than others, but no one was a leader in all categories. (Benchmark charts start at right.)
But there were some results that may prove surprising. Mix-and-match stacks tended to do fairly well in our tests—especially the stacks that took a nonstandard route when it came to the database.
Probably most surprising was the solid performance that came from the stacks that contained a mix of a Windows server and open-source components. Traditionally, these kinds of WAMP setups have been considered suitable only for development and testing purposes, not for production systems. But, based on the performance we saw in our tests, businesses should seriously consider the combo for their enterprise applications.
Thats not to say that pure-play Microsoft isnt a good bet: Microsofts .Net stack performed very well in our tests, clearly showing the benefits of the tight integration among each of the stack components.
We hope our tests provide some perspective, but, more than anything else, we hope they inspire IT managers to perform the same kinds of tests themselves. No tests done in a third-party lab can tell you how a specific combination of servers and applications will run under your business-specific requirements and systems.
Our tests were labor- and time-intensive, but there was nothing too unusual about the equipment involved. Probably the biggest expense would be in finding a performance testing application to use, although, there are free, open-source testing tools out there that are capable of doing the job.