The question often comes up as to what the difference is between a "cloud" and a "data center", especially since there is a nebulous definition of what the cloud is, and even more confusion is generated when you hear people talking about building "cloud data centers."
To me, the primary differences between the two are abstraction and elasticity. There are also contractual and business model differences as well when one chooses a data center approach versus a cloud approach, but I am going to stick to the technical here.
First, abstraction is a key component of the cloud. Within the cloud, one gets access to servers, storage, and applications that exist in a data center (or spanning multiple data centers), but little visibility into where these resources are physically and what the actual specifications of the underlying hardware (and software) happen to be. These underlying physical resources might even change for a given cloud resource since these resources are shared (hence the term "virtual data center.") For a good number of developers, this is ideal because these details are not relevant to what they are building and deploying, and eliminating server configuration steps can help reduce deployment complexity and therefore increase the pace of innovation.
This is analogous to the thousands of developers who have integrated various Web services from StrikeIron into their applications. They don't care about the operating system platform we have chosen or the databases that we store the underlying reference data in. They just care about us delivering a sales tax rate to their ecommerce application in real-time, correcting an address, or sending an SMS message. They are not concerned about our implementation choices. It's the "what" they care about, not the "how."
In a data center scenario, which is still an important choice in some cases, the "how" is very important. Typically, a developer makes choices about the hardware that will be utilized and the software stack sitting on top of the hardware. Once these decisions are made, these resources then need to be managed over time.
For example, no one should ever have to respond to an alert message in the middle of the night to reboot their cloud server. Automated monitoring is typically part of a cloud offering that is again abstracted from the developer. However, in a data center scenario where the resources must be managed, if you don't reboot it, who will? (unless you are paying to have your servers managed). Hard drive failure? No problem in the cloud, as redundancy and failover is automatic. But in the hosted data center approach, unless you have made contingencies yourself, you will experience down time.
Second, elasticity is an important virtue of the cloud as well. A key concept of the cloud is that during very heavy load times, additional resources can be shared from a pool of resources when they are needed to handle that load. In a data center environment, typically idle machines must be ready standing by (and paid for even when not in use) to handle extreme user loads. Otherwise, Web sites and applications can crash under the weight of heavy usage.
There is also considerable cost savings contractually because of the pay-per-use-expand-as-you-go business models around cloud resources worth noting. However for large enterprises, those costs savings will likely be offset by retraining development organizations to leverage these new approaches to application development and deployment, so the savings will be long term in nature for these organizations.
For entrepreneurs starting from scratch however, the cloud-based business models will enable them to accomplish much more for less cost as the typical high level of data center investments traditionally made won't be necessary. This will help more startups come to life sooner, and lessen dependency on outside capital resources, which in the past has prevented some innovation from flourishing.
Finally, The cool thing about the cloud is its potential to take the computing industry into a period of massive new build out (that has already begun), and launch a whole new wave of innovation. This is largely because of the computing power that will be available to entrepreneurs and individual developers who in the past have not had the funds available to access these kinds of capabilities and power. I am certain that down the road we will be in awe of the kinds of companies that the cloud will spawn.
Comments