Ken Oestreich of the Fountainhead blog has an interesting take on cloud computing. Ken cites many examples of cloud computing experts who essentially claim that cloud computing cannot be done "inside" the data center. Then he postulates that yes, yes in fact it can.

In general, I agree with Ken's assessment. A CRM (Customer Relationship Management) system is still a CRM whether it's hosted inside the data center or remotely by a SaaS (Software as a Service) provider. Similarly, a cloud is still a cloud regardless of whether it's implemented in someone else's data center, such as Amazon, or in your own data center.

Most definitions of cloud computing disagree.

From the Wikipedia definition

quote Cloud computing means Internet ('Cloud') based development and use of computer technology ('Computing'). It is a style of computing where IT-related capabilities are provided “as a service[1], allowing users to access technology-enabled services "in the cloud"[2] without knowledge of, expertise with, or control over the technology infrastructure that supports them[3]. It is a general concept that incorporates software as a service, Web 2.0 and other recent, well-known technology trends, where the common theme is reliance on the Internet for satisfying the computing needs of the users.

Now let's look at the definition of "Internet":

quote The Internet is a global system of interconnected computer networks that interchange data by packet switching using the standardized Internet Protocol Suite (TCP/IP). It is a "network of networks" that consists of millions of private and public, academic, business, and government networks of local to global scope that are linked by copper wires, fiber-optic cables, wireless connections, and other technologies.

Really? So the Internet, a.k.a. "The Cloud", comprises public and private networks. Like the network that connects developers and users to their data center. I realize that the generally accepted definition of Internet is the public Internet, at least as it relates to cloud computing, but that appears to be because those defining cloud computing so narrowly today often happen to be providers of cloud computing environments.

The definition of cloud computing appears to be more a matter of perspective. To the developer or end-user a cloud is a cloud regardless of where it physically resides. What's important is that the essence of what a cloud is: elastic, dynamic, and fluid remains the same. It is "out there", and "out there" could physically be five hundred feet or five hundred miles, they don't care. The users of the cloud - developers and end-users - have no "knowledge of, expertise with, or control over the technology infrastructure that supports them" regardless of whether the cloud is in their own backyard or somewhere else.

Cloud computing has come to mean more than just "services" on the "Internet". I doubt many would agree that Hotmail is "cloud computing" but it fits the broad definition often cited. Cloud computing requires more than just offering up a service on the Internet, it's about how applications are deployed, scaled, and delivered in the most operationally efficient way. It's about leveraging technologies like virtualization and automation to create a dynamic, fluid environment that scales with the application being delivered. 

What if the enterprise leased a data center elsewhere and built its private cloud there, inside of in its existing data center? Then it's cloud computing environment is physically remote from its user base and must be accessed via the Internet. Would that make it fit the definition of cloud computing?

You can call the enterprise-hosted version of cloud computing something else, if you like, but that won't change the fact that they're doing exactly what public cloud computing providers are doing.