Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Which OS would you choose to run a company's dynamic web application upon if the application was Mod_Perl (with CPAN) and PostgreSQL under Apache? Figure you earn your living from this box!

Especially interested in Solaris 10. Anyone develop Perl or run production Perl apps on Solaris 10? Any "gotchas" or "things to consider" regarding Perl on Solaris 10?

Please elaborate on the pros and cons of selecting Solaris 10, FreeBSD or RHE Linux.

Thank you very much!!

  • Comment on Solaris 10, FreeBSD or RHE Linux for production server Perl box?

Replies are listed 'Best First'.
Re: Solaris 10, FreeBSD or RHE Linux for production server Perl box?
by marto (Cardinal) on Nov 29, 2005 at 17:15 UTC
    One thing just to start

    "Figure you earn your living from this box"

    The key word here being box. Singular. If this 'dynamic web application' was the sole bread winner for my company I would want some sort of fail-over solution. One server, One point of failure. Regards the Mod_Perl requirement, you may want to read Choosing an Operating System and Hardware over at perl.apache.org.

    Hope this helps.

    Martin
Re: Solaris 10, FreeBSD or RHE Linux for production server Perl box?
by gloryhack (Deacon) on Nov 29, 2005 at 17:37 UTC
    Generally, I have to mostly agree with those who've posted before me, but I'd use Debian GNU/Linux for something that I absotively posilutely have to rely upon. The last HTTP/SMTP/et cetera server I had to take out of service ran for just a tad over five years with the only system downtime being during kernel upgrades, and the only server downtimes during software upgrades.

    I've been very happy with Debian for the past nine years or so, and I earn 100% of my living with the various Debian machines I've got scattered around the country, including the workstation I'm on right now.

Re: Solaris 10, FreeBSD or RHE Linux for production server Perl box?
by secret (Beadle) on Nov 29, 2005 at 17:19 UTC

    Solaris 10 is usefull if you have hudge hardware and do server virtualisation. If you don't use these features it will turn to be expensive. I'd go for RedHat.

Re: Solaris 10, FreeBSD or RHE Linux for production server Perl box?
by tirwhan (Abbot) on Nov 29, 2005 at 17:47 UTC

    Forgive me if I sound cantankerous, but what the **** kind of question is that supposed to be? You're running a "dynamic web application", which does what? You've what kind of budget for hardware, licensing, people? Your admins are familiar with what environment? You need what kind of commercial support? You're expecting what kind of bottlenecks in your application? Are you a "consultant" looking for an easy answer without doing the research?

    That being said, the web sites and forums of the projects you mentioned contain a lot of information regarding this topic, I suggest doing some research there. Without further information about your goals I'd lean a bit towards FreeBSD because it seems to be the preferred platform of the PostgreSQL and Apache people (I suspect largely for philosophical reasons). And I'd personally lean away from Solaris because I have zero confidence in Sun's future. But that's just me. Oh yeah, and in general I'd recommend looking at Debian.


    Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian W. Kernighan
Re: Solaris 10, FreeBSD or RHE Linux for production server Perl box?
by swampyankee (Parson) on Nov 29, 2005 at 18:22 UTC

    One rather useful piece of information you didn't include is what O/S you are currently using throughout the company (I'm making the assumption that the company is more than a few people). Unless there are significant problems with it, I would vote for using the same O/S on the production server. If you are doing it as part of a turn-key system for a customer, I would ask a similar question: what O/S do you typically use, and why not use the same one here?

    All three are sufficiently reliable and secure for production use; all three are probably roughly equal in overall performance until specialized hardware starts coming into play (in which case, Sun will probably win; earlier versions of Solaris scaled pretty much linearly to several thousand processors)unless the company is severely cash-strapped, the initial purchase cost for software and hardware should not be a major factor. Support costs will be, which is why (I'm repeating myself) the O/S currently being used should be given first preference.

    I've got a soft spot for FreeBSD, mostly because of how long it managed to hang on at Hotmail after Hotmail became a Microsoft property.

    emc

    </code>
Re: Solaris 10, FreeBSD or RHE Linux for production server Perl box?
by grinder (Bishop) on Nov 29, 2005 at 19:27 UTC

    Hmm, well, people have pimped Solaris and Debian, so just to confuse you, here's pimping FreeBSD. (Even though I use Solaris and RH Linux in production, but anyway).

    My most important production servers run FreeBSD. I've had FreeBSD boxes running naked out in wild for years with not one single comprise. The main reason, I guess, is that the kernel and userland live together and it's relatively easy to bring the whole mess up to date. Gentoo's emerge is the closest (and I'll freely admit, in some ways better) that Linux gets. FreeBSD ports can be sucky at times, but basically work. Apache and mod_perl you'll want to compile yourself anyway, so that's not so much of an issue.

    I've had lots of grief in the past with g?libc upgrades in Linux, for one reason or another. I've had even more grief with Solaris patches getting lost in dependency hell between 32-bit and 64-bit versions. Touch wood, I've never had any of that sort of trouble with FreeBSD.

    I don't see any reason to using Red Hat specifically. If you're going to go proprietary, go Sun. If you're going to go libre, go Debian.

    The most important issue is to make sure you have decent hardware with a good slab of RAM and SCSI or Serial-ATA drives in a hardware RAID configuration. Any modern operating system will serve you well on good hardware. They all have their warts; go with what you are comfortable with.

    Don't recycle old Celeron desktop boxes. That way lies pain and madness (been there, done that).

    • another intruder with the mooring in the heart of the Perl

