“One of the most confusing decisions someone new to web hosting will have to make is which platform their server should be on. There are a number of different choices out there but the main two are Linux and Windows web servers. There are also a lot of sources of information about hosting, but the majority of them are tainted by the author’s biased personal opinion unfortunately confusing the issue.”
Windows:
ASP, .NET, PHP(Third Party), MSSQL
None of it free – the cost gets passed onto you – _especially_ MSSQL
Linux:
ASP, .NET(ala mono), PHP, MySQL etc.
All Free.
Trust me, as a developer that went the windows route because that was what was taught at college, Windows is a trap. Don’t learn ASP, go PHP and you’ll be able to setup and run servers of your own on any hardware and OS all for free. I’m not interested in buying a several hundred pound license just for W2K3 so I can run IIS6 – which _still_ doesn’t have any mod_rewrite or .htaccess capabilities.
Windows Server is crippleware, kept alive by training kids into proprietry, crippled languages and ignorance. – and this is coming from a big anti-linux user.
croc, PHP is third party even for linux. PHP is not an embedded thing in the kernel, it is not developed by Torvald, so, basically, all (ASP, mono, PHP, mySQL) are third partied for linux, but as stated, they are free.
Hehe
Trust me as a developer, who has been developing on both Windows and Linux.
The .Net framework is way better than the PHP framework, and .net together with Visual Studio really kicks ass.
All the controls you have, webparts and all that, make web developing a lot easier than when having to use PHP.
PHP is good for small site, but for big company sites and stuff like that i would go for asp.net anyday.
And yes i have made large websites in php, jsp, and asp.net, and the winner is without doubt asp.net
p.s. I never did like the old asp, but asp.net is WAY better.
Yes, but:
* I bought a MacMini to run as a tiny, quiet and secure server for various tasks. I wouldn’t trust anything but Windows 2003, Linux or OSX with such a task, an XP box would get taken down by a day0 exploit walking around. I know my security well, but you can’t leave XP unmonitored for a month, if by the paranoia alone.
* IIS is still very feature-weak regardless of your claims of ASP.net being better.
* You have to use a windows machine. Even though I’m a windows user, I bought a Mac because it was a far better for-the-task choice than anything else. Nothing comes close to the size and quietness of a MacMini in the PC world, not even a cubit. Being able to use all my software on a PPC, non windows machine is a good thing, especially for backups/when things go wrong.
* Using the IDE, it is very very hard to make fully standards compliant sites in ASP.net. You can’t use the webforms because they insert proprietry attributes everywhere as well as filling all your HTML with inline CSS ๐ Microsoft believe that Ctrl+H is the replacement for CSS Stylesheets.
At least you’re learned, I often bump into ASP.net developers in my field and I find them to be 9 times out of 10, completley ignorant of alternatives, other OS’s and languages and anything not-Microsoft.
I don’t care if the mac mini is small and quite, my PC is very quite and is under my desk so i don’t see it.
The main problem with OSX is the lack of software i am used to use.
There might be alternatives on OSX, but they are still not the same, and therefore annoying to use.
I could get use to it sure, but why waste 6-12 month, to change a system that gives me nothing i need ?
That is because you are using Windows only software – of course everything will be different elsewhere, lessing the need/will for you to switch.
I use Open Source / Cross-Platform apps so that if I need to use a Mac or Linux machine, it’s no issue. I don’t waste 6-12 months on learning new apps and I don’t have to pay for the same software on a different OS.
MacOSX is a good OS, and a lot less maintenance than XP, and Linux can provide more power than XP, but if you can’t use these systems because none of your software is available, that is half your own problem, not Microsoft’s.
For me, this is flexibility, not “switching”. I don’t use OSX more than I use windows, it is a tool; because my work is fairly transparent across OS’s I don’t have that grief of moving to another OS or re-learning software, that’s part of my strategy of dealing with the worst case scenario so I can work on the most rudimentry hardware and software no matter where I am, or what machine blewup/broke/fell-apart this week.
The .Net framework is way better than the PHP framework, and .net together with Visual Studio really kicks ass.
There are some features of asp.net that i envy, I admit that. But it’s also very Windows/IE-centric. A lot of my clients specifically asks that their solutions should be compatible with Firefox and Opera as well as IE. I cannot depend on asp.net to deliver that with the standard tools.
I personally dislike PHP with a passion. I think it’s hacky and inconsistant and I’d much rather use Python for example. But the libs and classes available for PHP are simply fantastic and that’s the main reason I choose to stick to it. The main PHP framework isn’t that good, but if you take PEAR and the likes into consideration it is a really compelling solution.
I work with Visual Studio on a large profesional, website, and trust me everything we do works 100% correct in IE and Firefox. Opera i don’t know because less than 0.1% of our users use Opera, and we see no point in wasting time on them.
Pear sure helps a bit, but still PHP lacks a good IDE like visual studio.
I have coded PHP for years also on large sites, but after i got my current job, i very quickly saw how much slower PHP is to code in than asp.net in visual studio.
I work with Visual Studio on a large profesional, website, and trust me everything we do works 100% correct in IE and Firefox.
You might be right. I asked other asp-developers about it and they said that it use some IE-specific code. But they might have been wrong. So I guess I take that statement back until I know for sure
I have coded PHP for years also on large sites, but after i got my current job, i very quickly saw how much slower PHP is to code in than asp.net in visual studio.
I think that depends a whole lot on your workflow and coding style too.
With only PHP and a regular text editor the development process is rather slow I agree with that.
I mostly use MDB_Querytool for interfacing with the database and XSLT for page generation plus several classes i developed myself, and by using those tools I’ve gained a lot of speed.
How good an IDE is also depends a lot on how you work. I find VisualStudio to be in the way more than it helps me. I’m perfectly happy with PHPEclipse even though it still needs some work. But it seems that some people love VS so I guess it’s doing something good for them.
asp.net has several advantages, and so does PHP. I wouldn’t use any of them for a larger site though, Java is a better tool for that IMO.
It’s good to have a choice isn’t it?
I work with Visual Studio on a large profesional, website, and trust me everything we do works 100% correct in IE and Firefox. Opera i don’t know because less than 0.1% of our users use Opera, and we see no point in wasting time on them.
That’s a very professional attitude you have there, too. Did you ever consider that 1) it’s just possible that Opera users don’t see any point in wasting their time on your site, or 2) that since most versions of Opera default to pretending to be MSIE that your logs don’t report them?
What I’ve seen on most of the sites I work with is that Firefox has recently grown to slightly over 10%, Safari has recently grown to right around 5%, and Opera is slightly over 1%. Thus if you’re only seeing 0.1% it means that probably 9 out of 10 of them got frustrated with your site and have gone elsewhere. I’m not sure about your traffic, but with the sites I work on even 1 out of a 100 viewers represents a lot of people, and I’d like to think that most truly professional web developers consider every reader important.
see zend collaboration project to bring PHP together and clean it up and orgainze it. On that point, ASP .NET is very much aware of other browsers in the world. In looking at the autogenerated code it is clearly evident that MS went to extreme lengths to write cross compatible code, I have yet to run into a ASP.NET page that does not look and run similar in all browsers. In fact, MS has gone so far as to enforce XHTML strict compatibility with WS.net 2005
And yes i have made large websites in php, jsp, and asp.net, and the winner is without doubt asp.net
Hmmm. The built in stuff that ASP.Net has that generates HTML and Javascript for you is nice, but you basically need Visual Studio to do that – ASP.Net by itself gives you nothing. Many people confuse using .Net with what Visual Studio gives you.
As a complete solution (with decent client development tools) I’d go with JSP and use an IDE like Eclipse together with a top quality plugin like MyEclipseIDE. That thing really kicks ass, and it’s really nice and cheap to boot.
Hmmm. The built in stuff that ASP.Net has that generates HTML and Javascript for you is nice, but you basically need Visual Studio to do that – ASP.Net by itself gives you nothing. Many people confuse using .Net with what Visual Studio gives you.
Friend, you’re confused about this. Visual Studio does not extend the .NET framework at all. All you get is what you can do without VS.NET. However, VS is highly optimized to hide unnecessary complexity from your eyes. You better check .NET again.
Friend, you’re confused about this. Visual Studio does not extend the .NET framework at all. All you get is what you can do without VS.NET.
No, it’s you who are confused. There is now way you can do many of the things you say you can do in ASP.Net without Visual Studio. Code behind? You can’t do any of those automated things without Visual Studio. .Net gives you nothing by itself.
You better check .NET again.
I think you’d better do it because .Net by itself gives you nothing to work with. It’s just a raw framework.
If you knew .NET, you would know that anything *you think* Visual Studio exclusively does is provided by compiler and tools which VS internally executes. For example, you can easily use code behind features without VS by simply invoking compiler.
Again, my suggestion is: you better carefully check .NET because you don’t look like to know what you’re talking about. No pun intended.
PHP is good for small site, but for big company sites and stuff like that i would go for asp.net anyday.
And yes i have made large websites in php, jsp, and asp.net, and the winner is without doubt asp.net
You didn’t mention Zope, and that’s the one I’d choose hands down for big corporate sites that have to manage hundreds (or thousands) of contributors. The security model alone makes it better suited to such environments than the competition.
And by the way, Zope doesn’t run as well on MS-Windows as it does on the UNIX family.
So how large is your site?
We have big client migrating from ASP.NET to J2EE because ASP.NET does not handle and costs too much. The project costs $US 1000M.
Croc is funny… Claiming that the Windows option is all non-free when the only costs would be for Windows itself, and SQL Server if you chose to use that.
If you want to minimize the cost, yet still use Windows, there are other options available for the database.
Croc is funny… Claiming that the Windows option is all non-free when the only costs would be for Windows itself, and SQL Server if you chose to use that.
True. But Windows is still a rather large expense compared to linux which IMHO is just as easy to set up. And ASP is especially expensive in the area where I live because PHP developers are much more common here, thus a lot cheaper and easier to find.
only costs would be for Windows itself
Server editions of windows are not cheap, not even nearly. If you’re a business, the license means you have to use server edition if serving. Remember the whole thing about windows NT4 Workstation being two registry key changes away from NT4 Server; but businesses couldn’t just be cheap and buy NT4 workstation and turn it into server themselves because FACT and Software Audit regulations would mean they were breaking license and using software illegally. (Some seriously heavy fines)
Server editions of Windows are not cheap, indeed.
Going Linux does not mean it’s cheap though. Sure you can get it free, but if you’re a business you’re more likely to get RHEL or something similar rather than just downloading a free iso from someplace.
Windows Server 2003 Web Edition is ~$400 and RHEL ES (cheapest server version) is ~$350.
What you should go for depends on many factors, of which price is a small part of the whole.
If you want external hosting, go with what you know if you’re doing the website yourself, or what your employees know, if they are going to handle it.
The article that this newspost refer to doesn’t really adress anything relevant that would help a decision maker take a decision. If you are in the position of a decision maker, you’d better discuss options with the employees that are going to handle it all. (Something that doesn’t happen too often, in my experience)
Server editions of Windows are not cheap, indeed.
Going Linux does not mean it’s cheap though. Sure you can get it free, but if you’re a business you’re more likely to get RHEL or something similar rather than just downloading a free iso from someplace.
Windows Server 2003 Web Edition is ~$400 and RHEL ES (cheapest server version) is ~$350.
I don’t disagee with you, but I must point out that the ability to have part or entire installation base of Linux for free (as in “free beer”) is a potential large advantage in cost for some organizations.
And, for your comparison between WinServer2003 and RHEL, perhaps using the more expensive “Standard” edition of Windows would be more appropriate, as it will match the 64bit support and higher memory allowance more in-line with the low-end RHEL ES. (though still hard to get a direct 1-to-1 comparison, as the feature sets still have differences). Cost of Standard edition is listed at ~$1000 on Microsoft’s site.
In the end, though, I agree that it is what you plan on doing with the server (any particular apps) that have the potential to drive the OS choice one way or another.
EDIT: Sources:
http://www.microsoft.com/windowsserver2003/evaluation/features/comp…
http://www.redhat.com/en_us/USA/rhel/compare/
http://www.microsoft.com/windowsserver2003/howtobuy/licensing/prici…
Edited 2005-11-28 15:45
“the only costs would be for Windows itself”
Plus whatever modules you may need that come free with an apache settings. Rewrite comes to mind. I was googling for help on mod_rewrite when I ran some posts where a user was complaining how rewrite module from one vendor (forgot the name) screwed up his settings. Others recommended another vendor, which was a bit more expensive, but worked reliebly… I said: wtf? It was shocking to see that some functionality we in apacheland take for granted has to be purchased from 3rd party vendors in iisland. It was a big sigh of relief that I never bothered with iis when I began to learn server stuff
Unfortunately I can’t find the thread I’m referring to now, but it was really sad to see these poor souls hunting and paying for a rewrite module (twice in this particular case) not knowing that there are alternatives out there where rewrite (and how many other modules that extend the webserver’s functionality?) comes free (and is taken for granted by the users). And they don’t have to ditch windows to use apache, just download the binary from apache org, and they are set to go.
To say that only windows cost money is wrong. You have no idea what you may need in the future (and url rewrite is something that is a must have I think) – but this may gave you a fairly good idea about the possible costs of running IIS on Windows:
http://www.aspin.com/func/review?tree=aspin/software&id=5313910
http://www.seoconsultants.com/windows/isapi/
So, from cost perspective, apache/linux (or even apache/windows) is a much safer bet than any IIS based solution in my opinion, especially if you are just starting to learn about running servers (or if you are designing your first site/portal/whatnot).
I believe I didn’t say anything about what webserver to run. All I did was point out that of the things listed in the parent post, only that Windows would generate a cost for the Windows option (with other options for database chosen).
Of course you can run Apache if you want to, just as you can run other databases.
Edited 2005-11-28 13:48
“I believe I didn’t say anything about what webserver to run.”
Yeah, I know, my post was a generic advice of sorts, especially for those who just begin looking into running web services (or learning how to do it) and might think that using IIS is a good idea, since it is already there… IMHO, learning iis just because it’s bundled with the OS is a mistake, for apache offers greater flexibility at 0 cost out of the box, and it is a better long term investment (along with using a free database like postgres or mysql5) – these are all at least equivalent, but more often than not, even better tools than their MS counterparts, and they are everytime cheaper (even if you already own windows – this is what I tried to say with my url rewrite example.)
So yes, you are right, you can use whatever you want on Windows (apache2, php, mysql..) – but it seems rather odd after a while … I mean why run free tools on an error prone proprietary OS, when you can run them on linux/BSD? I can understand running windows on a server only if there is a very specific need that only iis can provide (altough it is rather hard to find such an example). But using iis, even if it is free in the sense of already owning it with the OS, incurs additional costs when it comes to extending its functionality (and some of that functionality is very basic, like clean urls).
learn both sides
For me this article was no help at all.
Two pages with a very small amount of info that was tried to be balanced to not say that windows or linux is the best, that made the article bad.
This article says nothing ! It also misses one of the most important advantages of *nix systems over windows for servers, thats remote administration. I know that windows can use rdp or vnc for remote control, but it requires good connections both ends and because of its GUI bias its very limited.
With *nix (any of them) you can control lots of machiens from the command line with very little effort. For example I maintain about 12 servers at any one point, almost all are Linux, I can cut&paste between machines – I can use sftp, scp to copy between machines, I can use rsync to maintain directories in sync between machines etc etc etc. With windows im forced to build explicit VPNs between machines as a side effect of SMB being so weak on security, admin is mostly GUI based – its not bad, but a little limited.
In the end *nix servers are much simpler to maintain in large numbers than windows servers. Windows is simpler to admin, but *nix is more powerful. If you want one web server and you lack admin skills then dont worry about the operating syste, simply sub-contract to a hosting company….
Jon
My problems with Windows vs Linux are mostly legacy problems that date from NT and early Win2k. I understand that these problems are largely fixed these days, but I’ve not run a windows web server in recent times to find out.
First problem was FTP. MS FTP server was basically crap. You needed to install a 3rd party FTP server and my experiences weren’t entirely positive with them either.
ASP was okay and performed nicely (provided you used MSSQL) however it lacked file uploads unless you purchased a 3rd party component. I’ve heard wonderful things about ASP.NET but haven’t looked at it.
Security was the other problem. Windows installations constantly had security problems up until recently. Basically the machine would get hijacked and it was nigh impossible to even determine the nature of the hijacking.
That said, Linux hasn’t been all good either. PHP has shown a worrying tendency to drop backwards compatibility at times. Sometimes it was just a configuration issue at fault, but other times it was major pain in the ass.
FTP on linux has been a bit confusing at times. There have been several major vulnerabilities with different ftp daemons. Determining which to use has been problematic. I moved from wu-ftpd to proftpd and I think I run vsftpd now (oh sorry… no ftp access at all anymore)
The major benefits of Linux have been price, modularity and remote configuration.
The only benefit of windows hosting was when a client already had a windows server. NTLM authentication can be nice for intranets too.
In the end though I made a choice years ago based on what was around at the time and I’ve sort of stuck with it, with rare exceptions.
If the app is based on ASP or .net, use Windows.
If not, use any Unix/unix.
If in doubt, and you didn’t create the app, go with whatever people in general use
There are exceptions, though if you developed the app yourself you should be able to decide when to use *nix for ASP or .Net, and when to use Windows for anything else.
Lousy article that said nothing. Asp.net is a joke for large web sites. Anyone who says differently doesn’t understand multi-tier environments and the fact that asp.net is no good for business logic or transaction layer. Microsoft locks you into an operating system that is buggy, doesn’t scale, and is not stable with outrageous support costs. There are major differences between administering a Linux and NT server and the fact that the writer seems to think they are about the same is the biggest indicator he doesn’t have a clue. Kiddie script writers like asp.net and VS because they can do simple front end stuff easily and quickly. Big deal. Not usefuul for large corproations. There is a reason that companies like financial institutions with very large numbers of transactions laugh at Microsoft. One is security but the other is very poor scalability and security.
All this talk about PHP isn’t as good of a “framework” as asp.net is really off base. PHP isn’t a framework at all. It’s a scripting language. I agree with the poster who said it’s a bit hacky and inconsistent but it sure beats the heck out of Perl for web apps.
But asp.net? Please! It’s sounds like you Microsoft kids are impressed more with the concept of a *framework* than you are with asp.net specifically.
If you want to try a web app framework with more innovation / cleverness and less MS proprietary lock-in nastiness… have a look at Ruby on Rails (http://rubyonrails.com). It’s free and runs on anything even MS servers but why would you want to?
IMO the article hit it on the head. The article was not about developing web sites, or setting up your own server. It was about how to choose a web hosting provider. The main point was that it all depends on what you are looking for, reliability being the key and to ignore the platform. With that I could not agree more.
I admire the author of this article for making an attempt at to create a decently comprehensive article about what should be looked for. I find that most of the posts in this column are way off base. I have never really seen a difference in performance between PHP and ASP.NET (C#), aside from my increased productivity, of course to speak to that require me to talk about Rails, (and for the PHP people who know that Zend is trying clean up the code and develop a rails-like framework).
My college gets all these tools for free through an agreement with Microsoft, so I cant speak much to cost, I can only say having used many IDEs during my life including Zend, Eclipse and Visual Studio to name a few, VS is by far and away beyond Eclipse, which has made great strides from its old version, but this is again to stray from the point of the article.
The point the article was trying to make was that the secureity reliability of a hosting solution depend on the company and that there in the general case there is no difference between Linux and Windows for personal sites. Of course for businesses and server networks there is a difference, this is trivial and obvious. I would remind people that the point of this article is to merely clarify for those who are less computer inclined that whether its hosted on Linux or Windows really only matters as to what features you can use, a difference which is beginning to disappear
Its not as if they are offering a linux hosting service in any way so i would have no faith in the their knowledge of *nix systems
so the report is a pile of self-serving advertising for themselves as they are a windows only shop.
I think it was a very good article for whom it was intended.
“This article is going to offer information for those trying to decide which hosting company to go with.”
and this is also true. “Microsoft developed and owns the Windows operating system. Linux is open source and generally free. This means it can often be more expensive to set up and run a Windows server. However, this fact doesn’t really affect you unless you are actually setting up a server for yourself and if you’re reading this article then I’m guessing that it’s safe to assume you’re not.”
before making comments we should all read and understand what was said.
For big corporate Web-application the cost of OS or Database software is not that important. Let’s say for 3..5-men year development project cost of OS/Database is less then 10%. Here the performance of the developers becomes prime factor for the project cost. I don’t like .NET for many technical reasons. But corporations love it, because it’s very cost-effective. Who cares if the result is sometimes tehcnically questionable. It works somehow.
MS tries to make it easy to programm more sofisticated apps with less technical skills. Corporations love this because it makes more job forces on market, which can be hired for less price.
This is a terrible article, was there any useful information there? No. I have worked at a large web hosting company for some time and for pure performance is your shared hosting account likely to see any difference from linux or windows? No. Besides choosing a platform based on what technologies you want to use (it’s blatantly obvious your going to choose windows if you want to develop in ASP, why even include that?) large scale stability is the biggest issue. Shared hosting environments tend to have hundreds of sites on a server, and a big problem is one site bringing down the whole server. Even if your code fine, someone elses poorly developed site can bring down an entire server (not to the point of failure, but to the point services need restarting, resulting in some downtime, though minimal). Windows servers do tend to need to be rebooted more than a linux servers, but the difference is mimimal. But one definite fact is that a windows server will need an iisreset, or application pools recycled much more than a linux server would need an apache restart (basic server setups Windows, IIS, ASP vs. Linux, Apache, PHP). And generally, people who use windows tend to write shittier code. That is not a biased option, that is a definite fact based on what I have seen customers throw up there.
It’s a quite balanced view. ๐ Quite!
Beside obvious (if you NEED Windows use it, if you don’t, go with other options), I’m not religiously pro-Windows or pro-Linux. But I prefer Windows. Win2003 is very stable, had very few security issues and IIS works very well. We can easily put hundreds of websites (even complex ones) on a server without experiencing problems. Reboots are minimal (I happen to reboot only when system gets updated or a core component do but we were able to run months without a reboot). And believe: application pools are a Godsend gift. You can mix and match different rules, have stricter limits for some customers and wider for others and so on. Plus, when pool gets shutted down (for ex, because of high memory consumption) you can have other pools (and hence, other websites) running without caring. That’s sweet ๐
Anyway, I tend to agree with you: difference now is slight and is mostly dued to which framework you choose to write your apps, provided that Windows can run PHP, MySQL and even Java and J2EE, if we wish. We have lots of Linux customers using MySQL and PHP and running their applications without any problem.
However, maybe I could agree with a guy stating that large financial institutions still prefer Java and J2EE. I can believe that ASP.NET 1.x + MS SQL 2000 didn’t reach the same peaks Java gets. However, .NET is moving fast and I’m sure it will catch very similar perfomance very soon, if not already (v2 + SQL 2005).
In windows Server 2003 .NET support is awesome.
PHP is also free for Windows as it is for *nix.
Mono is crap, .net 2.0? hahahahahhaa
Mysql is also free and runs under windows, but if you wan’t to actually run a big bussiness with lots of clients you should run MSSQL.
You can have old school “telnet” for windows as well. It was built in to older versions of windows such as Windows 2000 and I know you can set this up if you want to use command line.
However, Monad rules and if you want to even think about shell for windows you should use that.
We run .Net. It generates us about ยฃ1M/year in clear profit. It just works. Then again we know what we’re doing – most of the people slating it here have never attempted to understand it properly.
Our sites are standard compliant, stable, scalable and cheap to run.
And we don’t use Visual Studio .Net. We use subversion, Nant, Nunit and generally textpad.