waggle-sensor / beehive-server

Waggle cloud software for aggregation, storage and analysis of sensor data from Waggle nodes.
13 stars 17 forks source link

Layout good places to start "virtual deployment seams" #50

Closed seanshahkarami closed 6 years ago

seanshahkarami commented 6 years ago

It's difficult to work on new features without a good development and testing deployment.

One option to think about is the following: Since RabbitMQ supports virtual hosts and Cassandra supports keyspaces, we should look for places to add configuration options to allow multiple virtual deployments within a single beehive.

seanshahkarami commented 6 years ago

The Cassandra CQL file now creates three new keyspaces in addition to waggle to allow us to start working towards this.

CREATE KEYSPACE IF NOT EXISTS waggle
  WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 2 };

CREATE KEYSPACE IF NOT EXISTS production
  WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 };

CREATE KEYSPACE IF NOT EXISTS development
  WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };

CREATE KEYSPACE IF NOT EXISTS testing
  WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
seanshahkarami commented 6 years ago

I also went ahead and provisioned three corresponding virtual hosts in RabbitMQ for this and went ahead and converted the sketch of the raw data loader and workers to support this.

seanshahkarami commented 6 years ago

I'll close this for now, as it looks like we may get to a point where we can just spin up a docker stack for development / testing.