Google Gets Slack with Software Updates 94
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.'"
Re:FP (Score:4, Funny)
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.
Re:FP (Score:4, Funny)
Thanks. All the bleach in the world isn't going to help me with that mental image.
Name infringement? (Score:2, Informative)
Re: (Score:2, Informative)
Re:Name infringement? (Score:4, Insightful)
More seriously, re-read TFA summary: Google Slack is a configuration manager, and not necessarily Slackware-Linux-related. OTOH, The fact that the Google engineers used that adjective may be an hommage to the oldest surviving Linux distribution.
"Slack" is, after all, a perfectly valid ajective in the English language. Even though it has deep religious overtones for the Subgeniuses out there... This being said, Slackware is still, for me one of the best Linux distribution out there.
It may be an homage, true (Score:5, Funny)
Naming an automated package management/software update system after Slackware? That's cute.
Re: (Score:1)
Re: (Score:1)
Re: (Score:2)
I'd love to see slackware get a major lease in life just like its two competitors in 1996, redhat and debian. Its a crowded market there now with arch linux, puppy and many other smaller and embedded distros getting in the 'simple' Linux market. Slackware is the single best distro for learning Linux, reminds me of minix even. Everthing else
Re: (Score:1)
Re: (Score:2, Informative)
from the wikipedia article:
Re: (Score:1, Offtopic)
Hail Eris!!
All Hail Discordia!!!
Emperor Norton for President!!!!
As a somewhat sad and OT sidenote, if you aren't already aware, Robert Anton Wilson is dying and had been destitute, unable to pay his next month's rent. I know that others have helped out but I'm sure that no one is going to turn down any donations. You can find out more info on places like BoingBoing and the like.
Re: (Score:2)
Not to mention the default screensaver of the flaming face of J. R. Bob Dobbs himself!
tm
Re: (Score:3, Informative)
S.L.A.C.K. - Sysadmins' Lazy Auto-Configuration Kit
Re: (Score:1)
Here's the source code (Score:5, Informative)
Before anybody says "Hey! Where's the source?!", let me just provide a link right now:
http://www.sundell.net/~alan/projects/slack/ [sundell.net]
Do me a favor and don't destroy sundell's server, or he's likely to hurt me :-P
Re: (Score:2)
Re: (Score:1)
(This isn't alan, just another s.n user.)
Coral Cache (Score:5, Informative)
Index of
[TXT] COPYING 13-Oct-2006 00:09 1k
[TXT] ChangeLog 13-Oct-2006 00:09 7k
[ ] slack-0.13.1.tar.gz [nyud.net] 08-Jan-2005 20:01 28k
[ ] slack-0.13.2.tar.gz [nyud.net] 09-Feb-2005 11:27 28k
[ ] slack-0.14.0.tar.gz [nyud.net] 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/ [sundell.net]
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 $
Re: bittorrent (Score:2)
But the real way to do this effectively is through UDP multicast, but few people are comfortable enough with that to create cool hacks with it unless it involves streaming media, which is a shame for us sysadmins who are stuck with unicast methods.
Re: (Score:1)
Makes sense (Score:3, Interesting)
Re: (Score:2, Funny)
Re: (Score:1)
Re: (Score:1)
A few I think that it's very unlikely that number is exact:
1) The number of servers being used at any given time is pretty transparent. Do you think the average Google engineer has a way to do an actual count? Google's implementation of GFS (http://labs.google.com/papers/gfs.html) indicates that a user doesn't really have an idea of what server their using at what time... or if they're even using the same servers the
Re: (Score:1)
Re: (Score:2, Interesting)
Well I imagine that accounting would have an accurate idea. And I was inte
Re: (Score:2)
Finally a program using "mapreduce" that I could write without my brain hurting.
Re: (Score:2)
Re:Makes sense (Score:4, Informative)
You (and most others here) are largely missing the point. Slack is not a replacement for apt or rpm. It's more comparable to something like cfengine, although it's only vaguely in the same universe because Slack is so much simpler. Here's what goes in a slack role:
That's it. You don't tar it up, you don't make a package, you don't have to learn a special language to describe your changes, etc. Nothing fancy. I know those four items sound similar to what you can do with a package management system, and they are, but that's not what this is for. You don't put binaries (for example) in a Slack role - slack is for higher-level stuff like your customized config files. You *could* roll custom packages for your config files and whatnot, but that's a lot of work (relatively speaking).
Say I've got a slack role for my web server. In the preinstall script, I'd make sure the right packages are installed, so I'd do something like "apt-get install apache2". Then in the files section, I'd have etc/apache2/httpd.conf along with whatever other config files I use for my installation. In the postinstall script I could check to see if I've just installed new config files and restart apache if I have.
That's all there is to it - it's purposely extremely simple, to make it easier than just copying files from an existing server to a new one when you set one up. Laziness usually wins out (a law of human nature, not a statement about google sysadmins :-P), so if config management is too much work, it either has to be forced upon everybody or it won't be used. Additionally, since you don't do anything with the files and scripts you put in a slack role, you can trivially put your slack repository in Subversion or CVS or your revision control du jour, so getting people to use Slack has the nice side effect of also getting them to use revision control for their config files!
And yes, I use it on my personal server with two admins :-P
Re: (Score:2)
Microsoft have rather more than 700,000 getting updates automatically - although I'm not sure their model would be a good one to copy, when Google discover it doesn't work with a proxy server quite right, and you need a GUI on every box to run IE
Even the Debian repositories update more than 700,000 machines. But then they use a wrapper around rsync as well.....
Indeed the article suggests that the GNU/Linux package solutions like Redhat RPM, and Debian debs, may be over
Slackware (Score:1, Funny)
Can't google come up with their own name?
--
Submit goats: http://www.historymatters.org.uk/output/page97.as
Sounds similar to our setup (Score:5, Interesting)
Mod Parent Up; Not a troll (Score:2, Insightful)
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 be
Confusing title? (Score:1, Troll)
I'd have chosen something else, even at the risk of it sounding ridiculous.
Like one of my projects [sf.net], for example.
Re:Confusing title? (Score:5, Informative)
Re: (Score:2)
Dobbs saves (Score:1, Funny)
Lazy Authors Desperate Acronym. Also the name of car but never used in Software, unlike slack.
Bob talks to me, and he says:
Tell them to give the slack back or purchase a SubGenius church membership!
BTW, can I interest you in my new local file search tool called GOOG, an acronmy for GOOG OOOH OOOH GOOG which is inspired by the John Lennon song but modified to not offend JOOOS. Do Google have any Walruses on their hard drives? It finds Walruses better than anything else, for the love of Bob pr
Re: (Score:1)
Re: (Score:1, Flamebait)
Re: (Score:2)
Re: (Score:1)
Re: (Score:1)
Whatever happened to finely crafted trolls and flamebait? I'm tellin ya, these young'uns... there's no pride in their ruthless barbs anymore.
I knew it! (Score:5, Funny)
Google makes Slack.
Ergo,
Google is the corporate incarnation of 'Bob'!
Re: (Score:2)
Bob smokes a pipe, and
Tobacco is Evil, and
Google Does No Evil, ergo
Google Is Not Bob.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:1)
So its part of the Active Directory for Unix (Score:1, Flamebait)
Re:So its part of the Active Directory for Unix (Score:4, Informative)
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.
Re: (Score:1)
Re: (Score:3, Interesting)
This project seems to just provide another way to push applications to systems, presumably with the
Re: (Score:1)
Re: (Score:2)
Re: (Score:1)
Re: (Score:2)
Not new (Score:5, Interesting)
Kinda similar to APT (Score:3, Informative)
Sounds like Slack is a simplified version of all of that.
Re:Kinda similar to APT (Score:4, Informative)
Re: (Score:1)
Re: (Score:1)
Re: (Score:3, Informative)
FreeBSD = Ports Collection
Gentoo = Portage
BZZZT! (Score:4, Informative)
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?
Emerge is a script of the Portage system (Score:2)
* sys-apps/portage
Latest version available: 2.1.1
Latest version installed: 2.1.1
Size of downloaded files: 1,029 kB
Homepage: http://www.gentoo.org/proj/en/portage/index.xml [gentoo.org]
Description: The Portage Package Management
Re:BZZZT! (Score:4, Informative)
Personally, I think they should've at least looked into cfengine [...]
Maybe they did ? I looked into cfengine for automating our server configurations and my head asploded.
Then I experimenting with it for a few weeks, but I could never quite grok how it was supposed to work and always had the feeling that "this is as much work as managing all the systems manually anyway". It seems extremely capable, but it's very difficult to use if you want to do anything that's more trivial than pushing (or pulling) a bunch of files (for which some rsync fiddling is _vastly_ easier).
Re: (Score:2)
For one thing, it can just as easily use rsync to transfer files as its own protocol.
You may be right, but the fact that I don't see any mention of it except in Slashdot comments suggests that they didn't know about it, or dismissed it out of hand, not that they were attempting to write a replacement for it (even if they did). In fact, I'd imagine that if they were going to roll their own stuff anyway, it might be easier to write a cfengine wrapper than an rsync wrapper
Re: (Score:2)
It's ports, not portage. Different system in quite a few fundamental ways.
Re: (Score:1)
( hint [netbsd.org])
the Cult of Bob (Score:1)
radmind (Score:2, Interesting)
CFengine (Score:5, Insightful)
how is that different/better than... (Score:3, Interesting)
Also Obligatory... (Score:1)
So one machine says to the other, "Hey, give me some SLACK, will ya?"
Reply from Google: (Score:1)
finallyy... (Score:1)