In this post we will talk about some of the characteristics of service models of cloud computing along with cloud deployment models as defined by National Institute of Standards and Technology special publication 500-322 (SP 500-322 Evaluation of Cloud Computing Service). This special publication specifies different cloud service models and deployment strategies. Cloud models are hot topics of modern age due to many factors including the fact that they have distributed storage for data protection, they can be easily scaled in and scaled out depending on our needs. They also give us automated management capabilities and are easily accessible from any location.
Five essential characteristics of cloud computing which NIST has outlined is as follows:
On Demand Self Service
As the name describes, users can request more resources or services on need basis and they will be processes automatically by the cloud infrastructure without any human intervention. Amazon Web Services (AWS) is great example for this type of cloud model. Once you open account on their website you can use their elastic compute cloud service to create virtual machine where you can choose the amount of resources and storage that you want to use as an example. This process is automatic and doesn’t required AWS employee intervention. This deployment characteristic is much faster and more flexible than traditional deployment where you need to deploy physical servers and manual configurations.
Broad Network Access
The second characteristics Broad Network Access, which means that cloud hosted resources are available on wide variety of devices such as PCs, Macs, tablets and smartphones etc. This also means that these resources are available from any location where internet is available.
Next characteristic is resource pooling, this means that providers computing resources are working together in a pool to serve multiple customers. These resources not only includes storage space but also processor memory and infrastructure. It is not practical to have separate hardware for each customer and the costs savings that is offered by resource pooling is passed down to customers. That is why it is most affordable solution when we are using a third party.
This characteristic allows customers to provision and tear down cloud resources quickly. The word elasticity has analogy with the rubber band which can be stretched out as need and it comes back to its original for once released. Same concept is applied here that we have the ability to commission and decommission cloud services as they are needed.
Fifth characteristic which has been highlighted by NIST is that cloud service is measured services. This means that cloud provider is measuring and monitoring the services that customers are using. Some billing plans may require measuring of the resources being used by the customers. It is also necessary for cloud providers to make sure that you have the resources that you need without being running out. Cloud providers also keep a tab on your CPU, memory, storage and network bandwidth to make sure level of service that you are expecting and paying for.
Four Cloud Deployment Models
Above we have discussed five essential characteristics of cloud computing providers, now lets talk about four cloud deployment models.
In a private cloud, the cloud resources are used exclusively by one client or business. Private cloud can be hosted onsite in a company datacenter or that can be provided by third part cloud services provider. learn more about practical example in our blog post. The significant advantage of using private cloud is the level of security and privacy that you have under your control. If you are familiar with some of popular compliance models such as SOX, PCI and HIPPA, it is possible to use private cloud and still maintain compliance with these regulations. Private clouds give us more control and privacy in general but the downside of private clouds is that they are very expensive to deploy as you have to purchase and maintain your own infrastructure. Also you are responsible for all the management of these cloud resources and the underlying infrastructure. Examples of private cloud deployment is in government agencies and financial institutes like banks. Private cloud deployment model is used where you value privacy and security over the cost of benefits and ease of use that other cloud models provide.
Public Cloud is cloud infrastructure that is provisioned for open use and this is the most common type to cloud deployment that comes in mind when you think of cloud computing, where we have resources owned and operated by third party and those are shared over the internet. This would include cloud services like Google Cloud Platform, Amazon Web Services, Microsoft Azure and Oracle Cloud Infrastructure. Although public cloud models are very cost effective and they provide great flexibility but its main disadvantage is security and privacy. For the most of the part these considerations are out of the hand of customers and security / privacy is handled by the cloud service providers. Compliance regulations issues are impossible with a public cloud thats because these types of polices are enforced globally for every user in the cloud.
Community cloud deployments are a new variation of private cloud models that has some specific use cases. As an example of this, there are certain cloud providers out there who cater solely to government agencies allowing them to use their services. And because of that these organizations can still reap the benefits of shared cloud computing. They can still save the costs and have ease of use while they do have the assurance of security and privacy. Disadvantage here is that there is currently no broad standards and best practices outlined for this model as it is currently evolving.
As the name hybrid suggest that it combines two or more of the deployment models that are mentioned above that is Private, Public and community. This can take advantage of benefits offered by different models for example we might have sensitive mission critical applications or we might want to have application with high workload that we want to deploy onsite private cloud. And we might at the same time, use public cloud for business applications that are less critical. Initial deployment cost might be high for a public cloud model and implementation can be complex