Clearing the Fog: Internal vs. External vs. Public vs. Private Clouds

One common complaint from those considering the adoption of cloud computing technologies is that it’s difficult to understand the various types of clouds that might exist. The reality is that there are at least four types of clouds. It’s easiest to categorize clouds along two dimensions, external vs. internal and public vs. private:

g_fog_chart.gif

An external cloud uses hosting that is external to the enterprise asking the question. An internal cloud is hosted in the enterprise data center. Public clouds are accessible to the public at large, while private clouds have very strict access controls that prevent access to anybody that is not authorized.

External public: Amazon’s popular EC2 is a good example of an external public cloud offering. Many of the other first-generation cloud services are examples of external public clouds. External public clouds can be suitable for some public-facing enterprise applications, or for basic dev/test usage, but generally are not suitable for business-critical enterprise applications. For instance, there can be security concerns with the public nature of these clouds.

External private: In order to address some of the concerns that enterprises have with public clouds, many cloud service providers have created external private clouds, often termed “virtual private” clouds. In this model, the cloud is still external and uses some shared infrastructure at the service provider, but it is constructed such that it is not accessible directly from the public Internet and provides stronger security controls to prevent unauthorized access. In some models, a cloud service provider may actually Co-locate some or all the hardware at the enterprise but it is owned by the service provider, not the enterprise.

Internal private: In the internal private cloud model, the enterprise builds its own cloud in its own facility and makes it available to the rest of the enterprise. In this model, the enterprise absorbs the cost of the cloud infrastructure, but in return gets more control over the security and performance aspects of the cloud. Software companies such as VMware can deliver the software required to set up a private cloud.

Internal public: This is probably the least-understood of the various cloud types. In this model, the enterprise owns the infrastructure, but makes some or all of it available to external customers. In this way, the enterprise actually becomes a cloud service provider itself. In fact, Amazon’s EC2 grew out of a realization that Amazon owned tremendous computing resources that were only partially used and that the company could start to offer those to the general public. From the point of view of Amazon, EC2 is an internal public cloud (and external public from the point of view of the enterprises who use it). The tools for building this model are not well-developed, however, and constructing something similar to Amazon would be difficult for most enterprises. ServiceMesh expects that this model will see a lot of development over the coming years, however.

Most enterprises will use a combination of cloud types, not sticking with a single type for all applications. Many enterprise applications have security requirements that would prevent them from being run in a publicly accessible cloud like EC2. These applications might be better suited to an external private VPC offering. Similarly, some applications may be very latency sensitive and require placement in the enterprise, close to other systems with which they communicate. In this case, an internal private cloud might be the best choice.

ServiceMesh’s Agility Platform™ can work with all types of clouds and Agility Planner and Agility Manager can help enterprises determine whether a particular application workload is most suitable for deployment in internal vs. external and public vs. private resources.