It seems like every six months or so I write a pro-Microsoft post. It’s not really on purpose, it just seems like two to three times a year they remind me that there are pools of brilliance in that company, even if they are surrounded by oceans of stupidity.
This post’s catalyst
I have a lot of contact with Microsoft due to my job. However, most of it is at a detail level where it is easy to lose the big picture. It wasn’t until TEK·X and the session Tips & Tricks to get the most of PHP with IIS, Windows, and the Windows Azure Cloud by
Sumit Chawla & Kanwaljeet Singla that I got a glimpse of the big picture again. I began to see all of Microsoft’s efforts together as one, instead of seeing them as a series of individual efforts.
The big picture
Microsoft is no longer “trying to play nice” or “trying to be a friend of the PHP community”. These days Microsoft is investing real money in making sure that PHP is a viable option for programmers who work within a Windows infrastructure. With the improvements in FastCGI, the release of WinCache and their concentrated effort to get people like Josh Holmes out there in the community and talking to us, it is hard to continue saying “awe, isn’t that cute, they are trying to play in the open source arena.” For those that still think that, I’ve got news for you, not only are they playing the game, they are playing to win.
The obvious end game
I do consider large parts of Microsoft dysfunctional. Some decisions they make don’t make sense to me no matter how I look at them; many of those cases have a serious WTF factor. However, when it comes to the PHP community, I can totally see why they are doing it. Studies have shown Many of us develop on Windows. For a whole slew of reasons, we deploy on Linux but the fact of the matter is, a lot of us develop using Windows as our OS. Microsoft wants to convince those of us who develop on Windows to actually deploy on Windows so they can sell us server licenses. (It’s not a bad thing, they plow some of that money back into open bars for conferences…don’t knock it.)
I am as much of an open source developer as the next guy but I am not a zealot about it. About 12-14 months ago, I had a long talk with Josh Holmes about PHP on Windows. I told him at that time that while I couldn’t recommend people deploying PHP applications on Windows at the moment – at least, not with a straight face – I applauded their efforts to make it better. I just wasn’t convinced that their efforts had gone far enough yet to make Windows a feasible option. My opinion has now changed.
I recommend PHP on Windows…sometimes
I said I’m not a Linux zealot, I’m not a Windows zealot either; I choose the best tool for the job. There are times – for instance when deploying in a network already built out with Windows servers – when it makes more sense to deploy PHP applications on Windows servers instead of trying to slip a Linux server into that structure. I don’t advocate PHP on Windows in every case but I don’t recommend PHP on Linux in every case either anymore.
Choose tools for applicability, not ideology
My ideology when it comes to building systems is “Best tool for the job”. If that tool is Windows then I use Windows. I don’t fret it, I just install it and keep moving. WinCache, FastCGI and other improvements in IIS and PHP make PHP on Windows a good solution. That means that it’s the right tool, sometimes.
Don’t take this post as I am recommending you move to a Windows platform immediately. I’m not even recommending that you move at all. However, I am saying that the day where we could easily dismiss Windows as a deployment OS are gone. It means that our jobs just got a little harder.
Until next time,
I <3 |<