Re: Solaris 10, FreeBSD or RHE Linux for production server Perl box?
by blue_cowdawg (Monsignor) on Nov 29, 2005 at 20:34 UTC
        Which OS would you choose to run a company's dynamic web application upon if the application was Mod_Perl (with CPAN) and PostgreSQL under Apache? Figure you earn your living from this box!

    The official answer that covers it all: it depends.

    OK.. you got me... depending on what?

    Whenever I've been faced with that decision wheather or not I'm doing this for an biggie corporation that I am directly employed for or making or influencing the decision for a client of mine I take lots of things into consideration. Let's break the problem set up into a couple different issues:

    Open Source or Proprietary OS?

    In the Real World™ this can be a very thorny issue although as time progresses and Open Source matures a bit this is becoming less of an issue with big companies. Part of the pain here is lots of companies of all sizes want someone "tangible" to be able to put their hands around their necks when things go wrong.

    When you have an issue with a Solaris™ box you can call somebody at a help desk and hopefully get some help. This is not the case with Open Source unless you buy support from some commercial concern that sells support for such things. Even then, there is the slowly disappearing perception in the board room that Open Source software is written by a bunch of long hair hippy freak renegade revolutionaries wearing tie dyed shirts, tons of piercings and tattoos.

    If you have the fortune of dealing with a client or working for a company that can deal in the Open Source space without reaching for the Malox and/or having nightmares then the decision becomes:

    Which Open Source OS do I use?

    Here's where some real religous arguments come in. Getting past all that there are some things to consider and rather than lead you to specific OS-es I'll shoot you some bullets here:

    • Stability: how long is the reported bug list and are there fixes being released for them?

      This is a two-edged sword no matter how you approach this argument. I know a very brilliant computer scientist that I work with that points out that one OS in particular hardly ever "has to release fixes" for their OS. I got his head spinning one day when I pointed out the release notes for the lastest version of that OS and how many bug-fixes were rolled into it, how many bug reports there had been in the mean time and questioned why didn't they release maintenance releases between versions?

    • What is the security stance of this software?

      This is where some research comes in. I can think of one OS I'd rather go with because of how stable their network stack is. You didn't mention it in your list of choices.

    • How readily do things port to this OS?

      Of all the OS-es I've ported things to, AIX and Solaris rank at the top of my list for causing me to use salty language while running config and make. OTOH there are a couple of Open Source OS-es at particular release levels that also have caused me some grief as well.

    There are probably other things that I'm not thinking of right now that would occur to me while making choices, but nothing is a substitute for doing your own critical analysis and research.

    Count Beans!

    Another subtopic has to do with the kinds of things that bean counters love to talk about. Return on Investment (ROI), Total Cost of Ownership (TCO) and stuff like that. There are several factors that affect those and a good architect has to take those into consideration as well.

    The first is the cost of aquiring the technology in the first place. This includes the cost of the OS itself, the cost of licensing for any application software you need to buy to support the platform, the cost of the hardware, the cost of training for any staff that needs to be trained for this platform (developers, system admins, operators, etc. etc. etc.) and lastly but certainly not leastly is the cost of staff to support it.

    IMHO this is where a lot of the Evil Empire's platforms get into trouble OBTW, since I've often noted that it takes quite a few more techies to support one of those platforms than it does to support a *nix platform. And I'm not just saying that because I'm a *nix bigot. I've managed groups that supported both platforms at the same time and know where my staff dollars were going!

    After the initial costs of aquiring the platform and bringing it into the house are thought through you also need to consider recurring costs. Annual lisencing and support renewals, staff dollars (again) and lots of soft costs. Here's where you get to look into your crystal ball and consider Mean Time Between Failure (MTBF) numbers and Mean Time To Repair (MTTR) numbers and try and predict what the costs to your business are going to be due to down time.

    When I'm selling a solution either into my own corporate environment I actually try and put together a spreadsheet complete with charts and graphs to show the Harvard MBA types (PHBs) and get them to ooh and ahh.. They love that stuff. It's also important to getting your point across and setting expectations. I'll even fudge the numbers across all platforms in the pessimistic direction so that I don't get bit later when things were worse than I thought!

    I've probably given you way too much information, but I hope it helps

    PS

    Don't fall for the obvious trap. Open Source is not zero dollar cost. There are many costs both real and soft involved in any solution wheather it be Open Source or Proprietary.


    Peter L. Berghold -- Unix Professional
    Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg
