Jump to: navigation, search

Difference between revisions of "TroveVision"

(Created page with "=Trove Vision= Trove is an OpenStack Service which provides simple, intelligent, reliable, and scalable provisioning, monitoring, and management of both single and multi-node...")
 
m (Management of datastores)
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Trove Vision=
+
<big>Trove is an OpenStack Service which provides simple, intelligent,
 
 
Trove is an OpenStack Service which provides simple, intelligent,
 
 
reliable, and scalable provisioning, monitoring, and management of
 
reliable, and scalable provisioning, monitoring, and management of
 
both single and multi-node datastores.
 
both single and multi-node datastores.
 +
</big>
  
1. OpenStack
+
==== OpenStack ====
  Trove is an integrated OpenStack project, built on top of OpenStack
+
Trove is an integrated OpenStack project, built on top of OpenStack
  services (Nova, Heat, Swift, Cinder, et al), and uses OpenStack
+
services (Nova, Heat, Swift, Cinder, et al), and uses OpenStack
  methodologies and infrastructure for testing and development.
+
methodologies and infrastructure for testing and development.
  
2. Simple
+
==== Simple ====
  Trove has push button, easy API calls to provision both single
+
Trove has push button, easy API calls to provision both single
  instance datastores and datastore clusters. Trove takes care
+
instance datastores and datastore clusters.  
  of any heavy lifting required for provisoning the appropriate
+
Trove takes care of any heavy lifting required for provisoning the  
  datastore type.
+
appropriate datastore type.
  
3. Intelligent
+
==== Intelligent ====
  Trove intelligently schedules where and how the datastores get
+
Trove intelligently schedules where and how the datastores get
  provisioned, based on what hardware and capabilities are available
+
provisioned, based on what hardware and capabilities are available
  underneath.
+
underneath.
  
  Examples of this include:
+
Examples of this include:
    - If availability zones are available trove automatically
+
* If availability zones are available trove automatically schedules each node of a cluster in different AZs
      schedules each node of a cluster in different AZs
+
* If attached storage is not available trove uses local storage for storing datastore data.
    - If attached storage is not available trove uses local storage
 
      for storing datastore data.
 
  
4. Reliable
+
==== Reliable ====
  Trove provisions datastores reliably, so that users of the API
+
Trove provisions datastores reliably, so that users of the API don't shoot themselves in the foot.
  don't shoot themselves in the foot.
 
  
  Examples of this include:
+
Examples of this include:
    - Trove blocks restores to flavors with insufficient disk-space.
+
* Trove blocks restores to flavors with insufficient disk-space.
    - Trove understands cluster requirements, and prevents users from
+
* Trove understands cluster requirements, and prevents users from inadvertantly provisioning a nonsensical configuration (eg. an even number of nodes in a galera cluster).
      inadvertantly provisioning a nonsensical configuration (eg. an
 
      even number of nodes in a galera cluster).
 
  
5. Scalable
+
==== Scalable ====
  Trove makes it easy to scale-up and scale-down provisioned
+
Trove makes it easy to scale-up and scale-down provisioned
  datastores based on usage. Trove provides ways to resize compute,
+
datastores based on usage. Trove provides ways to resize compute,
  memory, and disk space for datastores as well as way to resize the
+
memory, and disk space for datastores as well as way to resize the
  number of nodes in a multi-node datastore cluster.
+
number of nodes in a multi-node datastore cluster.
  
6. Monitoring of datastores
+
==== Monitoring of datastores ====
  Trove provides APIs that make it easy to monitor and reports
+
Trove provides APIs that make it easy to monitor and reports
  state of datastores that it has provisioned. Trove also actively
+
state of datastores that it has provisioned. Trove also actively
  takes actions based on the outcome of such monitoring.
+
takes actions based on the outcome of such monitoring.
  
  Examples of this include:
+
Examples of this include:
    - Trove promotes a slave to a master if it detects a failed master
+
* Trove promotes a slave to a master if it detects a failed master
    - Trove provisions a new slave if it detects a failed slace
+
* Trove provisions a new slave if it detects a failed slace
    - Trove builds a new node for a cluster if it detects a failed
+
* Trove builds a new node for a cluster if it detects a failed cluster node
      cluster node
 
  
