X
Business

Web services will strain servers

They may make network programming easier, but Web services are sure to make network admins grit their teeth, says Steven J. Vaughan-Nichols. For starters, you'll need a lot of server power. And be ready to sweat.
Written by Steven Vaughan-Nichols, Senior Contributing Editor
The war between Microsoft's .NET and Sun's Java 2 Platform Enterprise Edition (J2EE) Web services models is already under way. Now, I'm not ready to bet either way, but I can tell you one thing: while there's more smoke than fire in Web services, they will be important inside the corporate intranet and extranet, so you'd better make sure your network hardware is ready for the load. No matter who wins, Web services will demand everything your best hardware can deliver today, and probably more.

While Web services should make network programming easier for the software developer, it will make life harder for the network administrator. Let's start at the server side of things.

Some of you, I won't mention names, are running your data base management system (DBMS) and application servers on the same hardware. With very light usage, you can just about get away with that. With Web services, you won't be able to do that anymore. Both your DBMS engine and application server will need their own heavy-duty server.

Just how muscular should these servers be? The truth is that no one knows for sure. Even the most mature Web services servers packages, Microsoft .NET and BEA WebLogic Server 6.1 with its J2EE heart, haven't been battle-tested enough to give a hard answer.

But, consider that Web services are going to be replacing application servers, enterprise application servers, customer relationship management servers, and business process automation servers. What do they all have in common? They need system resources well beyond any minimal hardware requirements.

So, if you're planning on using Web services, you can start by doubling the recommended, not minimum, RAM and storage requirements for your programs. For the processor, get the fastest server CPU you can lay your hands on.

When I said 'server CPU,' I meant it. Some of us have gotten used to employing fast PC chips for our servers. That's fine for basic file/print/Web server services, but for Web services you need more.

I recommend looking into Intel's newest chips in its Xeon line. It's based on NetBurst technology that has features like advanced dynamic execution and execution trace cache that increase application performance speed by about 20 percent over older Xeon processors running at the same clock speed.

Hyper-threading, known to chip heads as simultaneous multithreading, is an old Alpha concept that never saw the light of day until its arrival in NetBurst Xeons. This enables a single processor system to work on two threads at once, thus making the system act as if it had multiple processors. It won't turn a one-processor machine into a two-processor server, but you can get a real performance boost for applications, like J2EE, that use threads extensively.

Of course, to get any of these benefits you'll need development tools that can exploit the NetBurst Xeon. Microsoft's Visual Studio .NET and the Free Software Foundation's GCC can both do this. In addition, IBM and Tower Technology have J2EEs that can get the most from the chip. There's also at least one open source project with Intel backing at SourceForge that's working toward NetBurst Xeon-specific Java Just-In-Time compilers (JITs). Other software vendors will soon follow.

On the drive side, you'll want 2Gbps Fibre-Channel, iSCSI, or InfiniBand hubs, and connections to ultra-fast SCSI hard drive arrays. Yes, I did say 2Gbps, and yes, they're just getting to market. Web services transactions are fat because its messaging format, Simple Object Access Protocol (SOAP), takes up a lot of room. And because Web services use stateless transactions, you're going to be sending a lot of SOAP through your servers to get any particular job done. In turn, to deliver good performance means you're going to need all the drive throughput you can lay your hands on.

Will it be worth it? Probably, because despite all of its hardware needs, Web services really should make network programming an order of magnitude easier as well as enable developers to quickly modify network programs. When was the last time you saw the phrases 'quickly modify' and 'network programs' in the same sentence? But, make no mistake about it, if your network infrastructure isn't up to it, Web services will make your life miserable. So start upgrading today. You'll be glad you did.

Editorial standards