Hans-Christian Andersen
ha at phulse.com
Wed Sep 21 21:30:25 CDT 2011
John, The easiest thing to do, of course, is to stick with what you know. Especially if it's something you are going to have to support over time. If you don't feel comfortable with a Linux environment (even if what you are asking for would be pretty trivial to set up for someone like myself and distros like Debian, Ubuntu, OpenSuse, CentOS, etc are pretty straightforward these days), there is always a chance there will be bumps in the road somewhere down the line that requires you to open the the hood and take a deeper look. Same applies to Windows as well as Linux. That's where you need to ask yourself if you are prepared to make a bit of an investment in terms of learning how Linux works and also being prepared to have an experienced Linux admin to go to, if you are in way over your head. I can tell you this much in advance: MySQL + Linux/*BSD is the most natural fit and will perform the best. Optimisations for the Windows platform only came as an afterthought and I don't know if there is yet any parity performance-wise. This is an interesting question and perhaps I will try and do some sort of benchmark to see what the difference is, but I recommend you check out the following link in the meantime: http://dev.mysql.com/doc/refman/5.1/en/limits-windows.html If high performance isn't a requirement but just something that works decently, then I wouldn't worry too much about what platform to use and I'd recommend using those packaged Apache/PHP/MySQL stacks, such as WAMP or XAMPP (which is my personal recommendation), rather than installing MySQL alone. XAMPP is cross platform as well, so this makes things easier should you decide somewhere down the line to switch platforms. Everything is contained within a single directory, so migration is also trivial (on Linux and OS X, in my experience, anyways). It's just a matter of zipping (tar balling) up the XAMPP directory and dropping onto the new machine. Again, I only know for sure that this is the case on Linux and OS X. Regarding file sharing, SAMBA (the application on Linux that does SMB file sharing) is very powerful and flexible. It's pretty easy to knock up a simple setup that plays well in a Windows workgroup and many distros, like Ubuntu and OpenSuse, have made it as easy as simply right click on a folder and selection the option to share that directory. Things get more complicated, however, when you want it to do more advanced stuff, such as joining an Active Directory setup. I know that OpenSuse has a lead in this respect what with having user friendly GUI configuration of the more advanced SAMBA setups, but it is still worth considering that SAMBA is a different beast than what you are used to. Setting up MySQL on Linux is dead simple, but there's more of a learning curve with SAMBA (depending on what you want to do, of course). On the other hand (and I don't want to sound religious in saying this), but, typically with Linux, once you get a configuration nailed down, you should have a system that will be able to run pretty solid without many problems down the road. And the reason I believe this is because Linux is much more of a "static" system than Windows is, based more on configuration files and more of a separation of data, software and configuration as a matter of principle rather than complex software installations and registries and background processes doing x, y and z, etc that I often see for software on Windows. A distribution like Debian tends to be rather minimalist (especially if you install from the net boot iso), so you won't have a lot more stuff running in the background than is necessary for a shell to run, networking and whatever software you have selected to install, etc, if you catch my drift. From a security point of view, this is also great. If you keep your system setup to a minimum (OpenSSH server, MySQL server, Samba), then you will get less hassle with security updates. Saying that, if you are a competent Windows admin, then it is of course also possible to achieve a very robust system like that. I just think it takes a bit more effort and forethought. Perhaps that is debatable and may seem counterintuitive, but for the things that I deal with professionally, this is my experience. All in all, there is no reason you can't achieve exactly what you want and need with Linux. The question is, however, whether you are willing to make that investment. Think of it this way: Imagine an all Linux company which decides to install a Windows server, although they have little experience in doing so. While Windows is perfectly capable of doing what they need it to and may even be a better solution than the Linux one, it is still at a disadvantage. Problems with the Windows server may eventually translate into the perception that Windows is an inferior product that isn't capable of doing things correctly or is just difficult to maintain. It wouldn't be fair to say that, because, as you all know, Windows is anything but that. But I often deal with that sort of attitude from other people with regards to Linux, because they just don't understand it or are more suspicious of things that are different and hence more critical of it. So I've learnt to be careful when suggesting Linux to someone who, as you admit, has zero experience with it and is thinking of deploying it for a client who also has zero experience. It's easy for me to say something is simple to do, because I do it all the time, but thats not always going to be someone else's experience. Linux doesn't always offer the best solution, depending on what you want to do, and there are of course times where some piece of complex or buggy software may make it a frustrating experience. Finally, there is, of course, also the matter of the cost of buying a Windows Server license, which is another factor to take into account. If you do decide to go ahead with Linux, I will be happy to answer any questions. Relating to what Gustav suggested, I also know of another admin who I have worked with professionally and can vouch for who might be returning from the UK to Vancouver in the new year and also has experience with both Windows and Linux, so may be interested in consulting as well. Good luck. PS. >> The other nagging, back of the head issue is, "how well does it play in an otherwise all windows network. And how well does the windows network play with it? Incidentally, what exactly did you mean when you said you wonder if it plays well in an all windows network? On a networking level? Or regarding how well it integrates with AD and such?