There is a fair amount of ambiguity regarding what cloud computing really is. Here’s a simple definition: cloud computing is the practice of using a network of remote servers to store, manage and process data, rather than use your own local servers (managed by you) or dedicated servers in a data centre managed by a third party. NIST, the US Government’s National Institute for Standards and Technology, has created a definition of cloud service which has been adopted by the Cabinet Office and G-Cloud and is being used as the common definition across the UK public sector. NIST describes cloud computing as “a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (eg networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.” This cloud model is composed of five essential characteristics.
- On-demand self-service Consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider.
- Broad network access Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g. mobile phones, tablets, laptops, and workstations).
- Resource pooling Computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g. country or datacentre). Examples of resources include storage, processing, memory, and network bandwidth.
- Rapid elasticity Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly in-line with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.
- Measured service Cloud systems automatically control and optimise resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g. storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilised service.
So, if this is what cloud computing is, what capabilities or resources can be provided using cloud computing? What types of cloud services are available?