3

which os should I choose solaris or linux if linux which distribution? i want to deploy my java app on production servers in a cluster on tens of servers... can someone tell me what are the key points I should compare between the 2 os? which os should I choose and why?

Mark Henderson
  • 68,316
  • 31
  • 175
  • 255
Jas
  • 701
  • 4
  • 13
  • 23

6 Answers6

6

Pick:

1) what you (or your sysadmin) is familiar with. Keeping a cluster up is a lot of work even when you know what you're doing; tossing in a large learning curve will just mean more work.

2) something that can autodeploy the entire OS and build to a machine. Debian's FAI or RedHat's Kickstart or something; you don't want to have to hand-install that many machines.

3) something with a good sized userbase so that someone else has done all of this before and you can draw on their knowledge via the documenation/wiki/howto's.

Personally, I've been using Debian since around '94 or '95, so FAI was the natural choice for me. With the advent of virtualization and cloud computing, these days I might go with a Eucalyptus cluster so I could failover to AWS if necessary.

If given the choice, however, I'd take the lazy route and let someone else do all the work... are you sure it's not cheaper to deploy onto AWS or some other app-hosting provider?

pjz
  • 10,497
  • 1
  • 31
  • 40
4

The key advantage of Solaris is mature support for ZFS storage, which, among other things, can increase your IOPS dramatically by providing a means to cache reads (L2ARC) and writes (ZIL) using enterprise SSDs. It sounds like this could be highly relevant to your situation.

The key advantage of Linux is mature support for practically everything else.

Of course, no one is stopping you from building your iSCSI storage servers on OpenSolaris(*) and your web servers on Linux.

(* or OpenIndiana, or Nexenta)

Skyhawk
  • 14,149
  • 3
  • 52
  • 95
  • 1
    i don't see how ZFS is relevant on a java application cluster. either each host has it's own FS, or uses shared storage. in the first case the FS choice is almost inconsequential, in the second case ZFS just won't do. – Javier Aug 11 '10 at 16:17
  • @Javier: ZFS is often used for shared iSCSI storage pools. What is the basis of the "just won't do"? – Skyhawk Aug 11 '10 at 21:21
  • Hi, Let me tell you what seems to me the answer so far. it seems like it doesn't matter if I choose Linux/Solaris (or freeBSD for that matter) it seems currently like each of them has would be a good choice and I cant fail on this. BTW is SunOS free? or does it cost money? – Jas Aug 12 '10 at 06:20
  • OpenSolaris is free, but Oracle Solaris is not. You "can't fail" in your choice of operating systems in the sense that either is a suitable foundation for your project, success at any project still requires careful, skillful planning and implementation. @matt is right that you will find a lot more company in the Linux community than you will if you go with Solaris, so do keep that in mind as you make your decision. – Skyhawk Aug 12 '10 at 07:02
  • If I go with solaris do I have a reason to go with SunSolaris and not OpenSolaris? – Jas Aug 12 '10 at 07:10
  • also someone told me that solaris is better for java than linux does that has any basis? – Jas Aug 12 '10 at 08:05
  • Perhaps. Sun invented Solaris, and Sun also invented Java. Oracle now owns both. Oracle Solaris (formerly Sun Solaris) is only free for a 90-day trial; OpenSolaris (the community version of same) is free forever. Regardless, Java is meant to be platform-independent. – Skyhawk Aug 12 '10 at 08:25
  • @Miles Erickson: ZFS isn't a cluster filesystem where you can attach several hosts to the same block device (like GFS, OCFS2, CXFS). if you do shared storage you need one. unless your definition of shared storage includes the 'one LUN per host' case, which has very few real differences over directly attached storage. – Javier Aug 12 '10 at 12:17
  • @Javier ZFS in no way prevents multiple initiators from connecting to the same iSCSI target. An iSCSI target on a ZFS-based SAN certainly can be formatted to use a cluster file system, just as it can be formatted to use NTFS or HFS+. Your SAN doesn't care. – Skyhawk Jul 17 '12 at 14:09
  • you're talking about ZFS as container for volume images, where each image is shared over iSCSI and contains it's own FS. ZFS is widely used for that. What i'm talking about is about a shared cluster filesystem, where several nodes access the _same_ storage and work on the same filesystem. That filesystem must be a cluster-aware one, which ZFS isn't. – Javier Jul 17 '12 at 17:14
  • to put in perspective, the options in order of scalability are: 1) a networked filesystem (NFS, Samba, etc); underneath, any POSIX filesystem would do. ZFS is a reasonable option but far from the only one. 2) a SAN with several volumes, all them stored in 2a) a single ZFS with image files or 2b) a volume manager, which can be distributed without a central controller. 3) cluster filesystems on a SAN volume (or several) ZFS can't play there, except for storing the volume file (as on 2a). and 4) each node with its own local filesystem and a different way to aggregate results. – Javier Jul 17 '12 at 17:43
  • @Javier Correct. I was referring to your Option 3. – Skyhawk Jul 18 '12 at 16:51
  • but if you put ZFS beneath that SAN, you go back to 2a, which means centralizing storage. Granted, it's a very well performing and easy to manage system, but you get constrained to the single-node performance. With several SAN volumes, on a distributed volume manager (not ZFS), you avoid that bottleneck. – Javier Jul 18 '12 at 23:53
