Netcraft Says IIS Gaining on Apache
benjymouse quotes this month's netcraft survey "In the August 2007 survey we received responses from 127,961,479 sites, an increase of 2.3 million sites from last month. Microsoft continues to increase its web server market share, adding 2.6 million sites this month as Apache loses 991K hostnames. As a result, Windows improves its market share by 1.4% to 34.2%, while Apache slips by 1.7% to 48.4%. Microsoft's recent gains raise the prospect that Windows may soon challenge Apache's leadership position."
Is this the possible result of Microsoft converting Godaddy's parked domains to Windows servers?
More
The person above asked if there's any compelling reason not to use apache.
I think the question to ask is if there's any compelling reason not to use IIS. I'm sure people will spew "because it's Microsoft and you dont want your website hacked", but that's not what I'm talking about. IIS has had some problems in the past, but these days it's pretty good.
The question is when an organization already has an investment in Windows, and local domains, management tools etc....is there any reason not to use IIS? Does apache provide anything above and beyond what IIS provides when it comes to general website hosting?
IIS already has a pretty dramatic marketshare lead when it comes to the Fortune 1000.
If you are using Visual Studio dotNet as your development environment you are not going to find Apache works too well.
The netcraft survey is bunk because it measures a quantity that has always been irrelevant. In the past the market share of Apache was artificially inflated because most parked domains would sit on Apache boxes. Now Microsoft has identified that as an issue they are starting to get the advantage.
The quantity of interest is not who supplies the Web server but what the development platform is. As a practical matter any code of interest can run on ISS but rather less can run on Apache and less again on LAMP.
And there is no guarantee that the code engine will be visible in any case. You could easily have an IIS back end written in dotNET being served up through a squid front end.
And the rate of use says nothing as to whether the software is any damn good. There are still plenty of FORTRAN and COBOL coders even though the languages are abysmal.
Looking for an Information Security student project suggestion?
Try http://dotcrimeManifesto.com/
In the last 5 years... I went to 2 Universities. One of them was a crappy, private University whose entire program focused on Microsoft. It was one of those afterwork, pay us a lot of money for a degree thing. I left that place and went to a State University(soon to be the largest in the state). I was shocked to find out from the CS majors that they had a large Microsoft Curriculum as well. Apparently, Microsoft gives a lot of money to the Universities to ensure that they are a central part the curriculum. Since a lot of students are learning about ASP, Visual Basic and .NET... is it any surprise that these same students are going into the workplace and using these tools instead of a perl, php, ruby, python inside of Apache.
One IP number can represent dozens of name virtual hosts. So if you count IP numbers you get stats favoring IIS, which has closer to a 1:1 ratio (or worse) of machine to web presence. If you count hostnames, you get stats favoring all other HTTP servers.
And if you limit your survey to HTTP compliance then you eliminate all IIS sites. Add in TCP/IP compliance and you eliminate anything hosted on MS Windows, accidentally, out of ignorance or otherwise not just IIS but also Lighttpd and Apache.
Beta is broken and the link to classic doesn't work. Stop wasting our time or there won't be anybody left here.
In case you haven't noticed, the brain-trust at Microsoft doesn't sit still, and they have the financial and monopolistic resources to try and try again until they get it right. Moreover, as C# and .NET have shown, when you get the right people involved (Anders Hejlsberg) on making an in-house version of a very compelling technology (Java), Microsoft is more than capable at delivering a winner.
In the case of IIS 7, they have finally decided to create a Windows webserver in the modular blueprint of Apache. The betas of IIS 7 show that performance and security are better than anything that's come before it -- not just any IIS, but any webserver. Hell, the guys at Zend are saying that Zend on IIS 7 will be the most robust way to deploy PHP! And this is all built on the evolved form of Windows 2003 server, which has been the most secure O/S ever released by MS, something that a even a n00b with one weekend of training can lock down as tight as your favorite flavor or Linux.
Rather than stand around and argue about it, y'all need to get to work on Apache 3... and get ready to play catchup to MS again. The insecure days of IIS 5 are long gone; you've got your work cut out for you.
I personally think IIS is a superior webserver to Apache. I speak as someone who's had to administer both systems, and like anything each has thier own quirks + benefits etc, but crucially...
Apache is not as modular as IIS (v7 that is). IIS7 you can literally strip it so bare, all it can do is send empty HTTP 200 responses - an absolute shell of a webserver. Not even file html/file-system support. Want disk-access? Turn on disk-access module. Want asp.net? Turn on the asp.net module. Absolutely everything (and really, everything) is a module that can be ripped out.
IIS6+ deals with HTTP requests at a kernel level. That is core functionality such as responses, caching, etc are all dealt with at ring0. Performance is unbeatable.
Oh and security? IIS6 has never been rooted, ever. Add-ons have been (asp.net for instance), but IIS6 has never been.
Oh, and it's locked down by default. And easy to administer.
In my opinion Linux is probably the better OS to host a webserver on, but IIS does spank Apache all over I'm afraid - mainly for the stated reasons above.
throw new NoSignatureException();
Even accounting for the GoDaddy domain-parking nonsense, there's not much to these numbers. An IIS server is not equal to an Apache server in any way, shape or form. It would be like saying there are more IIS bicycles on the road than Apache locomotives, so therefore IIS is more important to the transport of people or goods. It's demonstrably bunk. While quantitative evidence is out there regarding applications and numbers of users per server, I think the following anecdotal bit sums it up nicely.
.NET. And it's a BIG pile.
.NET application on the old client-server app, but the network chatter was 20x the capacity of the network because the MS-trained app architects could not wrap their heads around the idea of a constrained WAN. What used to be a small record lookup and update of about 300k over the wire turned into more than 6MB of inter-domain line noise.
...BLINK... BLINK... don't seem to recognize there's even an issue.
.NET mess for purposes it's clearly incapable of serving and that even Apache would be no good for . Just my subjective opinion, but I don't think anyone would ever do this with Apache. The result is that a single project -- an abject failure of a bad design from every meaningful metric, and the willful ignorance of user requirements in favor of vendor fantasies -- shows up on a webserver market share survey as a several-thousand-instance win for MS. By all indication from MS consultants, this is not a unique event.
In a very large quasi-governmental organization, we have a major application that runs on a handful of Oracle systems and serves double-digit thousands of people with acceptable performance over the last half dozen years. There is an ill-thought-out project underway (a year into development) to replace this with a steaming pile of
How big? Follow me on this one: First they modeled the
Then they decided that WAN applications must mean that we wanted a web application (how silly of us), and they re-wrote it as a web app. Not understanding that a significant amount of those users are off-line and synchronize only once a day, the connection/session limits were quickly saturated even before many users complained that they simply could not connect.
The third solution proposed by Microsoft consultants and one of the largest Indian development houses? Install IIS on every remote user's laptop, and have SQL Server synchronize in the background so that the newly web-ified application can operate offline. Let me clarify that: For these thousands of remote roaming workers in the field, many with a public IP, there is one copy if IIS PER USER for a major MS application. And while every time this comes up the Indian developers mutter under their breath things so foul I didn't think you could say them in Hindi, the MS-employed wonks
So the discrepancy is not that IIS is "gaining" on Apache, but that IIS is being dumped out in the street in every cereal box and bubblegum wrapper as part of the
In the immortal words of Stan Lee: 'Nuff said.
I think not...(*poof*)
Apache is neat. Very neat.
...
.Net. Look at the countless Linux people flocking to Mac OS X to see what I mean.
.Net and whatever from MS not sucking to much is a reaction to the pressure the feel from OSS. They may be reacting to this, thus the rise in IIS hits.
PHP is neat. Very neat.
Compared to any other SSI solution that is.
...etc.
There is but one problem. The world and especially the web and it's technologies is moving along at a breathtaking pace. Apache is neat, but it's style of configuration is nearly 10 years old from back when XML was considered the hottest thing since sliced bread.
Why isn't there a zero-fuss web interface backend built into Apache that enables me to configure anything I want with 3 clicks of a mouse (with a backend deactivation option of course). Why isn't there a version of PHP with a MySQL driven persistance layer and SQL-free serialisation built right into it?
How come a little bit of marketing, screencasts and a website which, for once, doesn't look like shit, and suddenly people think Rails is the holy grail of webdeving? Rails and the hip project hype they kicked off is a very good thing, but it shouldn't stop just there.
Don't get me wrong. I'm convinced that Microsoft, in terms of available software technology, is an incarnation of evil and should be avoided at all costs unless there is a solid reason not to. 'Client wants Exchange' could be one. But we have to be realistic about this. It takes only a handfull of people at MS with 2 or more braincells, freshly assigned decision power and half a billion out of Microsofts piggybank to build an entire webstack that blows any OSS solution (Zope, Rails, Django and whatnot included) out of the water and into next wednesday, technology wise. Even the most advanced OSS webstack today has superfluos installation fuss one has to go through that should disapear ASAP. There is a lure of a truely zero-fuss
IIS,
Then again, MS bought Godaddy just to raise their level of IIS installs by a few percent, and LAMP machines are extremely Multi-Domain friendly. This Necraft study might just be reflecting this. And I have no doubt that should Apache drop to a real 30%, they'd get their shit together and start building a full integrated OSS webstack that picks up where Zope ends. And not only halfway there. I hope so anyway.
My 2 Eurocents.
We suffer more in our imagination than in reality. - Seneca
Two articles:
Experiences of using PHP in Large Websites: from 2002, but the basic PHP philosophy hasn't changed since then (although some specifics have). Oversimplification and pandering to less experienced developers hurts the language as a whole.
PHP in Contrast to Perl. From the table of contents:
It's not that PHP is that bad. VB, COBOL and PL/1 were all much worse. It's that there are better languages out there that people never learn because they learned PHP as "n00bs" (you can almost detect a PHP developer by his use of that word) and are complacent with it.
Incidentally, I think it's a lot more mind-expanding to learn two programming languages than to learn one. I see single-language people all the time confusing possibility with possibility in a particular language, or confusing overall algorithms and data structures with particular idioms from their pet language. It's sad.