With that growing awareness, one of the most significant (and complex) cloud infrastructure issues facing cloud providers of many types is deciding how database support will be offered in the cloud, which is also leading to selling Database as a Service.
The wrong cloud database strategy can create application performance problems significant enough to discredit a cloud service, forcing the provider to incur additional costs to establish credibility with users. Ready or not, in 2011, database capabilities in the cloud are going to become a differentiator and a factor in sale for cloud providers.
The cloud database issue is complicated because it sits at the intersection of two cloud infrastructure models, two storage service models and two database management system (DBMS) models. Sorting out the details will require cloud services providers to consider their infrastructure, network performance and service goals.
The following services models can affect cloud database support:
- Single- and multi-site cloud infrastructure models. The two cloud infrastructure models differ in the way that resources are allocated to customers. In the single-site model, a customer’s applications run within a single data center in the cloud, even if multiple data centers are available. This means that the storage and/or DBMS resources used by a customer can be contained within a single storage area network (SAN), and that the customer’s application performance in the cloud can likely match that of a standard data center that uses virtualization. In the multi-site model, the customer’s applications can draw on resources from multiple data centers, which means that making the connection between the application and the database resources could involve WAN connectivity that limits performance. Whichever choice they make, service providers must be ready to address the issues that come with single- or multi-site cloud infrastructure.
- Storage and database service models. The storage service models available to a cloud planner are Storage as a Service or the more complex Database as a Service. With storage services, the customer will access virtual storage devices as though they were native disk arrays, which means that the applications will send storage protocols (such as Fibre Channelover Ethernet or IP SCSI) over any network connection. In the relatively new Database as a Service offerings, applications will access storage through a cloud DBMS that will accept high-level database commands and return the required results. This can create a less delay-sensitive connection, so it is better suited to cloud configurations where storage might be distributed over multiple sites.
Another major cloud database planning decision is whether a cloud database service should be based on the popular relational database management system (RDBMS) and its Structured Query Language (SQL) standards, based on a lighter-weight RDBMS without SQL, or based on a non-relational structure like the Google BigTable structure that gives users dynamic control over data layout and format.Note: The terms NoSQL or NoREL have been applied to the latter two approaches, but they are used inconsistently.
Weighing the value of Database as a Service
For cloud planners, the most challenging issues may be deciding whether to roll out Database as a Service offerings, and if so, which DBMS to offer. Some cloud providers are starting to offer Database as a Service, which may compel other network operators to do the same for competitive reasons.
Database as a Service has advantages beyond marketing. With a cloud DBMS, storage virtualization isn’t directly visible to the applications, which gives operators more latitude in how they manage storage resources. With a direct storage model, a mechanism for storage virtualization that protects customers’ data from being accessed by others but still makes the virtual disks look “real” is essential. The efficiency of this process is paramount in controlling the performance of applications that use storage extensively. It’s easy to provide cloud database services as part of a cloud Platform as a Service (PaaS) offering, but the applications may have to be written to access cloud database services in some Infrastructure as a Service (IaaS) configurations.
If customers aren’t likely to access storage/DBMS across multiple data centers in the cloud, the performance implications of the storage/DBMS choices are less critical. But where multi-site resource distribution among customers is expected or required, it may be necessary to optimize performance by reducing the sensitivity of storage access to network performance, as well as enhancing network performance for site-to-site connectivity. Offering Database as a Service can help by replacing storage input/output(I/O) with simply sending a query and a return of results. Even when considerable data is retrieved by a query, the query/response traffic is typically much lower in volume than storage I/O traffic, reducing network congestion and improving performance.
Choosing the right DBMS for your cloud services
Overall, the type of DBMS offered in a cloud-based Database as a Service is a function of the needs of the applications, which in turn may be a function of how the service offerings are positioned. Planners preparing for large-scale enterprise services are probably considering an IaaS model, which suggests that cloud database services should be based on storage virtualization rather than on cloud DBMS. At the minimum, cloud services targeting enterprise application overflow or data center backup almost certainly demand an IaaS model, as well as a virtual storage service capability. Database as a Service can be offered in addition to Storage as a Service, but not likely as a replacement. For SMB cloud offerings, Database as a Service is likely to have more appeal.
The impact of DBMS issues on application performance will always be easier to control when cloud services are offered from a small number of local and highly interconnected data centers, or when individual customers are limited to a single data center or a tightly connected cluster. Network operators may be able to achieve sufficient resource scale within a single data center to reduce performance issues related to SAN extension across multiple sites, which could be a competitive advantage. Database as a Service can then be targeted more at customers’ application needs rather than at infrastructure and performance considerations.
Cloud database models are a major issue for buyers, even though they aren’t a mainstream media topic yet. They are a major factor in assuring that cloud services will perform well and offer the same level of data reliability as private data centers. Proper cloud database strategy selection can provide a network operator with a key feature differentiator in an increasingly competitive cloud services market and help increase both adoption rates and overall sales and revenue. A little time spent planning can pay a major dividend.