Google Gets Slack with Software Updates
An anonymous reader writes "While Google's open source project titled 'Slack' was released over a year ago, last week's Australian Unix Users Group Conference marks the first time that Google has ever discussed the system in public. Corporate systems administrator Michael Still helped to illuminate a little bit about how Google uses Slack and how their network of computers fits together. From the article: '"Slack is a source deployment system and it's the way we install applications on servers," Still said, adding Slack is based around a centralized configuration repository which is then deployed onto selected machines in a "pull" method. Each of the "worker" machines asks for its new configuration regularly or when a manual command is run.'"
How closely is Google Slack, tied to Slackware? If it's not, why did they choose that name? The Slashdot icon and URL suggests this story has to do with Linux.
Oh You POS
Before anybody says "Hey! Where's the source?!", let me just provide a link right now:
http://www.sundell.net/~alan/projects/slack/
Do me a favor and don't destroy sundell's server, or he's likely to hurt me :-P
Google is all over the news these days. They should go on vacation.
:)
s/News/Slashdot is a little more accurate
Maybe Google bought OSTG when nobody was looking. Might help explain why Taco's omelet is a little heavy on the Google sauce lately.
"What do you despise? By this are you truly known." --Princess Irulan, Manual of Muad'Dib
/)
Google has what, 700,000 servers? I would imagine that along the way they would have found existing solutions inadequate. Now they are making a version of their tool available other developers.
We run Ubuntu in my department and ended up building an in-house Apt repository/svn/rsync system to maintain all our machines. We also use custom scripts that monitor NFS shares to emergency push operations. Obviously our down side is that an entire .deb package must be rebuilt for each change, but it's nice to see Google's method isn't out of this world after all.
I doubt it will get too slashdotted, but just in case, this is the link with the downloads coming from coral cache:
/~alan/projects/slack
:)
Index of
[TXT] COPYING 13-Oct-2006 00:09 1k
[TXT] ChangeLog 13-Oct-2006 00:09 7k
[ ] slack-0.13.1.tar.gz 08-Jan-2005 20:01 28k
[ ] slack-0.13.2.tar.gz 09-Feb-2005 11:27 28k
[ ] slack-0.14.0.tar.gz 13-Oct-2006 00:09 47k
Short Description:
slack is a configuration management system designed to appeal to lazy
admins (like me). It's an evolution from the usual "put files in some
central directory" that is faily common practice. It's descended from an
earlier system I also wrote, called "subsets", and uses a multi-stage
rsync to fix some of the problems I had there.
Basically, it's a glorified wrapper around rsync.
License:
See the file COPYING.
Getting slack:
http://www.sundell.net/~alan/projects/slack/
Documentation:
Not much, but there's some in doc/
Reporting problems:
Send an email to <sundell (at gmail.com)>. Probably want to put
"slack" in the subject and be patient for replies.
$Id: README,v 1.5 2006/09/25 21:35:22 alan Exp $
FWIW, the name is an acronym: SLACK - Sysadmins' Lazy Auto-Configuration Kit
Google makes Slack.
Ergo,
Google is the corporate incarnation of 'Bob'!
Thanks. All the bleach in the world isn't going to help me with that mental image.
Sounds very much like CFEngine http://www.cfengine.org/ with subversion?
Sig
What they're describing there is like Debian's apt-get, or BSD's portage (also incorporated in Gentoo). Each of those technologies I listed are most commonly used to install packages from a common central repository over the internet (per distro). But, each of them can be configured to retrieve and install packages from a localized server. It's actually a very handy thing to have in large-scale networks because instead of installing and updating packages on each machine over the internet from a remote repository, you just update one machine from the internet and let all the rest of them update from it, thus cutting way back in internet usage and greatly reducing the time needed for the local machines to download and install updates.
Sounds like Slack is a simplified version of all of that.
/* No Comment */
You mean OpenLDAP, Samba, Kerberos, Bind.
I can give you one better.
I use Mandriva Linux as my Domain Controllers and workstations.
With urpmi's parallel operation with SSH support is a Godsend. See my Secure Shell server is GSSAPI enabled (Kerberos.) Because of the fact every machine is authorized by LDAP, and authenticated by Kerberos, I can do this:
urpmi samba-server --auto --parallel dcs
This will install Samba on all Domain Controllers
urpmi gnumeric --auto --parallel all
This will install gnumeric on every machine in my Domain.
urpmi.update -a
urpmi --auto --auto-select --parallel all
This will update every machine I have in my Domain while resolving dependancies. There are problems with doing it this way. The big one is, under AD, updates can be pushed to offline machines. For this to work, all machiess must be online.
Also this does not update the urpmi catalogue synthesis.
As soon as I read this I immediately though of radmind, which, by the vague descriptions seems to do exactly what is going on above. I encourage everyone to take a look!
Naming an automated package management/software update system after Slackware? That's cute.
-jpeg
Gentoo is not Ports. Ports is not Gentoo. Gentoo is inspired by BSD's ports, which is why the Gentoo package manager is named portage. But there are huge differences.
Last I checked, Ports was primarily a distribution system. Portage is a full-fledged package manager that happens to use source packages, and happens to have a file called "make.conf".
True, and they mention this. Gentoo's probably the closest, but their main motivation for rolling their own is to be able to go into a filesystem and tweak it, instead of having to tweak, build an RPM (or Deb, or whatever), download that to the target machine, etc etc.
It's also simultaneously a like cfengine, which is used to manage configurations. That is, it's not just for packages, but also for app configurations. That is, if your webserver goes down, hard, you can bring a new one up in an hour, 100% automated, and it will be configured the exact same way as the old one. If you need to add a new webserver to the cluster, same process. Want to change the config on a webserver? Test it on a local machine, then put the new httpd.conf on the Slack server, and watch all the frontend machines download it.
Personally, I think they should've at least looked into cfengine, but APT alone is not enough. Saying APT could do it is like saying you can write a webserver in assembly -- yes, you can, but why would you want to?
Don't thank God, thank a doctor!
The parent is clearly not a troll, folks.
The distribution tarball is 28k. This is a tiny little one-man project that is little more than exactly what the parent said. There are 90234580928345 other dumb little rsync wrappers on sourceforge, many of which are MORE functional. Why focus on this one?
I'm not the only one who is getting sick and tired of everyone pulling out their e-penis at the slightest mention of Google and jerking vigorously. Nor am I the only one sick of half of all slashdot articles being nothing but spew from the Google spin machine.
No, its not possible. It's true (and I know) that OpenLDAP, Kerberos, Bind and a Network File system will give you a some of the functionality of the AD, if all you want is SSO and someway to centralize Automount settings and Printers. However doing DFS is not simple, pushing updates and revoking them is not as straight forward or robust, as the other poster pointed out and there is nothing like Group Policy.
This project seems to just provide another way to push applications to systems, presumably with the same limitation as any other, excepting maybe for Zen, where all your systems must be from the same vendor. It's from Google though so it must be gold.
"I use a Mac because I'm just better than you are."
How exactly does this compare to CFengine? From the short slack description it would seem like cfengine is a much more mature solution ...
There are a bunch of widely used systems like this: rdist, cfengine, fai, ... In what way is "Slack" supposed to be better? Or is this simply a case of NIH?