Services Applicable to DBaaS
We now have a solid foundational understanding of what cloud computing is and how it applies to DBaaS. In this section, we outline the specifics around services as they relate to DBaaS and what they mean to end users as well as to the provider in a cloud computing environment.
The services offered by the DBaaS provider to the end user fall into three main categories: provisioning, administrative, and reporting. Some of these services are optional, and others are mandatory.
Provisioning services provided to end users include some or all of the following:
The ability to requisition new databases.
The ability to choose database options as needed (partitioning, advanced security, Real Application Cluster, etc.).
The ability to add resources (storage, CPU, network bandwidth, etc.) to existing databases. This includes the ability to scale up as well as to scale down.
Database backup capability using provided backup resources.
Administrative services include some or all of the following:
The ability to perform on-demand database restores and recoveries
The ability to perform database clones using existing database backups
Database monitoring capabilities, including basic 24/7 incident reporting management capabilities
Reporting services include some or all of the following:
Performance management, which is the ability to look at a database from a performance and tuning standpoint, whether in the form of reporting or in the form of application and GUI database restore and recovery capability
Resource consumption and usage reports, which let end users compare the resources provisioned and the actual usage so they can fine-tune resource needs to accommodate workload
The ability to view resource chargeback based on resource allocation and consumption
The ability to track provider compliance to the SLAs
The ability to track provider compliance to the SLAs is an especially critical point to understand. To ascertain whether or not the requested services are being provided at an appropriate level, end users must first define what “appropriate level” means. For each service, there may be more than one SLA. The higher the SLA, the more technology and resources are needed to satisfy the SLA. Pricing is also affected by the level of service detailed in the SLA.
For example, for I/O performance guarantees, the SLA would specify the input/output operations per second (IOPS) and megabytes per second (MBps) would specify I/O service times. Based on the SLA, the provider determines the actual storage layer provided to the end user. It is the provider’s responsibility to ensure that the service delivered to the end user is within the accepted limits.
If we look at I/O performance as an example, the SLAs could be structured as follows:
Bronze standard: Small block average I/O service times equal to or under 15 ms
Silver standard: Small block average I/O service times equal to or under 10 ms
Gold standard: Small block average I/O service times equal to or under 5 ms
Platinum standard: Small block average I/O service times equal to or under 1 ms
Based on these SLAs, the provider may choose to
Place bronze customers on low-end storage arrays using primarily serial advanced technology attachment (SATA) disks
Place silver customers on high-performance storage arrays using serial-attached SCSI (SAS) drives
Place gold customers on high-end storage arrays with a combination of SAS drives and solid-state drives (SSDs)
Place platinum customers on high-end storage arrays based entirely on SSDs or flash memory
The key is that, once end users make their choice, the provider has to
Define the exact key performance indicators (KPIs) required to meet the service level expectation
Ensure that the KPIs required for the SLA are measured and monitored
Plan for expansion to continue to be able to meet and provide the expected KPI metrics both now and in the long term
Provide end users with reports that support or, if necessary, justify the provider’s service performance capabilities