What are the benefits and drawbacks of deploying database systems in the cloud?
Both sides of the IT industry – users and vendors – have been close to obsessed by the cloud computing paradigm in recent years. But while the cloud should be good for commoditized IT, what does it mean for data management?
Our round table of experts offers some answers.
Andy Hayler, CEO, The Information Difference
Those who have worked in a large company will be painfully aware that a huge part of the IT budget, frequently around 70%, is spent on just "keeping the lights on" – i.e., maintenance and support, rather than delivering new and useful systems to the business.
A major cause of this high cost is that of testing in an inherently complex IT environment. If you have hundreds of servers and thousands of desktops, then there are major issues in deploying even a simple update to an application, say, a new release of an accounting package. This is because you have to make sure that the new update will not break when it is deployed in the wild, and this means testing on every platform combination.
Even with a supposedly standard desktop environment, you have to be sure that your new update will work on all deployed combinations of operating systems, database, application server and the like. What works fine on version 8 of your chosen DBMS [database management system] may not work on version 9, whatever the vendors may say about upwards compatibility.
It is the sheer cost and lack of flexibility of the enterprise software environment that is the main attraction of the cloud to enterprises. Essentially, they are offloading the problem of sorting out the infrastructure to someone else, as their users just have to call things up in a browser.
Of course this shift of burden does not come entirely for free. There is an assumption that the environment of the cloud provider is robust and secure, and some incidents have shown that this is not necessarily the case. For some applications, a little downtime may not be the end of the world, but for your critical systems it may be considered too risky to assume that another vendor will keep its systems up and running 24/7 with certainty. Security is also a concern when it comes to data, though it is not obvious that internal IT departments are necessarily going to provide a more secure environment than a cloud provider, whose reputation is on the line every day.
Despite such concerns, my instinct is that the savings in complexity and advantages of infrastructure flexibility that the cloud offers will outweigh the worries, especially as the cloud providers become more established and seem more comforting and familiar to enterprises. It is just a matter of time.
Ollie Ross, Head of Research, The Corporate IT Forum
Within its membership, The Corporate IT Forum has certainly seen examples of cloud-based database system deployment delivering IT efficacy and measurable business value. But rather than replacing existing systems, the majority of deployments to date appear largely to be supporting new initiatives – often in rapid response.
Benefits and recommendations include improved support capability, flexibility and scalability as required for less capital outlay. “We are able to increase capacity permanently should it be required, or, in the case of spikes in demand, increase and then decrease capacity at short notice. This model is proving much more cost-effective than owned hardware,” commented a Corporate IT Forum member earlier this year.
But of course, there's a flip side to this coin – primarily risk. With the ubiquitous focus on data protection and information security and recent denting of the availability record of major providers, some nervousness is understandable, and the forum is also seeing a strengthening demand for supplier security and governance assurance. The decision to deploy a database in the cloud isn't one being taken quickly or lightly.
Mark Whitehorn, Co-Founder, PenguinSoft
Talk of cloud computing reminds me of a first-draft proposal I saw several years ago for an application to track new data coming into a company. All kinds of costs had been roughed out (Web development, form design, costs of acquiring the data and so on), but there were no costs for the database hardware and software. When I enquired about the cost of the database, I was told it didn’t have a cost, because data “was stored on the network.”
Which bring us neatly to the cloud. It promises so much. No worries about backing up (it all happens in the cloud); no worries about performance and scalability (clouds are infinitely expandable); and no worries about downtime (clearly, clouds are lighter than air, so they stay up all the time).
The slightly cynical tone above might suggest I am anti-cloud. As a native of the UK, I am obsessed with the weather, but I am desperately pro-cloud (computing sense). Not only does the cloud promise the above, it will ultimately deliver. The crucial point is, Not yet.
There are two major problems that have yet to be satisfactorily addressed.
1. Security. If your data is highly sensitive, you need to be very sure that the cloud won’t leak; it needs to very, very secure. The problem with security is that it is complex enough if your data is behind a firewall; just ask Sony. Put it outside and you still have exactly the same problem as before (protecting the data inside the firewall), and in addition, the data outside has to be protected. To make matters worse, you have to trust a third party with that protection. Oh, and then there is the little matter of exactly in which country your data may reside and the legal ramifications of that. And whilst I am sure these problems can be addressed, the bottom line is that I am not convinced they have been as yet.
2. Performance. Even when the software and hardware are completely under your control, database performance is very, very difficult to predict. So difficult that, as far as I am aware, there are no totally reliable mathematical models of database performance. Of course, we can make estimates (don’t run a banking system on Access deployed on a laptop), but accuracy eludes us. The cloud answer seems as nebulous as the medium itself. “Don’t worry; we’ll take care of that. We have almost infinite capability; we simply use whatever resources are required.” But as any database administrator will tell you, it isn’t just having resources; it is about how you use them. As a trivially simple example, partitioning of tables and indices are amongst the most powerful tools we have for making databases go faster. We already know that. The problem isn’t how you partition or index; it is where you choose to partition and which columns you choose to index. Therein lies the skill, and the “cloud,” on its own, is unlikely to possess that skill.
I’ll say it again, loud and clear. I am for the cloud. The average company doesn’t want the enormous hassle of running databases. It makes huge sense to outsource data management to a shared resource. As soon as someone approaches you with a cloud offering that really does address both of the issues outlined above effectively, start clouding; until then, be careful out there.
This was first published in September 2011