DBaaS - accelerating DB2 deployments on IBM® PureApplication System
Kamen N. Tsvetkov, Las Vegas Academy
Maria N. Schwenger, IBM
27 July, 2012
On April 11th, 2012 IBM announced a new category of systems - expert integrated systems. This is a new family of pre-integrated and optimized systems, which implement IBM’s collective know-how in integrating and tuning of servers, networking, virtualization, storage, management and middleware. The two new members of the PureSystems family announced were: PureFlex (an infrastructure platform) and PureApplication System (an application platform). The main goal is to help users to effectively respond to rapidly changing business requirements by offering a more efficient, integrated, and virtualized infrastructure and optimized workloads.
PureApplication System (Pure AS) combines the simplicity of an appliance with the elasticity of cloud and the flexibility of general purpose systems thus delivering faster time to value and lower cost of ownership. Some of the main value propositions of Pure AS include:
Part of the deep integration of the Pure AS is the built-in integration of application and database server capabilities. This is a simple but powerful combination intended to simplify the way applications and databases are designed, deployed, run and managed.
Databases can be deployed together with or independently from the applications. They can be viewed and monitored as part of the application deployments and their logs (operating systems logs, db2diag.log, etc.) are accessible straight from the management console.
The integration of IBM® DB2® for Linux, UNIX, and Windows (DB2) into Pure AS is based on built-in database expertise implemented via the best practices gathered from the years of industry leadership. In addition, Pure AS provides database-as-a-service (DBaaS) capabilities right out of the box.
This article is dedicated specifically to the DBaaS functionality as a new paradigm in the database deployment and management. We will briefly outline the main characteristics and values of DBaaS, how to create and deploy DBaaS patterns and customized workload standards, and how to manage deployed DBaaS instances.
In general, the DBaaS defines the new architectural and operational approaches for delivery of database functionality in a new way – as a Service. The architecture of this new service-oriented database delivery is based on the self-service interaction models such as: self-provisioning and self servicing of database instances including “one click” – on-demand provisioning, simplified monitoring, management and problem determination of databases, on-demand usage with metering capabilities (i.e. charge-back functionality), and multi-tenant data architecture. The new operational approaches for database delivery include a simplified database creation via patterns and workloads, a single pane of glass for system management and monitoring, comprehensive tooling for database monitoring, management, database development, tuning, etc. DBaaS comes to satisfy requirements for on-demand self-provisioning, simplified database development via database patterns and workload standards, self management of database instances, an automated monitoring and management, metering of database usage, and others.
From a database point of view, Pure AS offers multiple deployment choices for DB2.
· Users could take advantage of the DBaaS approach using database patterns in virtual applications. This is a simplified interaction model where the database patterns provide standardized automated deployments and fully integrated life cycle management based on the best practices in the industry, built right into the workload types provided.
· Users could also select to deploy databases in a more traditional and controlled way using DB2 hypervisor-edition images in virtual system patterns. This method also provides a pattern based development option for common topologies, a competence for automated provisioning of images into patterns, and the ability to create custom patterns while giving more flexibility in customization and keeping more traditional configuration and administration models.
· Remote connections to databases located outside of the Pure AS box are also possible.
As usual, the choice of deployment options will depend on the requirements. We will utilize DB2 hypervisor-edition images and topologies in virtual systems or remote database connectivity when we would like to closely mirror established database operations, recreate specific custom application setup, or use existing database installations. This is a unique way to facilitate the self-provisioning of IT resources to database and operational administrators. From another perspective, when designing new applications or when customization is not the main goal, it is more feasible to facilitate the self-provisioning of database resources for database developers and application teams by using the unmatched simplicity and integration provided by the database workload standards in DBaaS.
Similar to the application deployments, the biggest value when working with databases in Pure AS is in the database patterns and workload standards shipped as part of the system. A database pattern is a deployable form of pre-defined database architectural models that capture the proven best practices and expertise IBM has brought from decades of client and partner engagements. This pattern is then tested, optimized, and ready to be repeatedly deployed "on demand" with full lifecycle management. It includes preinstalled components like an operating system, the required patches, virtualization software, monitoring modules, DB2 software, etc. They are all pre-installed, pre-configured, and tuned with integration and security defined across all of the components. By utilizing these database patterns, in minutes, the users could effortlessly deliver database services based on best practices in a repeatable, consistent, and secure way while empowering application groups to provision databases on their own with minimal effort.
The default patterns supplied on Pure AS are known as IBM Database Patterns. They include the IBM Transactional Database Pattern and the IBM Data Mart Pattern. Both of them provide the values discussed above respectively for transactional databases and data mart infrastructures. From a technical point of view though, these patterns implement different parameters and characteristics to support two completely different types of workloads, each with specific characteristics and requirements.
The IBM Transactional Database Pattern can be used to create production ready DB2 databases, optimized to support online transaction processing applications such as shopping carts, tracking systems, etc. When deploying this pattern, a set of scripts will run and set the database configuration parameters for optimized performance and resource utilization for transactional processing. The scripts will tune the operating system and database instance configuration as well as create the database and its objects, and optionally load the initial data into the new database. For example, for OLTP we often prefer a smaller page size (4K), etc.
The IBM Data Mart Pattern can be used to create DB2 databases optimized to support operational analysis and reporting workloads where the underlying databases handle I/O intensive processing. Some of the appropriate workload customizations might include allocating of larger page sizes, buffer pools, log buffers, and log files to improve performance when handling larger data sets, allocating bigger lock lists to minimize the chance of lock escalation which can degrade performance, allocating a larger sort heap to handle frequent sorting of large data volumes, and so on. When this pattern is deployed, the scripts will not only create the data mart and (optionally) load the initial data, but will also configure the resources needed for this workload type.
Users can simply deploy the patterns available in Pure AS, but they can also create new custom patterns, which, in their own turn, could be reused as an enterprise golden master for all future standardized deployments. The patterns are independent from their respective deployments - for example, making changes to or deleting existing patterns, does not affect the deployments made based on these patterns. Prior to using old patterns or developing new ones, the users need to accept the licensing for the operating system virtual images, pattern types, and to configure the plug-ins for database workload patterns. A backup plug-in is also available to configure as needed.
There are two deployment options for database patterns in Pure AS: utilizing the pre-defined workload standards or “cloning” an existing database that has been backed up to Tivoli Storage Manager. In the first case, we exploit the pre-defined workload standards which are built on best practices and are focused on particular types of databases. The second option employs “cloning” as a provisioning approach that uses an existing database image as a model for creating new database patterns. When an image is selected, the metadata stored during backup is retrieved. A new virtual machine is created with the same resource settings. The DB2 restore command creates a new database with the same license and configuration parameters. IBM® Tivoli® Storage Manager must be configured to use the cloning function. The backups of the exiting databases are created with the Create a Database Image function in the Database Service Console.
In addition to using predefined workload standards as described above (workload standards are a set of predefined database configurations used as a deployment approach for creating database patterns), the Pure AS users could define their own workload standards and customize the deployed database to meet the required tuning or corporate standard. This is a great approach for situations where a custom workload may not completely fit into the IBM predefined workload standards.
Although we mostly focused on the new DBaaS deployment models, it is interesting to note the likewise simplified and centralized way of database management and monitoring. Users can view database instance information (such as current status of the deployment as well as the history of the deployment steps) and perform operations from a single location - the database instance panel. The same screen also offers details such as database ID, host, port, application user and DBA passwords, URLs, etc. Available administration operations from the console are also: start, stop, destroy, delete and manage databases, backup, restore (manually), change passwords, and so on. Even the LPAR logs (OS log, DB2 logs, Agent log, etc.) are available to view and download from within the centralized console. As mentioned, all these management activities are independent of the virtual application database deployments.
Overall, the DBaaS in Pure AS is a new, accelerated way to provision and manage databases based on the best practices for repeated, consistent, and secure database deployment. It allows application users to provision and manage standardized, production-optimized databases with minimal effort.
IBM Database Patterns
Discover PureApplication System patterns of expertise
IBM PureSystems and Patterns of Expertise
Preparing for IBM PureApplication System, Part 3: Choosing a database option