What is the cloud, really? “Special Publication 800-145 (September 2011)” from the National Institute for Standards and Technology says to be considered a “cloud” there are essentially five characteristics that must be included. Cloudspotter’s Journal will explore these five characteristics according to the descriptions provided in the NIST document and including other applicable definitions, applications and terminologies from the consumer/user perspectives.
For users to validate a cloud provider’s services there must be the ability to unilaterally provision certain computing capabilities, e.g., server cycles and time, applications or network storage. Services must be deployed in an automatic fashion and without human interaction. The automatic, on-demand services are run under certain scripting commands, using abstraction principles administered under “orchestration” components that are aware of the system resources, locations, as well as the demands by other users or services throughout the cloud environment.
Cloud services may be either thick or thin client platforms. The thick, sometimes called “fat” clients, are those clients that will perform the bulk of the processing—as described in general client/server applications. The “thin” client often refers to the software, which describes the networked computer itself. The thin client is software designed to enable communications amongst the servers.
NIST described the “broad network access” as capabilities available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms. Cloud clients include computers, e.g., workstations, tablets, laptops, smartphones and other mobile devices. Users access the cloud services by connecting to these networked cloud client devices.
The third qualifier enables the doling out of compute resources in a pooled fashion that can serve multiple consumers using a “multitenant” model. Each tenant’s data is insulated from any other tenant’s data—essentially remaining invisible to other operations or tenants.
NIST further explains that the model pools different physical and virtual resources, which are dynamically assigned and reassigned according to consumer demands. Customers are completely unaware of the location of the resources and have no control or knowledge of the exact locations of the provided (or available) resources. Resources, in these cases, include storage, processing, memory and network bandwidth.
Elasticity is the degree to which a system can change and adapt. In cloud applications, this applies to workloads and includes the ability to move from one use configuration to another and then back, or to yet another, depending upon demand. The term “rapid” is added in the NIST profile to include the system’s capability to be provisioned and released, to scale rapidly outward and inward commensurate with demand.
To the consumer, this provisioning appears to be unlimited, allowing services to be appropriated in any quantity at any time. The degree of elasticity then becomes transparent and is governed by the consumer’s (user’s) expectations for a deliverable service (infrastructure or platform) based upon cost, quantity and quality.
The last of the five essential characteristics is that cloud systems will automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service. Again, these services could be storage, processing, bandwidth and the activity of the specific user accounts.
Resource usage can be monitored, controlled, and reported to the user and the provider. This continues the transparency (of the services) for both the provider and the consumer of the utilized service.
In computer science and software engineering, the principles of abstraction are designed to reduce complexity and ensure efficiency in complex software—as in cloud-based—systems. A common theme of cloud services is that of “abstraction through the processes of virtualization.” Abstraction is described as “existing in thought or as an idea but not having a physical or concrete existence.”
In a cloud-based environment there is a “physical” existence for the compute (GPU, CPU, servers), the network, storage and all the associated software components. All these components are distributed so that in the event any one location should fail or be short of resources for any reason (i.e., for maintenance, failure or updates), the general topology of the entire cloud “network” will pick up those services and continue transparently and without interruption.
In creating shared pools of resources, there is an abstraction mechanism that maps a logical address to a physical resource. Cloud computing networks utilize various techniques, which they develop to create virtual servers, virtual storage and virtual networks. Depending on your definition, virtual applications are also available to any device and provided by the cloud providers.
Abstraction enables the key cloud computing benefits of shared, ubiquitous access irrespective of location or demand by others.
CLOUD SERVICE AND DEPLOYMENT MODELS
NIST describes the service models and the deployment models for cloud computing (Fig. 1). Principally, the three most familiar service models are Software as a Service (SaaS); Platform as a Service (PaaS); and Infrastructure as a Service (IaaS).
SaaS allows the consumer to use the cloud provider’s applications and services, which run in a cloud infrastructure, but prohibits consumers from managing or controlling the underlying infrastructure or its individual applications, with the possible limited exception of users-pecific confituration settings.
PaaS allows the consumer to deploy consumer-created or acquired applications, which are created using the programming resources (tools, languages, libraries and services) and are supported by the cloud provider. In the PaaS environment, consumers do not manage or control the cloud infrastructure (i.e., the network, servers, operating systems, or storage), but the consumer does have control over the deployed applications possibly including the configuration settings for the application-hosting environment.
Consumers, in IaaS, may provision processing, storage, networks and other “fundamental” computing resources where the consumer is able to deploy and run arbitrary software. Again, the consumer does not control or manage the provider’s underlying cloud infrastructure, but they may have control over the operating systems, storage and the deployed applications. Select networking components, such as host firewalls may be controlled on a limited basis by the consumer.
Cloud computing is an evolving paradigm with an unknown actual starting point and an open door into how compute-centric business will prevail.
Irrespective of where or when the term or the practice was created, there remains no doubt that “cloud” is here now and will remain the future for an untold number of users and applications.
Karl Paulsen is CTO at Diversified and a SMPTE Fellow. He is a frequent contributor to TV Technology, focusing on emerging technologies and workflows for the industry. Contact Karl at firstname.lastname@example.org.
Future US's leading brands bring the most important, up-to-date information right to your inbox