Re: Solaris 10, FreeBSD or RHE Linux for production server Perl box?
by Moron (Curate) on Nov 29, 2005 at 17:23 UTC
    For me, the deciding advantage of using RHE linux over the other two is that the dependencies are managed with rpm.

    Also cross-compatibility of versions of different software (e.g. version of gcc library versus RDBMS version) is almost guaranteed for RHE-Linux (irrespective of the point about rpm) whereas for Sun Solaris I am yet to find how to assure that issue. I don't know enough about such cross-compatibility for FreeBSD to compare it with the other two though.

    -M

    Free your mind

Re: Solaris 10, FreeBSD or RHE Linux for production server Perl box?
by Anonymous Monk on Nov 30, 2005 at 03:21 UTC
    I'm the original poster. First, a big thank you to everyone who has replied so far! I very much appreciate your input and advice. Thank you!!

    Per a post or two above, I think it best to add that I'm asking for my own benefit. I only have experience with Windows up to this point.

    However, believing a unix-ish environment would be a better way to go long term, I'm seeking your wisdom on which OS to choose for a server to run a collection of sites upon. I know I've got a lot to learn which ever OS I choose, but hopefully will learn enough over a year or two that I can operate a collection of sites from my own server(s) that I could earn a full time living from.

    Thus I hope to pick the best OS for this. I'm not looking for the easiest OS to get started with. I want the best OS for the job. I'm not afraid of the command line, learning utilities nor any other task server admin is likely to require of me. I would however prefer to benefit from the wisdom of others here to make the best choice of an OS I can.

    Oh, and to the kind Monk who mentioned:

    "I can think of one OS I'd rather go with because of how stable their network stack is. You didn't mention it in your list of choices."

    Please do share what OS you are referring to and why you might/would go with that OS instead (NetBSD perhaps?).

    Thanks again to everyone for being so helpful!

      In that case, if you've got the time to spare the best course of action has to be that you download the operating systems in question and play with them for a while. Find out which appeals most to you. Set up an apache/postgres environment and keep it running for a little, learn how the distribution handles upgrades for you (or if it doesn't). If you're trying to find out how the OS handles load, run a stress test (or post a story to slashdot ;-). I'd definitely recommend looking into Debian, it does not have the glitziness of other Linux distributions but is very solid and a joy to keep running.

      Another thing to do would be to hang around some of the mailing lists/forums associated with the distributions you're looking into. You're bound to run into issues where you need help at some point, and the different communities work in different ways, so it's helpful if you feel comfortable in a specific community. For example, another OS I could recommend from a security aspect is OpenBSD, but newcomers often find their forums extremely harsh, while others enjoy the high technical clue to bullshit ratio.

      "The best choice of OS" depends on many factors and will often change from project to project, so its worthwhile to at least have rudimentary knowledge about how things are done in other environments.

      And welcome to the world of *nix.

      Update: I forgot to say, this may seem like a bit much for a *nix beginner, but take a look at Xen, this allows you to run several virtual OS images on one machine at the same time. The guest OS kernel has to be modified in order to run under Xen, so at the moment it only supports Linux, NetBSD, FreeBSD 5.x and ReactOS, but I've heard rumblings that Sun are working on getting Xen into Solaris as well, and once the new virtualizable CPU's from AMD and Intel are out (sometime next year) you'll be able to run any OS as guest. Useful for testing as well as production.


      Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian W. Kernighan
Re: Solaris 10, FreeBSD or RHE Linux for production server Perl box?
by Perl Mouse (Chaplain) on Nov 29, 2005 at 21:56 UTC
    As someone who has used SunOS/Solaris intensively since the 80's and Linux (also intensively) since the early 90's, and *BSD (less intensively) for a long time as well, both as a user, developer and admin, the choice is a no-brainer: Solaris.

    Solaris is more stable, performs better under high loads, and has better debugging tools when something goes wrong. I'm not saying Linux or *BSD are bad - they aren't - I just think Solaris is better.

    Any "gotchas" or "things to consider" regarding Perl on Solaris 10?
    Yes. A positive thing. Alan is working on getting dtrace hooks in Perl.
    Perl --((8:>*