2

In my personal 10 year experience as sysadmin, use what everyone uses.

If you go with Solaris route, you will get more features, but it will be harder to find solutions online or find proficient staff which can handle problems.

If you go with linux, go with basic debian host and install what you need with apt-get. That way you won't install unneeded software, get more security and more memory for your cluster.

damir
  • 353
  • 2
  • 7
  • Why Debian? Not trying to start a holy war, but if you are going to recommend a specific distro, you should explain why. – MDMarra Aug 11 '10 at 14:18
  • ok ..this is 10+ years of experience in big ISP as head syssadmin so .. 1. not bloated if you select basic install you get small amount of packages that are enough to start some server 2. automatic dependencies via apt-get, 3. ability to fit in your own stuff easily via gcc etc. 4. security fixes included. – damir Aug 11 '10 at 16:16
  • ususally what i did was get basic packages and only what i need, compiled kernel on my own and distributed same stuff on as many servers as I needed. Debian ran web, radius, oracle, mail,news etc. servers for years without any problems. After all its not about debian to run stuff, its your kernel and knowledge about linux core that makes difference. Ease of administration is what makes you pick distro or another – damir Aug 11 '10 at 16:16
0

Solaris is suited for many many tasks, but I believe that damir is right. Unless you are an experienced, old-school sysadmin with a hard on for sun, I would stick to centos (or ubuntu if you so please) because finding support is so much easier.

That being said, I'm an opensolaris advocate and still would recommend most people go the linux route for things that have to go straight into production.

matt
  • 1,112
  • 1
  • 8
  • 18
-1

Your best choice would be Debian with Apache Tomcat.

Jonathan Rioux
  • 1,878
  • 6
  • 33
  • 57
-3

The greatest benefit of Solaris is the SPARC CPU that is based on the RISC architecture. The environment that you support weighs heavily on which to choose. Are you supporting 200 users or 50000 users... Database, app, mail ---- I worked in the telecommunications industry from 1994 to 2006 and was fortunate to be in an environment that was supporting the internet explosion.... LITERALLY !! Only mainframe and RISC based cpu would suffice due to the vast amount of data and network traffic. AIX - HP-UX - Solaris .... When Linux was implemented it was for web based front end systems to replace Windows. Back end systems are still RISC or Mainframe ---- Believe it or not -- The processing power between x64/x86 and RISC cpu's is vast... So if you are a true mass enterprise, Verizon, AT&T, Wall ST, and others -- Only RISC wull do for back end processing.... And enterprise companies save significant sums because electric power consumption is reduced due to SPARC cpu's can handle far greater loads than x64/x86. Now in 2010 Linux (all flavors) has made great strides however it really depends on your environment ******** Solaris SPARC systems are expensive on the front end - But Licensing is cheap and Most administratice software is free..... If you work in a shop that can afford to spend 20k to 40k for servers then choose Sun. You may also want to go on Ebay and purcgase a Sun v490 and setup a test environment against Linux.... Remember Solaris SPARC is not OpenSolaris - However both are free....

Good Luck all,,,, Steven