Hi,
tl;dr: I'm biased. Stacki is the best thing for deploying data-center infrastructure.
I'm going to take a stab at answering this question without sounding like a marketing or sales guy. (I'm not, I'm just an engineer, but without the proper vaccine, marketing/sales guys can infect you. Sort of like hepatitis.)
First, let's make things clear.
I am biased.
I have worked for StackIQ for the past 8, yes count them, 8 years, in some capacity or another. (For the record, it was ClusterCorp when I started.)
But I'm even more biased than that:
I once ran a small medical transcription company back when the 2.0.32 Linux kernel came out. It was RHEL 4.1 before they started reusing the their numbers for names. It was the first 4.1.
It was six machines. I slept 6 out of 72 hours getting 6 machines up. (The story is long and it involves my brother-in-law's Russian girlfriend and unreasonable demands and VA Hospitals and the need for 4 hour turn around on radiology reports.)
If I had had something like Stacki, I would have slept that weekend and wouldn't have a story best told mumbling bitterly into a half-empty beer stein.
But I digress. I ran a large cluster at Fermilab, about 960 machines (split into 3 clusters on 3 different Class B public subnets) and 1.5 PB of disk on the floor back when that took up 20 racks. I could reinstall it all in under an hour. This was installed and managed from one frontend.
It was the Rocks project back then, but StackIQ took that code and has made it better. Way better. Like, really way better.
But that doesn't answer your question. This might:
Okay, so I've used all three to some extent. My Cobbler experience is long ago so my comments may not be pertinent. I've used Foreman to deploy RHELs Havana OpenStack. We actually turned it into a product. So my familiarity with Foreman is more recent than Cobbler.
All of these solution require familiarity with kickstart. When I looked at Cobbler, I didn't like the way they managed the directory structure for kickstart and configuration. I thought it was overly complicated and not very intuitive, but that may have changed. Stacki tends to flatten that directory structure by using attributes and amped-html to map to kickstart. It makes keeping things in one place relatively simple. At the time I investigated Cobbler, they weren't using a database so every machine had to have it's own kickstart, that may also have changed. Stacki uses attributes so you essentially have a generated kickstart file that gets pulled and customized for each machine when it installs. This tends to make development and deployment faster. Write once andi
Foreman has a web-UI which can sometimes make things simpler. Foreman and RedHat are no longer in lockstep, so Foreman is really a Fedora thing. RedHat is moving away from Fedora as a way to deploy, however, their latest iteration looks a lot like Satellite Server.......
My general impression of Foreman was that it's designed to deploy everything in your company and not specifically for clusters which have to have the same configuration for their application stacks. You also tend to do clusters at larger numbers so something that takes minutes versus hours or days is good. We essentially give you a virtual machine deployment experience on bare metal (or on virtual machines.)
I think Cobbler and Foreman can do more than just RHEL/CentOS based distributions (Ubuntu?) but I may be wrong. Stacki does not, though we are exploring possibilities.
We will beat Cobbler and Foreman on speed any day. Stacki does parallel formatting of disk and parallel sharing of installed RPMs in a peer-to-peer network which puts a much lighter load on the frontend.
The difference between installing 20 and a few hundred machines is measurable but not significantly so.
And it won't be easy to set-up disk controller configuration in Foreman/Cobbler. With stacki you can set-up that configuration in a spreadsheet or on the command line and not touch the controller configuration in the BIOS. I'm pretty sure Cobbler and Foreman don't do that.
If speed, multiple subnets, bonding, partitioning and absolutely consistent configuration are critical for you, then Stacki, I think, comes out on top. If you have a more disparate set of machines: desktops, small groups of servers, one off servers all of whose configuration is more customized, then Cobbler or Foreman might be the way to go.
But I would to that with Stacki anyway because I'm biased.
Thanks,
Joe