When refering to public and private clouds, people consider as public the clouds that their resources are located in the cloud hosting provider’s data center and are leased to organizations, whereas people consider private the clouds that their resources are located in the organizations themsleves.
This is the definition almost everyone seems to use for public and private clouds and is an easy concept to grasp.
But Microsoft does not like this definition. In “With System Center 2012, Microsoft Democratizes the Private Cloud” (InstantDoc ID #141927), Paul Thurrott provides the exact definition and differentiation of the two types of clouds, after speaking with Microsoft corporate VP Brad Anderson. To me, Microsoft’s point of view makes perfect sense.
For those of us who would like a more formal and accurate definition, the location of the resources must be left out of said definition.
The way I understand it, a company uses a private cloud if its workloads are running in a fabric dedicated to that company. If a company’s workloads run in a fabric shared with other companies, then the company uses a public cloud. It does not matter where the underlying hardware of the fabric resides, or who provides the fabric. All that matters is whether the hardware is dedicated to one company or serving multiple companies. The location of the hardware is irrelevant.
Closing, I would like to say that location, location, location is not for cloud characterization (hey, it rhymes, too).