SQL in the Cloud

August 7, 2009 by Michelle.Poolet · Leave a Comment 

What is Cloud Computing?

The Cloud is a metaphor for the Internet; it abstracts the incredibly complex infrastructure that comprises Cloud computing. Cloud computing is a way of offering dynamically scalable and virtualized business computing resources as a service over the Internet instead of on-premise (within your own data center).

What’s the draw of Cloud computing? It gives you breaks on time, revenue, and resource options at every level. Normally you’d buy hardware and software packages and install them on your corporate machines; with Cloud computing you buy services instead. You buy only what you need, when you need it. You can buy infrastructure (Infrastructure as a Service – IaaS) – rent-a-data-center, if you will. You can buy specific platform services (Platform as a Service – PaaS), such as the Microsoft Azure Services Platform or the Amazon Web Services for custom application development. And you can buy Software as a Service – SaaS, for ready-to-use end-user applications as varied as spreadsheets, teleconferencing, sales force management, and customer relationship management packages.

Timely response in today’s competitive environment is necessary for survival. Agile methods are de rigueur for both application and database development, but are often constrained by time-to-provision or by lack of budget to acquire the necessary delivery mechanisms. Cloud computing lets you quickly provision very complicated installations on a pay-as-you-go basis, saving time and money. No longer are you locked into some fixed, outdated computing center that may or may not support your latest business initiative.

Scale-up/scale-down for seasonal work load adjustment has always been an issue for IT administrators. Typically, you have to buy for the biggest workload that you expect, so for a good part of the year you’re paying for excess network, CPU, and hard disk capacity that you’re not using. One of Cloud computing’s claims to fame is the ability to quickly adjust to the volume of users and/or data on an as-needed basis. For a U.S. accounting firm, for instance, those weeks immediately preceding the 15th of April will require additional computing resources, perhaps as much as a factor of ten over normal use. Immediately following this deadline, the firm can scale back and pay only for the resources what they use, when they use it.

Cloud computing is rapidly evolving into public, private and hybrid variations. Public Cloud computing is characterized by services available over the Internet, typically from 3rd-party providers.  The Public Cloud is constrained by network bandwidth, perceived security exposure (real or not), and legal or compliance requirements, among other things. Mounting your data warehouse in the Public Cloud might not be something that you could easily do without lots of advance planning and preparation, and if the data transport pipe is not wide enough, you might never be able to make this happen.

In response to Public Cloud limitations, we’ve seen the development of the Private Cloud and its companion, the Hybrid Cloud. Private Cloud computing is housed entirely on-premise; the services (IaaS, PaaS, SaaS) are more tightly managed than Public Cloud services and may not be as responsive as Public Cloud services.  Access to the Cloud network is restricted, and bandwidth is limited only by the enterprise’s budget. Compliance and security issues can be addressed with greater assurance than if the firm were using an external Cloud provider. Data never leaves the building.  Initiatives that are using a hybrid solution, that is, combining the best of the Public and the Private Cloud – using the Private Cloud where security is the biggest driver and using the Public Cloud where time-to-market is paramount – are defining and describing a new way to do business.

Cloud computing is more than just managed hosting or an extended in-house IT facility, it’s the attitude that makes the difference. Cloud computing is built around a service attitude; it’s tightly bound to a service-oriented architecture based on a virtualized infrastructure. It’s all about providing service to any authorized user, anytime, anywhere, to any device, and to do it quickly. In order to make this happen, the infrastructure has to be totally shared, highly scalable (elastic, even), standardized, and highly efficient. The only way to achieve these criteria is to virtualize the infrastructure stack – servers, storage, middleware, data, applications, processes – and make it available on an as-needed basis. Service delivery has to be automated, since it’s request-driven. When there’s a call for more computing power or additional storage capacity, these need to be delivered promptly with little or no intervention by the Cloud service provider staff. When resources are no longer needed they’re returned to the Cloud environment and made available to other business units who might need them, again with little or no intervention by the service staff. And lastly, the user experience must be standardized and enhanced, for without high user buy-in a Cloud computing service initiative could easily fail.

Follow my SQLinTheCloud tweets on www.twitter.com/SQLinTheCloud.