7. Management of datastores
+
==== Management of datastores ====
  Trove provides APIs that make it easy to perform routine and
+
Trove provides APIs that make it easy to perform routine and
  scheduled maintenance tasks on the datastore like taking backups,
+
scheduled maintenance tasks on the datastore like taking backups,
  tuning datastore configuration parameters, etc. Trove also provides
+
tuning datastore configuration parameters, etc. Trove does ''not'' require
  APIs that allow users to seamlessly migrate from one version of a
+
remote log-in to the datastore to achieve this. Trove also provides
  datastore to another version of the same datastore.
+
APIs that allow users to seamlessly migrate from one version of a
 +
datastore to another version of the same datastore.
  
8. Both single and multi-node
+
==== Both single and multi-node ====
  Trove provisions both single-node instances, and multi-node
+
Trove provisions both single-node instances, and multi-node
  clusters. Trove provisions both homogenous clusters (i.e. all nodes
+
clusters. Trove provisions both homogenous clusters (i.e. all nodes
  behave the same, eg. Cassandra Cluster), as well as instance sets
+
behave the same, eg. Cassandra Cluster), as well as instance sets
  with heterogenous relationships (i.e. All nodes are not the same,
+
with heterogenous relationships (i.e. All nodes are not the same,
  eg. Async replication with mysql master-slave instances).
+
eg. Async replication with mysql master-slave instances).
  
9. Datastores
+
==== Datastores ====
  Trove works with both traditional SQL databases (like mysql, and
+
Trove works with both traditional SQL databases (like mysql, and
  percona) as well as NoSQL datastores (like cassandra, and mongoDB).
+
percona) as well as NoSQL datastores (like cassandra, and mongoDB).

Latest revision as of 17:43, 30 April 2014

Trove is an OpenStack Service which provides simple, intelligent, reliable, and scalable provisioning, monitoring, and management of both single and multi-node datastores.

OpenStack

Trove is an integrated OpenStack project, built on top of OpenStack services (Nova, Heat, Swift, Cinder, et al), and uses OpenStack methodologies and infrastructure for testing and development.

Simple

Trove has push button, easy API calls to provision both single instance datastores and datastore clusters. Trove takes care of any heavy lifting required for provisoning the appropriate datastore type.

Intelligent

Trove intelligently schedules where and how the datastores get provisioned, based on what hardware and capabilities are available underneath.

Examples of this include:

  • If availability zones are available trove automatically schedules each node of a cluster in different AZs
  • If attached storage is not available trove uses local storage for storing datastore data.

Reliable

Trove provisions datastores reliably, so that users of the API don't shoot themselves in the foot.

Examples of this include:

  • Trove blocks restores to flavors with insufficient disk-space.
  • Trove understands cluster requirements, and prevents users from inadvertantly provisioning a nonsensical configuration (eg. an even number of nodes in a galera cluster).

Scalable

Trove makes it easy to scale-up and scale-down provisioned datastores based on usage. Trove provides ways to resize compute, memory, and disk space for datastores as well as way to resize the number of nodes in a multi-node datastore cluster.

Monitoring of datastores

Trove provides APIs that make it easy to monitor and reports state of datastores that it has provisioned. Trove also actively takes actions based on the outcome of such monitoring.

Examples of this include:

  • Trove promotes a slave to a master if it detects a failed master
  • Trove provisions a new slave if it detects a failed slace
  • Trove builds a new node for a cluster if it detects a failed cluster node

Management of datastores

Trove provides APIs that make it easy to perform routine and scheduled maintenance tasks on the datastore like taking backups, tuning datastore configuration parameters, etc. Trove does not require remote log-in to the datastore to achieve this. Trove also provides APIs that allow users to seamlessly migrate from one version of a datastore to another version of the same datastore.

Both single and multi-node

Trove provisions both single-node instances, and multi-node clusters. Trove provisions both homogenous clusters (i.e. all nodes behave the same, eg. Cassandra Cluster), as well as instance sets with heterogenous relationships (i.e. All nodes are not the same, eg. Async replication with mysql master-slave instances).

Datastores

Trove works with both traditional SQL databases (like mysql, and percona) as well as NoSQL datastores (like cassandra, and mongoDB).