Friday, January 10, 2014

Replication Auto-Failover at SFPUG coming up

One of the things we've been lacking in Postgres world for a while is a utility which can smoothly handle auto-failover in a replicated cluster, and integrates with the users' other high availability server management tools.  That is, while our built-in replication handles failover and supports all the configurations you could want, it's been left up to the user to implement their own failover management tools.  Well, I've taken a crack at changing this situation: introducing HandyRep.

Now, HandyRep is still somewhat of a work in progress (consider it a version 0.8), but I'll be talking about it Tuesday at SFPUG.  We'll have live video of the presentation and demo, starting at around 7:15pm PST.

The goals of the HandyRep project are:
  • Supports configurable automated failover logic for high availability
  • Supports manual failover, replication monitoring, node provisioning, and remastering (with 9.3).
  • Written entirely in Python, for easy hackability
  • All functionality is accessible as an embeddable Python library.
  • All functionality accessible via a REST interface when using the included Flask application with a web server.
  • Supports user-supplied plugins to let it interface with applications in your environment.
  • Can be run from a 3rd-party server (such as a pgbouncer server)
  • Designed to minimize the per-node installation/configuration requirements. No "agent" is installed on the nodes.
  • Highly configurable to support  whatever the user's PostgreSQL configuration and file arrangement is on each node.
  • Supports multiple replicas and remastering (requires 9.3)
  • Integrates 3rd-party connection failover, such as pgbouncer, HAProxy, or BigIP.
  • Integrates with configuration management utilities, such as Puppet, Chef, CFEngine and SaltStack.
  • Integrates with archiving utilities such as WAL-E and Barman
  • Licensed under the same terms as PostgreSQL itself.
Now, not all of these goals are satisfied yet -- there's still a lot of plugin-writing to do.  However, we've made a good start and expect to be deploying HandyRep in production before the end of the month.  Tune in to SFPUG to find out more!

No comments:

Post a Comment