Section I: Overview of Cloud Computing
Cloud computing refers to the delivery of information technology (IT) services using internet technologies in a way that is elastic and scalable and may be priced on a pay-as-you-go basis. Core cloud computing services generally include data storage, processing capacity, networking and software applications. Many of these services are similar to utility services in that they are largely commoditized and can be consumed in small or large quantities as is needed. Because firms no longer own or manage physical infrastructure, such as data centers, when moving to the cloud, they move from a capital expenditure (“capex”) to operating expenditure (“opex”) mode of consuming IT resources.
The National Institute of Standards and Technology (NIST) developed a more formal definition of cloud computing, describing it as being composed of five essential characteristics:6
- On-demand self-service: A user can easily provision computational resources at will.
- Broad network access: Cloud resources are available over a network, such as an intranet or public internet, that promotes access via an array of clients, from smart phones to workstations.
- Resource pooling: The cloud provider pools computing resources, such as data storage, that are shared by multiple users in a “multi-tenancy” arrangement where resources are allocated in a dynamic fashion depending on user demand. Users may know the physical location of their data at some high level (e.g., locality of the data center) but not necessarily with granular specificity beyond that.
- Rapid elasticity: Computing resources can be quickly scaled up and down as needs change. To most users, the availability of computing resources will appear unconstrained to the extent that resources can be appropriated in the quantity needed.
- Measured service: There exists metering capability that records resource usage transparently and enables better control and monitoring by both user and provider.
Historically, cloud computing has developed at the intersection of three different technological fronts: (i) computational capabilities offered as a utility, (ii) virtualization, which allows multiple users to simultaneously operate off the same physical server and (iii) ability to access services through a network.7 These developments date back to the 1960s, when mainframe computers were being developed and the Advanced Research Projects Agency Network (ARPANET) was launched as a predecessor to the internet.8 In 1972, IBM launched a virtualized operating system called the Virtual Machine (VM) to allow multiple users to timeshare the system.9 Over the following decades, computational capabilities from networking to storage were built out and increasingly commoditized. Internet adoption boomed starting in the 1990s with the advent of the World Wide Web, and supporting infrastructure was built out and bandwidth expanded. Virtualization technologies simultaneously advanced, enabling complete virtual computers to be executed within the same physical computer. These developments laid the groundwork for the modern day “cloud computing” concept to be created around the turn of the century.10 As mentioned previously, the public cloud has grown rapidly to become an over $300 billion global market.11