Data pros are adopting cloud computing concepts to offer databases as a service—easing management burdens and sending users to cloud nine.
“It takes weeks to set up a new database. I need it now!”
“Our dev/test databases are a mess. Why aren't they ever cleaned up?”
Any of these complaints sound familiar? Chances are, if you're a data professional in a large enterprise, they do. Today's IT departments are plagued with a backlog of data administration demands. From requests for new application development and testing databases to the backup and restore of ever-growing data volumes, there's never a shortage of busywork to keep DBAs on the run.
In an attempt to minimize the time that data professionals spend in reactive mode—responding to user requests with nonstop “database, clone, database, clone” tasks—some organizations are borrowing self-service concepts from the realm of cloud computing and moving toward a database-as-a-service or DBaaS model, where users can simply “reach into the cloud” and grab a database as needed.
It's a tantalizing idea—especially for end users. System and software developers love the control they gain with the self-serve capabilities of DBaaS. When they are on a roll, rather than waiting for the IT department to come back a week later with a dev/test database, they can request and provision resources on the fly—keeping their momentum going and their ideas fresh.
To make this vision a reality, however, data pros behind the scenes must do a considerable amount of legwork on the back end. Building a private data cloud and successfully rolling out DBaaS to end users requires DBAs to consider a number of factors, among them the underlying hardware infrastructure of the cloud, the overarching data “best practices” to be implemented and replicated by the cloud, and finally, the services interface that will bring all of these items seamlessly to end users to complete the picture.1
“Our dev/test databases are a mess. Why aren't they ever cleaned up?”
Breaking through the clouds
Cloud computing refers to a category of technology solutions that lets users access computing resources (in this case, data resources) on demand, as needed, whether the resources are physical or virtual, dedicated or shared, and no matter how they are accessed (via a direct connection, local area network [LAN], wide area network [WAN], or the Internet).
To offer DBaaS on the cloud, enterprise IT departments must construct and manage a private enterprise data cloud—a platform consisting of storage hardware, virtual images, database schemas, and more—and make that cloud available to users through a services interface.
Once this infrastructure is in place, as database needs arise, users can simply go to the cloud, request the resources they require, and gain instant access to their own personal database on demand. When they no longer need the data assets, the assets are recycled back into the cloud for reassignment, rather than being left wasted and idle.
Figure 1. An infrastructure optimized for database cloud delivery emphasizes simplicity and efficiency through automation and hardware standardization.
Step one: Build the cloud foundation
Your first stop on the way to constructing a cloud computing environment and delivering DBaaS will be to consider your underlying hardware infrastructure and ensure that it is aligned with DBaaS goals (see Figure 1). Because of the way most IT departments are structured, these hardware decisions aren't likely to take place in a vacuum. In reality, most DBAs will need to collaborate with system administrators and enterprise architecture counterparts to reach a consensus about what the hardware infrastructure will look like. This process may require compromises on all sides, so try to enter the conversation with a clear understanding of your top hardware priorities and your “nice to haves.” Not sure what those priorities should be? Read on.
As in any hardware purchase decision, many attributes will factor into the discussion—platform, storage size, speed, cost, and more. To support DBaaS on the cloud, above all you will want to ensure that your hardware is as standardized as possible. Because it is far easier to automate one script running through an open, homogeneous system than many different scripts across a heterogeneous one, standardization is the key to automation. DBaaS at its heart is nothing but automation—the automation of the process of setting up and provisioning a database—so the more uniform your hardware platform is, the simpler it will be to set up DBaaS.
Next, take a look at the storage options available to support your database. Make sure you have a clear understanding of the types of features you will receive out of the box—including attributes such as high availability, disaster recovery, and autonomics—as well as the overall storage capacity and capabilities of your hardware infrastructure. Because this platform will ultimately form the foundation of your DBaaS offering, it is critical that you understand exactly what it is capable of—and what you can pass on to your end users. If you put in place a storage foundation that has exceptional reliability, availability, and serviceability (RAS) capabilities, for example, you will be better equipped to provision databases on the cloud that are resilient and highly available as well.
IBM database platforms and DBaaS on the cloud
The main article discusses how data pros can deliver DBaaS to their own end users by constructing private data clouds. IBM is committed to helping you build and deliver DBaaS via on-premises enterprise clouds, and is working to implement these capabilities on its cloud-enabled databases: IBM DB2 and IBM Informix.
Step two: Identify common workloads and best practices
The next stage of DBaaS planning gives you the chance, as an experienced data pro with intimate knowledge of the inner workings of your organization and its data structures, to shine. The most critical step toward delivering DBaaS that truly brings value to your end users is to decide ahead of time what type of database templates and images should be made available on the cloud. To make such decisions, you must identify the common workloads and key processes that take place in your business environment, and collect best practices. These are the prime candidates for automation and delivery through DBaaS and the key to its successful rollout.
For example, DBAs can work hand-in-hand with line of business managers to identify “must have” data sets and use this information to create database templates that connect efficiently into front-end systems, work well with querying tools, and may be easily cloned for future provisioning via DBaaS. Then, personnel and systems can reach into the cloud and access entire templates that contain the latest data, up-to-the-minute information, and data structures—without creating the data administration hassles of schema changes, mapping, data migration, and more.
In other enterprise environments, DBAs may choose database images—often incorporating industry-specific metadata and reference data—as candidates for automation. A DBA familiar with business requirements can isolate an instance of a production database containing a critical set of tables, views, triggers, and stored procedures—as well as key reference data—to create a database image to be automated through DBaaS. When the business requests a database to support a new branch or test an application, there will be no need to wait for weeks while DBAs construct it. Rather, it will be instantly available via DBaaS on the cloud.
Step three: Establish a delivery model
Now that you've decided on your hardware infrastructure and identified the processes and procedures to be automated through DBaaS, your final step will be to work with end users to educate and help them select the interface through which these data services will be made available.
There are three main methods of accessing DBaaS: through a graphical user interface (GUI), command line interface (CLI), or directly via a standard representational state transfer (REST) interface. Which interface you ultimately employ will depend a great deal on end-user preference. For example, while GUI is the most user-friendly approach of the three, if end users already utilize applications that employ CLI, they may not wish to switch. Alternatively, users may wish to eliminate the need for human intervention entirely and promote tighter integration with their environment by programming applications to communicate directly with DBaaS via REST. When you know the options, you can work with your users and help guide them to the DBaaS interface best suited to their particular wants and needs, and together select the wrapper that will pull the entire DBaaS package together.
A cloud with a silver lining
It's no secret that managing the rapidly expanding data volumes and database administration needs of today's large enterprises is no mean feat. DBAs have a tough job and there are no two ways about it. The good news is that with DBaaS, data pros are in a unique position not only to give end users new levels of freedom and service, but also to get off the hamster wheel of routine data tasks and on to the good stuff. And while it may take some groundwork to get there, as far as a cloud with a silver lining, that's just about as good as it gets.
- Read more articles in IBM Data Management Magazine.
- Access IBM products and technologies available to support cloud computing initiatives.
- Learn how you can use DB2 on the cloud.
Dig deeper into Information management on developerWorks
Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.
Keep up with the best and latest technical info to help you tackle your development challenges.
Software development in the cloud. Register today to create a project.
Evaluate IBM software and solutions, and transform challenges into opportunities.