Cloud computing comprises several models with entirely different meanings for different people. To cut out all the “he said this, she said that” that can happen. NIST, or the National Institute of Standards and Technology, has defined deployment models, service models, and essential characteristics of Cloud Computing. This is my take on their definitions are
No matter how we turn today in IT, the constant term we hear is “Cloud.” This is followed by some XaaS (x as a Service). Getting started can be confusing and daunting to see all these acronyms and terms. The worst part about it is how they seem to be used interchangeably.
Essential Characteristics of a Cloud:
- On-Demand Self-Service: The ability to spin up resources (compute, network, storage, etc.) without having to call or email the service provider. Think about Amazon Web Service (AWS). Whenever you want to spin up an AMI or your image, do you call the deployment specialist at AWS? No, you (or someone else) log into the AWS console, click a few buttons, and boom, you have a fully functional machine running.
- Broad Network Access: Take a cloud service like WebEx for video conferencing. You are not limited to how you can access the service. You can be on a MAC, Windows, Linux, iPhone, Android, etc., and either launch it from a web browser or fire up the WebEx application and connect to your meeting.
- Resource Pooling: For this, we will look at MS Office 365. MS Office 365 is a multi-tenant environment, which means that everyone shares the same hardware, so you can share the server(s) that your mail is on with a company that uses the MS O365 platform or with different users who use the platform. You have no idea where your data is, but (1) you always have access to it, and (2) in the event of an issue, you can get moved dynamically to a new server, pod, data center, region, etc.
- Rapid Elasticity: During Christmas, a retailer may need to spin up front-end web servers if a certain threshold is crossed. Rapid elasticity allows them to grow horizontally to the present demand at the time rapidly. When the demand subsides, then the resources that are not used anymore can be decommissioned. All of this generally happens automatically.
- Measured Service: For bill-back, you can see who used what from storage, data transfer, network, and/or system resource point of view
Service Models for Cloud Computing:
- Software as a Service (SaaS): We may not know it, but we use SaaS products daily. Email (Gmail, Hotmail, Yahoo, etc.) are all examples of SaaS products. Software as a Service is defined as using the vendor’s application on a cloud platform. Some other examples are WebEx, BlueJeans, Google Hangouts, SalesForce, and Microsoft Office 365.
- Platform as a Service (PaaS): A PaaS solution delivers a computing platform and solution stack as a service. It facilitates the deployment of applications without the cost of purchasing the underlying hardware software and dealing with the provisioning of the physical box. Two PaaS examples are Google App Engine and Red Hat Open Shift.
- Infrastructure as a Service (IaaS): Amazon AWS is probably the most well-known IaaS. In AWS, you can provision, compute (EC2), store (S3), and network (VPCs). You, however, do not control the underlying transport and cloud hardware. However, you can access any resources in the respective cloud provider. This includes fully controlling a networking device if you spin up a Cisco Cloud Service Router.
I look at it from this point of view:
If I want to control most of what I would control in my data center, I will look for an IaaS provider. Conversely, if I want the flexibility of a SaaS but want to use my programs, PaaS is the way to go. Finally, if you use a SalesForce program, SaaS would be the way to go.
As if this wasn’t enough, there are also several different types of deployment models. These are much more cut and dry, but a few are confusing.
Deployment Models for Cloud Computing:
- Private Cloud: This can be your private cloud instance running OpenStack or some variant in your on-premise or off-premise data centers at either a hosted data center or a cloud service platform. The essence behind a private cloud is it serves one organization that can have multiple business units.
- Community Cloud: The cloud instance is for use by a community or group of people. This can also be hosted in one of their on-premise data centers or off-premise. It can be either a hosted data center or a cloud service platform.
- Public Cloud: This is either an on-premise cloud solution or one at a third-party provider that the general public can access. An example would be a company with a consumer-facing website sitting in AWS.
- Hybrid Cloud: Takes a combination of two or more cloud deployment models. They remain unique, but they allow for bursting if more computing resources are needed at any given time.
Once you have these terms down cold, understanding what people are talking about when they talk about “Cloud” makes a little bit more sense.