by Porus Homi Havewala

In our brand-new article series, we will explore the capabilities of Oracle's Enterprise Manager Cloud Control 13c for the private Database as a Service (DBaaS) Cloud – how to set up such a cloud, and how to use it effectively. A Private Cloud signifies an on-premises Database cloud, as opposed to the Public Database cloud.

A number of companies all over the world have wanted to set up their own database cloud on-premises, for various business reasons – such as the perceived lack of security on the public cloud, and data sovereignty issues – since your data might reside outside your country. And even if the cloud vendor does offer a data center in your country, what prevents a cloud administrator from easily creating a “read replica” of your database in another region, thus effectively moving a copy of the data to another country? The very ease of use of the cloud may present a challenge in ensuring that data does not leave the country.

To offset these issues, various solutions have been offered by cloud vendors, such as so-called “cloud machines” that duplicate the cloud software and can be installed on-premises, but the best solution still remains the original solution – set up your own in-house database cloud, using off-the-shelf software and hardware. Large banks such as HDFC Bank and UBS went this way a few years ago rather than move lock, stock, and barrel to the cloud. As we can see from the following case study published a few years ago, the time savings were enormous. (By the way I had the personal privilege of introducing the use of Enterprise Manager to HDFC Bank in 2006-2007, when employed at Oracle ACS.)

Such a private DBaaS Cloud uses Oracle Database Homes that are pre-installed on a pool of database servers, and allows self-service users to request the creation of either single instance databases or multiple instance Real Application Cluster (RAC) databases on these Oracle Homes quickly and easily. Large companies may use Exadata database machines, but in fact any type of database servers can be used in the pool, provided the Oracle database can run on them.  

As part of the DBaaS story, we will also look into setting up Oracle Snap Clone’s “CloneDB” feature, which uses dNFS to make a smaller-sized copy of an Oracle database using copy-on-write technology. Snap Clone databases are rapid and space-efficient “thin clones” of large databases, and are normally used for functional testing, development or data analysis.

The base Private Database Cloud infrastructure – zones, pools, quotas, database profiles, service templates, and request settings, along with a simple chargeback mechanism, will be set up in this article series. We will also go through the self-service experience – how a self-service user can login and request a new full-copy database or a Snap Clone database using CloneDB. In further future series, we will look into the set up of Schema as a Service, PDB as a service, the chargeback results, and the use of the RESTful API to talk to Enterprise Manager from an external orchestration engine.

DBaaS functionality is provided by the Enterprise Manager Cloud Management pack for Oracle Database. The prerequisite for this pack is the Database Lifecycle Management (DBLM) pack license, since the Cloud self-service capability essentially uses the provisioning features of DBLM.  Behind the scenes, the Database Provisioning Procedures of DBLM serve as the foundation for the Database Cloud. The packs are simply a way of licensing different functionalities of Oracle Enterprise Manager.

Besides serving as the foundation of the Database Cloud, there are other capabilities of DBLM such as database patching, configuration management, security compliance and database change management. Due to these manifold capabilities of the DBLM and Cloud Management packs, Oracle Enterprise Manager Cloud Control 13c can achieve complete lifecycle management of the Database Cloud.

Database Cloud Administrators can create database pools of single instance or RAC (clustered) database servers, set up roles to access these pools, create a service catalog with items that can be provisioned, and also set up chargeback plans. Quotas can be set up to limit the number of databases created and the total memory and disk consumed by the users.

Cloud users can then login to a self-service portal and request for a database to be provisioned on demand, rather than the traditional method of going through a DBA team for the provisioning. Thus, Quality of Service (QoS) can be increased substantially without incurring the additional cost of hiring short-term DBAs. For example, a project team would now be able to request and automatically provision a new database on its own, in a much shorter time than if it were to go through the DBA team.

Such databases, once used for a certain period of time, can be automatically retired (deleted) or kept indefinitely. Fixed as well as usage costs for the database cloud services can be defined by the cloud administrator, and then automatically calculated and displayed in chargeback reports – thus leading to an understanding of the total charges involved in the usage of the private database cloud.

Self-Service Portal Configuration

Suppose there are existing database targets being monitored and managed by your Enterprise Manager Cloud Control 13c system, either single instance or RAC databases. These database servers have the Enterprise Manager agent installed, and are managed targets in your Enterprise Manager installation. You can now decide to use a few of these servers for setting up a private database cloud in your enterprise, using the DBaaS capabilities of Enterprise Manager.

Alternatively, you could set up a totally new set of servers and discover them in Enterprise Manager, or use engineered systems such as Exadata as the basis of your private database cloud. You decide on the Oracle Database versions to use, whether single instance or clustered databases, and install the appropriate Oracle software on these servers in Oracle Homes. You then install the Enterprise Manager agent on these servers so that they appear as targets in Enterprise Manager.

The self-service portal is the main gateway that the Self Service Application (SSA) user will access in order to request the new databases on these servers. The first step in our private DBaaS cloud setup is to configure this portal.

To enable the use of the Self Service Portal for the SSA user, certain steps need to be completed by the cloud administrator. We will look into these steps in the next part of this article series.