But there’s another, more precise meaning of cloud computing: the virtualization and central management of data center resources as software-defined pools. This technical definition of cloud computing describes how public cloud service providers run their operations. The key advantage is agility: the ability to apply abstracted compute, storage, and network resources to workloads as needed and tap into an abundance of pre-built services.
The “cloud” in cloud computing originated from the habit of drawing the internet as a fluffy cloud in network diagrams. No wonder the most popular meaning of cloud computing refers to running workloads over the internet remotely in a commercial provider’s data center—the so-called “public cloud” model. AWS (Amazon Web Services), Salesforce’s CRM system, and Google Cloud Platform all exemplify this popular notion of cloud computing.
From a customer perspective, the public cloud offers a way to gain new capabilities on demand without investing in new hardware or software. Instead, customers pay their cloud provider a subscription fee or pay for only the resources they use. Simply by filling in web forms, users can set up accounts and spin up virtual machines or provision new applications. More users or computing resources can be added on the fly—the latter in real time as workloads demand those resources thanks to a feature known as auto-scaling.
Benefits of cloud computing
The cloud’s main appeal is to reduce the time to market of applications that need to scale dynamically. Increasingly, however, developers are drawn to the cloud by the abundance of advanced new services that can be incorporated into applications, from machine learning to internet-of-things connectivity.Although businesses sometimes migrate legacy applications to the cloud to reduce data center resource requirements, the real benefits accrue to new applications that take advantage of cloud services and “cloud native” attributes. The latter include microservices architecture, Linux containers to enhance application portability, and container management solutions such as Kubernetes that orchestrate container-based services. Cloud-native approaches and solutions can be part of either public or private clouds and help enable highly efficient devops-style workflows.
Objections to the public cloud generally begin with cloud security, although the major public clouds have proven themselves much less susceptible to attack than the average enterprise data center. Of greater concern is the integration of security policy and identity management between customers and public cloud providers. In addition, government regulation may forbid customers from allowing sensitive data off premises. Other concerns include the risk of outages and the long-term operational costs of public cloud services.