Multi-tenant RuBAN on Openstack
Openstack Prerequisites:
The following components of Openstack need to be available to install RuBAN:
- Heat
- Nova
- Neutron
- Cinder
- Swift
- Glance
- Keystone
RuBAN uses these apis both via the Openstack client utilities and as REST Calls so the api url must be reachable from the internet and from the internal network the nova compute instances run on.
Cluster Sizing
On initial rollout RuBAN will create a heat stack with :
A dedicated network with a route to the internet, this consumes one Floating IP
1 Master Node: 2GB RAM and 2 Cores and one Floating IP
3 Minion Nodes: 16GB RAM and 8 Cores
Shared Components
Kafka - 50GB Cinder Volume. All data uploaded from IoT devices is first placed onto a kafka topic to be processed before storage and forwarded onto down-stream components.
Zookeeper - 50GB Cinder Volume.
MongoDB - 50GB Cinder Volume
Postgresql DB - 50GB Cinder Volume
Cassandra - 200GB Cinder Volume
Loading
The above setup has been tested against 500 IoT devices, divided among tenants sending 1 data point per minute.