Thursday, October 9, 2014

Database Automation - Private DBaaS for MySQL, MariaDB and MongoDB with ClusterControl [feedly]



----
Database Automation - Private DBaaS for MySQL, MariaDB and MongoDB with ClusterControl
// Planet MySQL

October 9, 2014
By Severalnines

Installing, configuring, deploying databases and performing repetitive administrative tasks are all part of a DBA's or sysadmin's job. This can get pretty repetitive and overwhelming if you are part of a centralized IT team, running multiple databases for your organization's different departments, or a managed hosting provider responsible for setting up and operating databases for external clients. One way to get out of this 'manual, repetitive task' business is through a Database as a Service (DBaaS).

DBaaS is a way of delivering database functionality as a service to one or more consumers. A DBaaS platform would provide automated procedures for database deployment, monitoring, backups, recovery/repair, scaling, security/multi-tenancy, etc. This type of automation is especially useful where agility is needed, e.g. for systems that require elasticity by scaling out or scaling back at short notice, or for temporary deployments associated with dev/test/QA. Now that you've automated the repetitive stuff, you can start using your time and skills to optimize your schemas and configurations, help developers write better queries that scale, and work on system architecture or strategic database initiatives.

In this post, we'll have a look at how enterprise companies or managed hosters can use ClusterControl to implement a DBaaS for MySQL, MariaDB and MongoDB. 

 

Multitenancy - Organizations, Users, Roles and Clusters 

 

Some basics first, let's have a look at how ClusterControl handles multiple users and clusters. ClusterControl has an admin module through which an admin can create users, specify their roles and the organization each user belongs to. 

By default, ClusterControl provides three types of roles:

  • Super Admin - Sees all clusters/DBs that are registered with ClusterControl. The Super Admin can also create organizations and users. Only the Super Admin can transfer a cluster from one organization to another.
  • Admin - Belongs to a specific organization, and sees all clusters registered in that organization.
  • User - Belongs to a specific organization, and only sees the cluster(s) that she registered.

It is also possible to create custom roles with specific access control, for more fine-grained access to functionality. 

As a roundup, here is how the different entities relate to each other:

 

More information can be found in the ClusterControl User Guide.

 

Example Organizational Structure

 

Let's assume we have an organization with separate departments, each having their own applications and databases. An IT department is responsible for running all the databases, but the Marketing and HR departments also have their own developers who need access to their respective databases.

Department

Description

Position

Access Control

Marketing

Business analytical system with MongoDB replica set

System Analyst

Full access to assigned cluster

IT

Staging cluster running on MariaDB Galera Cluster

System Administrator

Full access to all clusters

Human Resource

HR system running on standalone MariaDB 10.1

Application Developer

Limited access to assigned cluster (read-only)

 

read more


PlanetMySQL Voting: Vote UP / Vote DOWN
----

Shared via my feedly reader


Sent from my iPhone

No comments:

Post a Comment