Cloud computing is a major development in information technology, comparable in importance with the mainframe, the minicomputer, the microprocessor, and the Internet. This chapter describes what makes it special.
The essential concept of cloud computing is that IT resources are made available, within an environment that enables them to be used, via a communications network, as a service, as shown in Cloud Service.
Cloud Service
The resources can be raw computation resources, such as processing power and data storage, or computation resources that are programmed to perform a function, such as software development, web conferencing, or CRM.
The raw computation resources are real, but the environment often contains a virtualization layer, so that they are presented as virtual resources.
The environment enables managers to select, configure, and deploy the resources. For raw computation resources, the environment might, for example, enable a manager to select a virtual processor of a particular power, attach a chosen amount of virtual disc storage to it, and make it accessible at a particular IP address. For other resources the environment might enable a manager to define the number of users and the types of user that can use the resource.
The communications network is typically the public Internet or a private network that uses the Internet protocols (an intranet). The Internet protocols are the foundation of cloud interoperability and portability. Other kinds of network will not be considered in this Guide.
The Internet, and communications networks generally, are often represented by cloud shapes in figures and diagrams. This is what has given cloud computing its name.
The US National Institute of Standards and Technology (NIST) has developed a definition of cloud computing that is widely accepted within the industry, and is adopted by this Guide [NIST DEFINITION]. It includes:
A cloud service should have five essential characteristics:
A cloud service may be deployed:
Three cloud computing service models are distinguished in the NIST definition, and they are a good basis for an analysis of portability and interoperability issues. They are Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS).
A further cloud service model is often included, though it is not part of the NIST definition: Business Process as a Service (BPaaS). In this model, the resources that are made available are systems that include people as well as IT components. They perform complete business functions, such as payment processing. They are available over the Internet, or an enterprise intranet, and exhibit the five essential cloud service characteristics.