Database as a Cloud Service
Get more from your data.™
White Paper :: Database as a Cloud Service
Database as a
Cloud Service
March, 2012
Roger Wolter
Senior Architect, Scalability Experts
Executive Summary
On-demand or pay-as-you-use computing services delivered through
manageability and lower operational costs. However, there are also
risks to consider related to control, security, governance and regulatory
compliance.
Depending on your business, it can be a challenging decision
to determine what is the best way to take advantage of this new
technology. In this paper Scalability Experts will discuss the value of
a database in a Cloud environment and some of the pros and cons of
the Cloud related to data management.
1
Get more from your data.™
White Paper :: Database as a Cloud Service
Contents
Introduction................................................................................................................................................3
What is a Cloud?........................................................................................................................................4
A brief history of Clouds............................................................................................................................5
Time Sharing..........................................................................................................................................5
Application Service Providers................................................................................................................6
Cloud Databases .......................................................................................................................................7
SQL Azure..................................................................................................................................................7
Provisioning...........................................................................................................................................8
High Availability......................................................................................................................................8
Scalability...............................................................................................................................................9
Maintenance..........................................................................................................................................9
Appropriate Scenarios.........................................................................................................................10
Less Appropriate Scenarios.................................................................................................................11
Private Cloud............................................................................................................................................12
Virtualization ........................................................................................................................................12
Services Catalog..................................................................................................................................14
Self-Provisioning..................................................................................................................................15
Isolation...............................................................................................................................................15
Standardized Configurations...............................................................................................................16
Hybrid Clouds......................................................................................................................................16
Ten things to consider when evaluating a Cloud platform ......................................................................17
How Can Scalability Experts Help...........................................................................................................18
Conclusion...............................................................................................................................................19
Biography.................................................................................................................................................20
2
Get more from your data.™
White Paper :: Database as a Cloud Service
Introduction
Over the last several years there has been a lot of hype about Cloud computing and if it is finally ready for “prime
time”. However, despite heavy discussion and promotion about the topic from the leading technology companies
and analyst firms there still remains some confusion in the market. Many IT executives and companies are still
unsure about what is real and how best to take advantage of this new technology.
One of the reasons for the heightened awareness surrounding the Cloud computing topic is that many IT
executives continue to be under pressure to squeeze more value from their IT budgets – do more with less. This
has created additional interest in the Cloud, or on-demand or pay-as-you-use computing services delivered
through a Cloud solution, because it promises to deliver significant benefits of greater scalability, manageability
and lower operational costs. According to a March 2011 TechTarget [1] survey, that polled 500 companies of all
sizes across a variety of different industries, a whopping 70% said they have budgeted for Cloud computing
initiatives this year, compared with fewer than 10% of companies in 2010. Amazon, Google and Microsoft are
heavily promoting their Cloud solutions. The Cloud is definitely starting to gain some significant momentum.
The Cloud can provide many advantages; however there are also risks to consider related to control, security,
governance and regulatory compliance. There are also different types of Cloud solutions. There is a public or
off-premise solution, there is a private or on-premise solution and there is a hybrid approach. Are you ready for
the Cloud?
From a Data Management perspective, this paper will help outline the benefits, discuss the pros and cons and
give you some guidance regarding the different flavors of Cloud computing. Read on and you will find tips and
things to think about when evaluating your move to the Cloud
3
Get more from your data.™
White Paper :: Database as a Cloud Service
What is a Cloud?
It’s hard to read a recent computer-related publication that doesn’t have at least one or two articles about the
Cloud. Just as everyone had to have an internet strategy in the 90’s, everyone needs a Cloud strategy now.
Most of the articles have slightly different definitions of the Cloud and oddly enough, the definition closely
resembles what the article or paper is trying to sell.
For this paper, SE has defined the Cloud as:
•
A collection of computing resources
•
Accessible through a network
•
Shared flexibility and transparency by a number of applications
Flexible and transparent sharing might sound a lot like virtualization and in most cases, Cloud resources are
virtualized. This doesn’t mean that there has to be a virtual OS and hypervisor involved in every Cloud but it
does mean that the consumer of the Cloud resources is generally unaware of the hardware resources behind
the Cloud.
Flexible Pricing Model: Another attractive aspect of most Cloud offerings is a flexible resource pricing model.
As your application needs change – holiday rush, year-end processing, new product release, etc. – your need
for computing resources can change dramatically. A Cloud will have enough reserve resources available to
expand the resources that your applications use as the demand increases and reduce the resources used as
demand decreases. In most Cloud environments, you only pay for the resources you use for the time you use
them. This can result in dramatic cost savings since you don’t have to size your systems to handle peak loads
and pay for underutilized hardware in off-peak times.
Multi-Tenant: Clouds are also multi-tenant. This means that you as a user of Cloud resources are probably
sharing the underlying hardware resources with a number of other users or tenants. Multi-tenancy improves
flexibility and lowers costs for the Cloud provider thus making the other advantages of the Cloud possible.
Multi-tenancy is also one of the biggest barriers to adoption of Cloud services. There is a natural fear that
another tenant can use up all the resources on the server or do something stupid that opens the whole server
up to a hacker attack. Cloud providers are obviously very aware of these issues and do everything possible to
prevent problems. In reality these issues are probably more common in a typical data center because different
applications share the same server or database all the time and your data center probably doesn’t do as much
as a Cloud provider to enforce isolation between applications.
4
Get more from your data.™
White Paper :: Database as a Cloud Service
Self-Provisioning: The final key characteristic of Clouds is that Clouds are self-provisioning. If you are going
to be able to change the number of instances of your application or copies of your database to respond to
fluctuating demands, you can’t wait for an admin or DBA at the Cloud provider to make the required changes.
Similarly, if the Cloud provider needs to staff up to provision thousands of servers a day, it won’t be able to offer
services at a competitive price. Once you have established a billing relationship with a Cloud provider you can
generally add or remove resources either through a simple UI or an API any time you want.
To summarize, the characteristics of a Cloud are:
1.
2.
3.
4.
5.
Shared resources
Virtualization
Usage based pricing
Multi-tenancy
Self-provisioning
A brief history of Clouds
Time Sharing
All the hype around Clouds makes it seem like the Cloud is a new thing. In reality, the Cloud is the latest stage in
the evolution of a concept that has been around for many years. Back in the days before PC’s, computers were
too expensive for many businesses to afford. The answer was time-sharing. Instead of buying a computer a
business could lease time on a computer shared with a bunch of other businesses. This was before the internet
so the most common connection was through a dialup modem. Security was pretty crude but it was enough
for a dialup network. Going back to our definition of the Cloud, time-sharing computers had shared resources,
usage based pricing, and multi-tenancy. This early Cloud expanded computing into business applications
that couldn’t be cost-justified if a company had to buy their own computer. Some of the difficult problems of
guaranteeing isolation and fair resource allocation that Cloud providers are struggling with now were solved
many years ago for time-share environments.
Web Hosting
The next major step in the evolution of Cloud computing was web site hosting. In fact, it’s not a far stretch to say
that a hosted web site is a Cloud application. As was the case with time-share computers, many businesses
and users need a web site and don’t have the money or expertise to deploy their own web server. Many web
sites are hosted on each web server and web site users and even administrators generally have no idea where
their site is hosted – shared resources, virtualization, and multi-tenancy. Most web hosters charge for usage –
pages, storage, network traffic, etc. – and virtually all hosted web sites are self-provisioning.
5
Get more from your data.™
White Paper :: Database as a Cloud Service
Web site hosters were pioneers in self-provisioning. Many small web sites cost $10.00 or less a month so
involving an admin in setting up a site can consume the profit from that site for many months. Most hosters
have a simple Web Application that you use to specify the name of your site, how much storage you need,
your credit card number, etc. and when you are done it will create an empty web site that you can start using
immediately. The first hosters just supported static pages but later added code options like PHP or ASP.net and
databases. Most of the early hosters used MySQL for databases because it is very simple to provision and has
a web management tool that allows tenants to manage their own databases without intervention by the hoster.
Web hosters are also heavy users of automation. The goal is that all administration should be either scheduled
and automated or done by the tenant. The hoster’s administrators provision new servers, provision disk space,
and respond to alerts and incidents. Because web hosting reached its peak before virtualization was common,
adding capacity often meant moving the web site or database to a new physical server but hosters generally
did that without impacting the tenant.
Moving from Web Hosting to the modern Cloud was a pretty natural evolution. Web logic written in HTML,
PHP, Jscript, or ASP.Net evolved into support for components written in a wide variety of language integrated
with Web Services interfaces. Data storage evolved from simple files accessible from the web app to blog
storage like Amazon’s S3 or Microsoft’s Azure Storage. Databases evolved from simple MySQL instances with
no transaction support that you had to backup yourself to extremely reliable, highly available, enterprise class
databases like SQL Azure. In this way, web hosting evolved into Platform as-a-service (PaaS) – one of the three
main varieties of Cloud computing. This paper will expand on the database platform aspect of PaaS.
Application Service Providers
The next step up the stack from web hosting was to deploy a complete application in a hosted environment and
allow tenants to use the application for a price. This allowed tenants to use software that they couldn’t afford to
license, host or support in their own environment. This type of hoster was called an Application Service Provider
(ASP). When ASP’s first started, the applications were often the same version otf the application that non-ASP
users used but as ASP evolved into Software-as-a-Service (SaaS); applications were generally optimized for
a highly scalable, multi-tenant environment. One of the earliest and most successful SaaS applications is
SalesForce.com. Salesforce has become a mission-critical application for many companies. This has helped
to dispel some of the nervousness that people feel about using applications in the Cloud.
6
Get more from your data.™
White Paper :: Database as a Cloud Service
Cloud Databases
The databases provided by most web hosters were intended primarily for supporting dynamic web sites. The
data in the database was usually accessible to all web users so security wasn’t a major concern. In general,
mission critical data wasn’t stored or inserted into the hosted database so the lack of high-availability features
in hosted databases wasn’t a significant barrier to adoption. With Cloud computing, more complex and more
mission critical applications are moving to the Cloud so transactional, secure, reliable, and highly available
databases are a requirement for many Cloud applications. Some Cloud databases are intended primarily to
store the data required by highly dynamic web sites. This data includes images, video, documents, pages,
objects, shopping carts, etc. This data is stored as unstructured blobs of bytes whose structure is only known
by the application that uses it. This data is usually identified by a system-generated key that the application
must remember in order to access the data. Examples of this type of Cloud database are Amazon S3 and
Microsoft Azure Blob Storage. Azure also offers Table Storage which supports structured tables that look like
relational tables but don’t support the complete set of relational database features. This type of storage is
useful for structured data that can be shared between applications and has simple search requirements but
doesn’t require the full capabilities of a relational database. Most Cloud databases that store unstructured or
semi-structured data will allow you to store many gigabytes and even terabytes of data. This type of database
is useful for storing data that is used by web applications. It is well suited for storing images, documents,
maps, drawings, etc. that can be accessed by a large number of geographically distributed users through web
applications. It is not well suited to building complex, transactional OLTP applications. For those types of
applications a real transactional database is required.
SQL Azure
SQL Azure is the most fully-featured relational database available in the
“SQL Azure is the most fullyCloud. It is based on the SQL Server standalone database and shares
featured relational database
a significant amount of code with SQL Server. While Microsoft does
available in the Cloud.”
everything possible to maintain compatibility with SQL Server, the way
data is managed and stored in SQL Azure is significantly different than
the way it is managed in SQL Server. For example, at least three copies of data are maintained by SQL Azure
to ensure fault tolerance and high availability. Because the way SQL Azure manages data and databases is
different than SQL Server, some SQL Server features aren’t currently supported. Most of the unsupported
features are not core SQL Server features and SQL Azure gets closer to feature parity with SQL Server with each
release. For example, Reporting Services is in the release process as this paper is being written.
7
Get more from your data.™
White Paper :: Database as a Cloud Service
Provisioning
SQL Azure databases are provisioned through a simple web UI available at http://www.microsoft.com/enus/sqlazure/purchase.aspx . Once you have established an account which is basically a billing relationship
with Microsoft by giving them a credit card number and some identity information, you can create and delete
databases with a few clicks or through an API. Microsoft will bill you for the databases and storage you use
each day and send you a bill monthly. There are a limited number of database types available. You pick a
database type and a maximum database size when you create the database. The database types limit the
number of options for database configuration which simplifies and speeds up database provisioning.
SQL Azure does not automatically create new databases as the load increases the way Windows Azure creates
new instances of your services. Unless the database is a read-only database, creating a new copy requires
logic to keep the copies synchronized as copies are updated. SQL Azure doesn’t automatically support this so
it’s up to the tenant to make additional copies and implement the logic to keep the copies synchronized.
When you provision a database, you know which data center holds the database but you don’t have any
knowledge or control of which server the database is running on. When you create a database, SQL Azure
generates an identity for the database that you use to specify the server for the connection string for the
database. SQL Azure has a front-end connection manager that maintains the mapping of the connection string
to the current physical location of the database. There are three copies of the database and if SQL Azure either
switches which copy is active or moves one or more of the copies to accommodate changes in the load or
database size, the connection manager will change the physical location of the data while maintaining the same
connection string for the client to use. Note that when this change happens, the connection must be closed
and reopened so it’s important that an application that connects to a SQL Azure database handle a connection
closing correctly by reopening the connection without requiring the user to handle the error.
The ability to provision databases with very little effort and little investment in time means you can create
databases for development or testing and other short-term needs and only pay for the number of databases
you use for the number of days you use them. This is a very attractive option because it means you don’t have
to maintain development and test database resources when you don’t need them.
High Availability
As mentioned previously, SQL Azure maintains at least three copies of your database to provide built-in high
availability for SQL Azure databases. A SQL Azure transaction won’t commit until the data has been written
to at least two copies of the database – the current primary copy and at least one of the secondary copies.
Three copies means that when something happens to the primary copy – either an error or the SQL Azure
infrastructure taking it off line for upgrade or maintenance – there are still two copies available for redundancy. If
8
Get more from your data.™
White Paper :: Database as a Cloud Service
a hardware failure causes one of the copies to become unavailable, a new copy is created on different hardware
as soon as possible. The SQL Azure high availability features provide a very high level of reliability for Cloud
databases – in many cases better availability than in-house databases. These features weren’t available in the
databases available from traditional web hosters.
Availability of a Cloud database will include the availability of the network connection to the database. If the
SQL Azure database is used by a Windows Azure application running in the same data center, the database
connection will be very reliable, but if the SQL Azure database is connected to an application running outside
the data center, network reliability becomes a factor in database reliability.
Scalability
SQL Azure databases are scaled up by adding additional databases. There’s an upper limit of 50 GB for the
database size so if your application needs more data than that, you will need to partition your database into
multiple smaller databases. SQL Azure includes a front end connection manager that can route SQL statements
to the appropriate partitions and assemble the results. In many cases you will have to analyze and possibly
change your application architecture to get it to work efficiently with partitioned databases.
Many web applications like online catalogs or document distribution systems use data that is changed relatively
infrequently but is used by millions of users. This type of application can be scaled out by maintaining multiple
copies of the database possibly spread across multiple data centers to provide very efficient read-only access to
relatively small amounts of data. The databases can be synchronized periodically with the Azure Synchronization
Services to keep the data consistent. Spreading copies to several data centers will provide low-latency access
to widely dispersed geographic locations. If the data includes a lot of images or other binary data, you can
improve scalability by using SQL Azure as an index to the binary data for lookup and searching while storing
the actual binary data in Azure Blob Storage.
Maintenance
There’s a common misconception that moving to a Cloud database platform will eliminate the need for database
administrators. In reality, most of the DBA’s job is still required for a Cloud database. DBA’s will still have to
implement database schemas, tune queries, migrate data, modify schema, write stored procedures, etc. The
part of the DBA job that goes away is the physical implementation – file allocation, memory management, high
availability configuration, etc. Having all this taken care of means the DBA can concentrate on implementing
the highest quality database possible.
9
Get more from your data.™
White Paper :: Database as a Cloud Service
SQL Server Management Studio (SSMS) for SQL Server 2008R2 can be used to manage a SQL Azure database.
A subset of the full SSMS functionality is available when managing SQL Azure databases because SQL Azure
doesn’t have all the management features of SQL Server. SQL Azure also includes a simplified web-based
management tool for doing the basic DBA tasks for SQL Azure. DBA’s and other people who manage SQL
Azure databases will probably find this tool easier to use than SSMS.
Appropriate Scenarios
SQL Azure and other Cloud databases are not suitable for every database need in your organization. In this
section we will discuss what kinds of scenarios are appropriate for Cloud databases. Keep in mind that Cloud
databases are becoming more capable with every release so some scenarios that aren’t appropriate for SQL
Azure now will be in the near future.
Quick Provisioning: The best scenarios for a public Cloud database, are scenarios that take advantage of the
unique aspects of Cloud computing. For example you can provision a SQL Azure database in a few minutes
without being concerned about provisioning the physical server or ordering new hardware. There are a large
number of scenarios that require quick provisioning and dropping of databases – development, test, prototype,
short-term projects, sales and special promotions, etc. Many of these applications either aren’t possible now
because by the time a database is provisioned, the need for the database has passed or they require the data
center to keep enough spare capacity available to support these requests. A Cloud database is a much more
efficient and economical way to support this kind of application.
Geographic Availability: Another useful characteristic of SQL Azure is that it is available in data centers all
over the world. An international organization can use this to good advantage by making data available close
to its customers and international subsidiaries. Keeping this data synchronized to several locations means
there will be temporary inconsistencies in the data and managing updates will be difficult unless the distributed
databases are read-only copies of a common updateable database. These factors would lead to the sweetspot for this type of database being read-intensive, occasionally updated databases like parts catalogues,
account hierarchies, and other types of reference data.
Geographically distributed databases can also be used to exchange data with remote locations, for example,
salesmen can access their sales data in a Cloud database and upload orders and other information. This can
be done at any convenient time and the data can be synchronized from the Cloud database to the corporate
systems for processing.
Dynamic Applications: Another reasonably obvious use for SQL Azure is to store data for use in Windows
Azure applications. Windows Azure is great for building sophisticated, dynamic web applications that need the
10
Get more from your data.™
White Paper :: Database as a Cloud Service
ability to scale with changes in demand. The applications can be distributed to multiple data centers to provide
distributed access if necessary. Sophisticated web applications normally need significant amounts of data to
tailor the experience to individual users. Images and documents can be stored in Azure storage and customer
profiles, catalogues, shipping information, etc. can be stored in SQL Azure. Since SQL Azure can run in the
same data center as the Azure web application and Azure Storage, database latency is minimized.
Less Appropriate Scenarios
Multi-Terabyte Data Warehouse: As important as what scenarios are good for Cloud databases is what
scenarios are not suitable for Cloud databases. The most obvious scenario that isn’t suitable for a SQL Azure
database is a multi-terabyte data warehouse. Not only would this involve hundreds of SQL Azure databases
which would be very hard to manage but the overhead of keeping that much data updated would likely be a
strain on the network connection. On the other hand, a data mart that is small enough to fit into a SQL Azure
database is a great scenario – especially if it is going to be used for a short time like during the budget cycle or
if it needs to be accessible to a wide geographic area. Analysis Services cubes are not currently supported in
SQL Azure so relational databases must be used for SQL Azure data marts.
Compliance Scenarios: A more controversial example of a poor fit for a public Cloud database is a missioncritical database containing highly sensitive data that is subject to compliance regulations such as PCI or HIPAA.
While Cloud providers have made large strides in improving the reliability and security of Cloud datacenters,
it’s not clear that compliance auditors are ready to approve data being stored outside the enterprise’s control.
The risk may not be real but the concern certainly is a major factor in Cloud adoption. Whether these fears are
well founded or not remains to be seen but most users are moving their less critical data and applications to the
Cloud first and waiting to see if there are any issues before moving to their regulated applications.
Third-Party Applications: The final category of applications that are not ready for the Cloud yet is most thirdparty applications. These applications are often dependent on specific versions of SQL Server and not many
of them have a SQL Azure version yet. Unless and until the application vendors see a significant demand for
SQL Azure versions of their applications, third party applications will continue to be holdouts in your Cloud
computing plans.
11
Get more from your data.™
White Paper :: Database as a Cloud Service
Private Cloud
A public Cloud provider typically has tens to hundreds of thousands of servers in huge data centers supporting
thousands of tenants but the basic principles of Cloud applications – self provisioning, flexible deployment,
virtualization, shared resources, etc. apply equally well to a data center of a more typical enterprise scale.
The economies of scale and flexibility that make Cloud computing attractive can be scaled down to a single
enterprise and provide most of the advantages of Cloud computing without the radical move to a public Cloud
infrastructure. A Cloud scaled back to a single enterprise is called a private Cloud.
In many IT organizations, hardware is dedicated to and often owned by application groups. For example, the
Point of Sale (POS) application will often own database, application, and web servers and either own or share
SAN resources. This arrangement makes it easy for the application to control their SLA’s and for the enterprise
to assign costs to an application. The down side of this way of handling infrastructure costs is that it is common
for some servers to be significantly overloaded while others are running at less than 20% of capacity. This is
not only a waste of hardware resources but it results in wasted energy and space costs. It also results in each
application buying enough hardware to support their peak usage so in off-peak times there is a significant
amount of wasted computing resources.
In the private Cloud model, computing power is a shared resource that
is owned at the enterprise level and charged to applications based on
usage. Because applications pay for the resources they use at any given
time instead of dedicated resources, IT is able to reallocate resources to
achieve the most efficient use of the total resources of the enterprise.
“In the private Cloud model,
computing power is a shared
resource that is owned at the
enterprise level and charged to
applications based on usage”.
Private Cloud infrastructures generally don’t use the same software infrastructure as public Clouds because
the public Cloud infrastructure – Azure and SQL Azure for example – are proprietary to Cloud providers and
not available for private Clouds. The key public Cloud features – self provisioning, pay for usage, virtualization,
automation, etc. – are generally available in commercial products so implementing a private Cloud is primarily
an exercise in integrating and adapting existing products to work in your private Cloud.
The rest of this section is a review of the essential features of a Cloud implementation with brief examples of
how the features can be implemented in a private Cloud database platform.
12
Get more from your data.™
White Paper :: Database as a Cloud Service
Virtualization
SQL Server by itself can provide some of the virtualization required for a private Cloud. Databases whose files
are located on a shared SAN can be detached from one instance and attached to another instance as required
to adapt to changing load conditions. The primary reason not to do virtualization this way is that when you
move a database to another instance, the connection string changes so the change isn’t transparent to the
database client applications.
If the SQL Server instance is run in a guest OS in a virtual system, the whole OS can be moved to another
physical server without the client application being aware of the change. With Live Migration, the instance can
be moved with very little impact of the client applications using it. The Microsoft HyperV virtualization platform
is specifically tuned to work efficiently with SQL Server so it is often the best choice for the virtualization layer
of a private Cloud. Many enterprises have already standardized on VMWare as their virtualization platform so
VMWare may be easier to deploy and manage in these organizations. SQL Server is fully qualified to run in a
VMWare environment. A virtual environment imposes some overhead in cost, administration, and performance
so this overhead must be weighed against the flexibility and provisioning advantages of a virtual environment.
Virtualization will be discussed in several other contexts as part of the private Cloud implementation section.
The size of your private Cloud and the features you want to provide for your Cloud consumers will determine
what kind of virtualization your private Cloud requires.
Services Catalog
Private Cloud consumers interact with the private Cloud through a set of services. These services may be web
services that the Cloud consumer calls, or more interactive services that the Cloud consumer activates by filling
out an online request form or something similar. A service may be implemented as a fully automated process or
it may be implemented as an email request sent to a DBA or administrator. The size of the Cloud, the number
of databases it contains, corporate approval policies, and the size of the DBA and Admin teams will determine
the services required in the catalog and the level of automation provided.
A representative but not necessarily complete listing of private Cloud services follows:
•
Provisioning – creating a database that meets the requirements of the application. This includes size,
version, isolation, reliability, features, etc.
•
Billing – this service is used to establish who each database will be billed to. In most private Cloud
implementations this is an internal transfer to the IT department’s budget – not a credit card as with the
public Cloud.
13
Get more from your data.™
White Paper :: Database as a Cloud Service
•
Monitoring – most database monitoring is done by the application DBA by connecting to the
database. Instance and operating system level monitoring is normally done by the admins assigned to
monitoring the Cloud. In some cases, these admins may choose to expose some monitoring data to
the application DBA’s.
––
Health – The current and past state of the private Cloud health – network or system outages,
failovers, storage failures, etc.
––
SLA – performance and uptime statistics that can be used to determine whether the private Cloud
is meeting the SLA’s they have committed to with the application.
•
High Availability and Disaster Recovery- the current state of HA and DR for the database. For
example, when was the last backup taken, the state of failover hardware, mirroring status, estimated
recovery time, status of the disaster recovery hardware and network connections, etc.
•
Configuration Management – reports on the hardware and software configuration of the database
environment.
•
Version Management - returns information on the versions of OS and database software for a Cloud
database. Also has a form to request that versions be changed.
•
Incident Management – used to report and track problems with a database. Includes information on
problem status, resources assigned, estimated resolution date and final resolution details.
•
Security Management – permissions are handled by the database owner so this service primarily
manages logins and configures permissions for external resources that may be required by a database.
•
Capacity Management – usage and throughput statistics that the application owners can use for
capacity planning
•
Change management – services to request changes to Cloud services and track changes in progress.
•
Alert Management – a service to request notifications when events happen in a database. This
includes but is not limited to low resource warnings, failovers, and restarts.
•
Consultation
––
Design Services – a database expert may consult with an application team to develop a database
design.
––
Performance consultation – a senior DBA will work with the application team to improve the
performance of their database.
14
Get more from your data.™
White Paper :: Database as a Cloud Service
The services catalog needs an API layer, a collection of forms to request services, and the ability to manage
virtual hardware, software, virtual machines, and databases. While this can be custom written or implemented
in SharePoint but Microsoft Systems Center also includes tools that can implement all the capabilities required
to manage a private Cloud and Opalis can be used to implement the required forms and workflows.
Self-Provisioning
A key capability of a Cloud database is that it can be created by the application team by filling out a simple form
or by making an API call. This means a database can be provisioned in seconds instead of weeks. Rapid selfprovisioning can be used to create databases for testing, prototyping, deploying applications on short notice to
support new requirements or unexpected loads.
Systems Center Virtual Machine Manager (SCVMM) and the Self Service Portal (SSP) can be used to implement the
Self-Provisioning capability of the services catalog or a more customized capability can be implemented with Opalis.
Isolation
Databases in a private Cloud often need to be isolated from other databases in the Cloud. Isolation may be
required for security reasons, performance, or unique platform requirements.
Databases in the same SQL Server instance can be isolated from each other by carefully managing connect
permissions for logins provisioned in the instance. If more security isolation or a different version of SQL Server
is required, databases can be isolated to different SQL Server instances. If different OS versions are required
or extremely tight security isolation is required, database instances can be isolated to different virtual machines
or even different physical servers. Isolation is one of the parameters that the provisioning service will have to
consider when deciding where to locate a new database.
Standardized Configurations
Private Cloud database provisioning and management is made simpler and more efficient through use of a
limited number of standard database configurations. Provisioning one of a few well-tested configurations
is more reliable than allowing a user to specify a long list of parameters and creating an unlimited number of
different database configurations to manage.
Configurations will include at least isolation levels, processors, memory, storage type, high-availability and
disaster recovery features, and database edition. Database size can be configured independent of the
standardized configurations but there will be standard size ranges used to determine storage configuration.
15
Get more from your data.™
White Paper :: Database as a Cloud Service
Standardized configurations make management more efficient by allowing standard monitoring and management
facilities to be established for each of the standard configurations. The standard configurations will raise
management and monitoring quality by limiting management tasks to a limited number of well-understood
routines. System Center Operation Manager (SCOM) can be automatically updated with the correct information
to monitor and manage the database as part of the provisioning process.
Standard configurations won’t satisfy all application requirements. There will be some configurations – multiterabyte data warehouses for example – that don’t make sense to standardize. In these cases a customized
configuration will be required. Implementing a customized configuration will have to be done with minimal
automation so it will take longer and cost more. These costs can be passed on to the application owners. The
higher cost should help reduce requests for custom configurations to those that truly go beyond the capabilities
of standard configurations.
Hybrid Clouds
Just as not all database requirements can be satisfied by public Cloud databases, not all requirements can be
satisfied by private Clouds. In many cases it will make sense to incorporate public Cloud databases into the
private Cloud infrastructure. One easy way to do this would be to introduce a standardized type into the selfprovisioning service that maps to a public Cloud database. The application owner would have to understand
that the database being provisioned is a public Cloud database because SQL Azure has slightly different feature
coverage than SQL Server. The performance characteristics would also be different.
SQL Azure does not currently support Systems Center for managing and monitoring databases so much of the
management functionality of a hybrid Cloud would have to be wrapped in Opalis workflows to provide similar
capabilities for the public and private Cloud databases in the hybrid Cloud. Opalis supports web services so
this can be done.
Ten things to consider when evaluating a Cloud platform
1. Database as a service can lead to efficiencies by allowing DBA’s to concentrate on the
database instead of the infrastructure
2. Self-provisioning provides greater control for database consumers and reduces the time
needed to deploy a database application
3. Public Cloud reduces capital expense and provides virtually unlimited growth potential
16
Get more from your data.™
White Paper :: Database as a Cloud Service
4. Public Cloud databases perform best when database and application are in the same data center
5. Public Clouds have unlimited scale-out but little scale-up potential.
6. Private Clouds are more expensive to create and maintain but provide more control and reduce
network issues
7. Private Clouds are a good interim solution when waiting to move to a public Cloud.
8. Private Clouds provide more efficient use of database infrastructure resources
9. Private Clouds can centralize management and monitoring of database resources reducing
costs and improving quality
10. Many enterprises will deploy both public and private Clouds
How Can Scalability Experts Help
As experts in Data Management and Business Intelligence, it is SE’s job to keep up with the latest methodologies,
best practices and technologies available to enable companies to get more value from their data. SE services
include; scalability assessments, migrations, consolidations, virtualization and Cloud computing among other
types of engagements. With the confusion that still exists in the market regarding when, where and how to best
use Cloud computing it can be a value to gain the unbiased opinion of a knowledgeable third party. Based on
SE’s Cloud experience, the company has developed a series of new Cloud services ranging from a one-day
engagement to a longer-term full implementation engagement. Cloud services include:
•
Cloud Readiness Evaluation - Duration: 1 day evaluation
•
Cloud Architecture Design Session (ADS) - Duration: 3 day session
•
Public or Private Cloud Architecture Design Review (ADR) - Duration: 3 day review
•
Consolidation Analysis - Duration: 1-2 week engagement
•
On Site Migration to Private Cloud - Duration: 3-4 week engagement
•
Migration to Public Cloud - Duration: 3-4 week engagement
•
ISV Migration to Public Cloud - Duration: 2-3 week engagement
•
Proactive Health Check for Cloud Hosting Companies - Duration: 1-2 week engagement
17
Get more from your data.™
White Paper :: Database as a Cloud Service
Conclusion
The ability to quickly provision a database and only pay for the database resources you need makes Cloud
databases compelling. Using databases in the Cloud can save costs and significantly improve the responsiveness
of your database team.
By using the public Cloud you take full advantage of the Cloud architecture by only paying for the database
resources you are using and by transferring responsibility for the database infrastructure to the Cloud database
provider. The down side of the public Cloud is that your database infrastructure becomes dependent on the
reliability of the Cloud provider’s security systems, database infrastructure, and network.
The private Cloud puts the reliability and security of the Cloud infrastructure in your control. The private Cloud
doesn’t realize the full advantages of the Cloud database architecture because of the extra capacity required to
provide the flexibility of the Cloud is a capital expense for you and not the public Cloud provider. On the other
hand, a private Cloud provides significantly better resource utilization than the typical database infrastructure
in use today.
Many organizations will choose the private Cloud as their first foray into Cloud architecture. However, as they
start to realize the value of having a Cloud they will start to move some databases and applications to the public
Cloud. For this reason, the hybrid Cloud architecture will become the preferred choice for many enterprises.
Databases as a Cloud service, will take advantage of both worlds; private and public.
Sources:
1
TechTarget IT Research Study completed March 11, 2011
18
Get more from your data.™
White Paper :: Database as a Cloud Service
Biography
Author – Roger Wolter
Roger Wolter is a Senior Architect with Scalability Experts. His primary areas of responsibility include SQL
Server database engine, performance, and Cloud architecture. He has almost 20 years’ of experience in
innovative program management, systems architecture and development team management. He has extensive
experience developing and delivering large complex applications on Windows environments with emphasis on
databases, transaction processing, client server, reliable messaging, communications interfaces, and Master
Data Management. Before joining Scalability Experts he worked for 12 years as a program manager and
architect with Microsoft.
About Scalability Experts
We are an award-winning global leader in Data Management and Business Intelligence solutions. Our services
help you get more value from your data and increase the performance and scalability of your computing
environment. With 10 years of industry experience and our deep understanding of every facet of the data
lifecycle, we can optimize the performance of your database operations, make your systems more responsive
and provide business insight critical to gain a competitive advantage. The world’s leading software and
hardware companies such as Microsoft and HP rely on Scalability Experts to help their customers. Let us
help you. Contact us at 469-635-6200 or visit our Website at www.scalabilityexperts.com. If you would like a
Solutions Sales Manager to contact you please send us an email at info@scalabilityexperts.com.
Copyright 2011 Scalability Experts, Inc. All rights reserved.
19
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising