Every so often, something comes along that significantly changes how we manage information. The last big thing was the Internet. Today, some 17 years after what began as ARAPNET was opened to the public for commercial use, the Internet is an inescapable part of our lives. We conduct business, entertain ourselves, connect with friends, and access knowledge in ways prior generations would find incredible. In light of the impact the Internet has had on society, the likelihood that the effects of cloud computing could be as profound seems implausible—until one understands what the cloud really is.
A few months ago, the National Institute of Standards and Technology (NIST) published The NIST Definition of Cloud Computing. This document provides the best working definition that I have encountered. Cloud computing is defined as:
… a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
The document lists six essential traits of cloud computing, which are summarized below:
On-demand self-service – Cloud users can purchase or access servers or storage when needed without having to interact with another person.
Broad network access—Cloud technology and services are easily accessed using a wide variety of devices (e.g. smart phones, PCs).
Resource pooling—Multiple users have access to a common pool of dynamically-allocated resources.
Rapid elasticity—Users have rapid access to seemingly unlimited computing resources such as processing power, storage, and memory.
Measured service—Resource usage is continually monitored and sold in measurable units.
Cloud services that encompass the above traits usually show up in one of three forms mentioned in the NIST document: software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS).
SaaS is well known in healthcare. It is an increasingly common mode for delivering EHR, PM, and other common applications to practices. Salesforce.com is often credited with offering the first real SaaS application, with the launch of its customer relationship management system in 1999. SaaS provides subscription-based access to applications hosted on the Internet. The SaaS model differs from the application service provider (ASP) model mainly at the application level. SaaS has come to imply software that is written from the ground up to live on the Internet, as opposed to more traditional client/server software that can be accessed via the Internet, which was common with ASP. SaaS is also multitenant (all users are using a common application) whereas under the ASP model each user might use a dedicated instance of the software.
PaaS is a model for supporting application development in the cloud. Programming languages, databases, and other resources are made available to developers by the cloud provider. Developed applications can then run in the cloud. Both Amazon and Google offer sophisticated support for cloud-based application development.
IaaS is essentially an IT department on-demand. Cloud providers offer access to processing power, memory, and storage as a subscription service. Users are free to run their applications and operating systems without the headache of managing the boxes and network infrastructure. IaaS gives small businesses access to computing resources that previously were only available to the largest corporations. Even more amazing is how this computing power can be used. In 2010, Amazon began offering supercomputing as a service–not bad, if you really need more power for your bioinformatics project.
Although the ideas underlying cloud computing have been around since the 1960s, many credit Amazon Web Services offerings (started in 2002 and significantly expanded in 2006) with leading the way in PaaS and SaaS. Like all technologies, it will take time for cloud computing to mature. In 1995, who would have thought that Skype, Facebook, or Google would be everyday tools; that Amazon would be the world’s largest bookseller?
What effects will nearly unlimited on-demand storage and processing power have on clinical research? When will it be possible to run a hospital run solely on cloud-based applications? In order for cloud computing to significantly affect healthcare computing, a few fundamental issues must be addressed. Broadband access is still not available in many rural areas. Security remains a challenge, and the legal aspects of data ownership, access, and control (e.g. e-discovery, HIPAA) need to be clarified.
As more EHR software sheds its traditional client/server roots and moves to the cloud as component-based systems optimized for web services, a robust add-on market is likely to develop. If so, adding a new reporting or workflow engine may only require a credit card and a few minutes. Cloud computing promises to change how we use computers as much as the Internet has; it has certainly captured my imagination. I have no idea what I would do with a supercomputer, but I want one.