HA-Ops provides tooling for managing a Neo4j installation, graduating from a single server into a High-Availability cluster.
Installing and managing a cluster of machines is a time-honored task. Usually, an ops will start with doing everything by hand, then looking for tools to improve the repetitive tasks, then maybe writing their own customized tool.
So, we'll do that...
- by-hand - bash scripting for terminal madness
- with-chef - provisioning with Chef recipes
- with-hops - Neo4j aware tooling
Each approach is documented and driven by executable feature descriptions,
written using Cucumber BDD. Read the READMEs, look for the *.feature files,
then try them out (which will require some Ruby tools).
The by-hand tooling is the most complete and provides a suitable reference
for doing things manually, assuming you're comfortable with bash scripts.
After that try deploying with-chef using virtual machines to simulate
a cluster.
The with-hops tooling is not yet available, so you'll have to wait to try that
out.
Cucumber is a Behaviour Driven Development tool. In use here, it's like following along with a blog post that actually performs the steps being described.
The tooling itself and even the feature descriptions are written in Ruby, so you'll need a full Ruby development environment:
- ruby 1.8.7+
- rubygems
- rvm (recommended, but optional)
Ruby Gems:
- cucumber - for running integration tests
- chef - for provisioning the instances
- vagrant - for simulating a machine cluster with VirtualBox