To exploit the advantages of both the public and private cloud models, the hybrid model was created (see Figure 3). This variation applies both the public and private models to take advantage of the privacy and additional security of the private model, while exploiting the potential cost savings of the public model for data and applications that have lesser security concerns.
Another perspective on this model views hybrid as an overflow model. In this way, private resources are used and when found to be insufficient (which can be a transient occurrence), the public resources are exploited as a reserve. This model may not be applicable to all use-cases, but depending upon the application, can provide distinct advantages. From the perspective of the user, the hybrid is a transparent merging of private and public resources with their used defined by user SLAs.
Figure 3: The Hybrid Cloud Computing Model.
Finally, to resolve issues in privacy for public cloud models, the community model was created (see Figure 4). This variation restricts usage of resources to a set of users (who may have strategic relationships and therefore fewer issues with data sharing).
Recall that in a cloud computing infrastructure, a single virtualized server may support numerous virtual machines owned by different users. Therefore, competitors may unknowingly share resources, which may not work for the desired SLA. The community model restricts resources to a set of users, and therefore removes competitive sharing amongst those resources.
Figure 4: The Community Cloud Model.
Other variations are of course possible. For example, a community-based hybrid cloud, where private virtualized resources of a community of users are shared publically as they become available. This variation of cloud is ideal, for example, when the community exists in different time zones that create new opportunities for resource sharing.
SaaS provides a way to deploy software in a pay-as-you-use model. Rather than charging for software on a purchase basis, SaaS distributes software to end users as it's needed and therefore provides a dynamic model for software management.
In many cases, licensing software in this way can be very cost-efficient, particularly high-end applications, but this certainly doesn't apply to all software. But where it does apply, it has enabled smaller companies to use software that was commonly restricted to very large companies. Therefore, the deployment model has enabled wider application usage, which benefits both users and application providers.
Consider the LAMP stack as one example. LAMP requires a significant amount of configuration outside of the simplest cases. Using PaaS, the stack is preconfigured on a server (whether physical or virtualized) and the user adds their value in the specific application (see Figure 5).
Figure 5: Platform as a Service.
The real power in PaaS comes with the more specialized stacks that permit simple integration of user code to develop solid Web computing applications.
Recall that virtualization and related virtualization technologies permit this style of service, and make it simple enough to manage with a limited team. Compare the alternative, where physical equipment is required to be configured and cabled to support this type of service.
Figure 6: Infrastructure as a Service.
This service provides the base hardware layer for an application(s), and therefore serves as the base onto which the user would apply operating system and application sets.
As we discussed before, virtualization makes this process both dynamic and simple with the concept of the virtual machine. In fact, many IaaS vendors provide VM templates which can be used within their architectures, some of which are generic, while others focus on a particular application (web server, database, etc.).
Storage as a service, or Cloud Computing Storage, is a service that extends persistent storage to users over the Internet at a reasonable cost. What is actually being purchased is both physical storage (within a larger virtualized storage infrastructure) and networking bandwidth to both write and read the stored data. For this reason, cloud storage is commonly priced in terms of $/GB/month (use of physical storage over time) as well as the networking bandwidth (and transactions) required to satisfy the user requests. Users can also optionally pay for SLAs which define the protection given to storage in the cloud.
What's not immediately apparent in cloud storage is that it also has the advantage of geographic distribution of data. That's not to say that what's being purchased is disaster recovery, and as such, much of cloud storage is devoted to personal backup data, or copies of enterprise data.