Google gets Slack with software updates

16.10.2006
Maintaining a large number of Linux servers to power its search and Web application services is at the heart of Google's business and, until now, has remained a closely guarded secret.

Speaking at the Australian Unix Users Group (AUUG) 2006 conference in Melbourne last week, corporate systems administrator Michael Still lifted the lid on some of the tools Google uses internally to manage clusters of servers.

Rather than relying on standard Linux operating system packages, Google developed its own software, dubbed "Slack", and released it as an open source project a year ago but Still said this is the first time the search giant has talked about it publicly.

"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.

"An application install is called a Slack role, so if you have an LDAP slave, you have an LDAP slave role," Still said. "You can have more than one role per machine although if the roles are going to tread on each other then your installs will have to handle how to deal with that."

With Slack, Google system administrators build changes or patches against the source control system for configuration. These changes are checked into the central repository, and then to the "Slackmaster", which Still says is "nothing special", just an rsync server.