virtualboy blog

Matt McSpirit on Virtualisation, Management and Core Infrastructure

Is WISP the new LAMP?

Is WISP the new LAMP?

  • Comments 1
  • Likes

I certainly think it could be.  For those of you who may not know what I'm barking on about - it's all about the web.  Well, to be more specific, it's about Windows, IIS, SQL and PHP, as oppose to Linux, Apache, MySQL and PHP.  Notice the common factor in both of those; the P, for PHP.


This time last year, Microsoft and Zend announced a technical collaboration to enhance the experience of running the PHP scripting language on Windows Server however, just recently, as we get closer to the launch of Windows Server 2008, there have been a few more announcements.

Server 2008, if you didn't know, contains the new and improved version of Internet Information Services, version 7.0.  So, what's new about this release?

  • Modular Web Server: IIS 7.0 breaks up the Web server into a lightweight server core and more than 40 feature modules that can be plugged into this core.
  • Simplified Deployment and Configuration: The centralized configuration store of the previous IIS releases, known affectionately as the metabase, is gone. IIS 7.0 features a new delegated configuration system based on a hierarchy of distributed XML configuration files.
  • Improved Administration: IIS 7.0 offers a rich set of administration features that make managing the server possible in a wide range of scenarios. The new graphical IIS Manager administration tool, which replaces the InetMgr.exe MMC snap-in, makes manual server administration very simple with its task-based management interface.
  • .NET Framework and Scripting: In addition to the manual server administration with IIS Manager or the appcmd.exe command-line tool, IIS 7.0 provides a wealth of options for programmatic administration.
  • Building Web Server Features: IIS 7.0 enables you to mold the server into whatever you need it to be, letting you add or replace any feature in the server in order to provide the functionality you need.
  • ASP.NET Integration: With IIS 7.0, ASP.NET 2.0 becomes more than just an excellent framework for building dynamic applications. It becomes a platform for extending the IIS Web server, enabling ASP.NET components to become full members of the IIS request processing pipeline.
  • Improved Security: IIS 7.0 builds upon the IIS 6.0 code base, which has a proven security track record thanks to careful coding practices and secure-by-default design principles. On top of this, IIS 7.0 introduces a few architectural changes to provide even stronger security and a number of features to help you build secure Web applications.
  • Improved Diagnostics: Between all the new features supported in Windows, IIS 7.0, and your Web application, a Web server is a very a complicated system that often takes a lot of effort to troubleshoot. IIS 7.0 introduces a number of new features to help you monitor the operation of the server and debug application problems.
  • Diagnosing Errors without Debugging: What if the error condition you are experiencing is unknown or caused by a complex interplay of multiple Web server components? Not to worry-IIS 7.0 provides a comprehensive tracing mechanism that generates a verbose paper trail for each request, which can be used to track down the problem quickly.
  • Improved Performance: The modular nature of the server allows administrators to remove unneeded server features, saving memory and CPU usage during request processing.  The new IIS Output Cache provides support for re-using responses to expensive dynamic pages on the server, alleviating the need to perform the expensive rendering and database transactions in order to return the response to the client.
  • Backward Compatibility: IIS 7.0 should be able to run most existing applications without modification. This was a major feat given the extent of the architectural changes that were needed to support the innovation in this release.

So, that's enough about IIS 7.0 in general - back to the topic - why is WISP the new LAMP?  Well, up to now, PHP developers, although they will be developing on top of Windows, the platform of choice for running their web servers etc, was Linux and Apache, with a MySQL backend.  Why?  Well, they were designed and written to work effectively together.  PHP could be handled by IIS, using CGI, however it didn't give the level of performance that running PHP on a Linux/Apache platform gave, hence it became the platform of choice.  With the announcement of FastCGI however, that's changing.

This FastCGI extension is built into Server 2008, but you can download it for free, for IIS 5.1 and 6.  Just a quick note - IIS has had 0 critical updates.  None.  Nada.  Zip.  Secure?  I'd say so.  But what does this FastCGI do?

"Most applications built for IIS take advantage of the native, multi-threaded extensibility model of IIS. Many popular applications, particularly those written or originally designed for Linux, are not multi-threaded, and instead take a multi-process approach to concurrency. While the PHP engine itself is multi-thread capable, many of the popular PHP extensions are not, requiring a single concurrent request guarantee to operate reliably. This forces the use of CGI and results in poor performance on the Windows platform. FastCGI helps these application frameworks to achieve improved performance on Windows over CGI, while allowing stable operation in production environments"

So, that means that PHP will run much faster on a Windows platform.  How much faster?  A lot.  In some cases, an order of magnitude quicker.  Check out this video if you want the proof.  Looking forward to Windows Server 2008, which has FastCGI built in, Zend will distribute Zend Core, that will be fully compatible with a Server Core installation of Windows Server 2008 - awesome news.  This means Zend customers can run their PHP applications on a scaled down, efficient, dedicated IIS Server Core Web Server - more secure, easy to manage and more performant - sounds good, right?

It's not however, just about how PHP runs quicker on IIS - that's just 2 parts of the WISP vs. LAMP story.  PHP still needs to be able to interact effectively with a database - before now, it's been pretty much a given that when using PHP, you'll go with MySQL, but now, there is an alternative.

"Microsoft is announcing the availability, this week of the first Community Technology Preview (CTP) of the SQL Server 2005 Driver for PHP. As part of Microsoft’s continued commitment to interoperability, the PHP Driver provides an optimized way for developers to leverage SQL Server 2005 in their PHP application. With this Driver, we are proud to address the needs of customers who have asked for a Microsoft-supported solution, and bring SQL Server’s scalability to PHP developers"

So, you've now got a strong platform for development and actually running your web applications in Windows Server 2008 and IIS 7.0, along with a great database offering, all of which connect with PHP in a way that enables efficient, streamlined and powerful performance - something that was only available to PHP developers running on LAMP in the past....

If you want more resources, check these out:

Share this post :
  • I’ve been browsing the Windows Server Team blog this morning, (trying to keep up with the flow of information

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment