The Cloud” refers to servers that are accessed over the Internet, and the software, databases and services that run on those servers. Cloud servers are located in data centers all over the world. By using cloud computing, users and companies don’t have to manage physical servers themselves or run software applications on their own machines.
The public cloud lets customers gain new capabilities without investing in new hardware or software. Instead, they 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 autoscaling.
Cloud Computing Types
The array of available cloud computing services is vast, but most fall into one of the following categories.
SaaS (software as a service)
This type of public cloud computing delivers applications over the internet through the browser. The most popular SaaS applications for business can be found in Google’s Workspace and Microsoft’s Office 365; among enterprise applications. Typically, SaaS applications offer extensive configuration options as well as development environments that enable customers to code their own modifications and additions.
IaaS (Infrastructure as a Service)
IaaS public cloud providers offer storage and compute services on a pay-per-use basis. But the full array of services offered by all major public cloud providers is staggering: highly scalable databases, virtual private networks, bigdata analytics, developer tools, machine learning application monitoring, and so on. Amazon Web Services (AWS) was the first IaaS provider and remains the leader, followed by Microsoft Azure, Google Cloud Platform (GCP) and IBM Cloud.
PaaS (Platform as a Service)
PaaS provides sets of services and workflows that specifically target developers, who can use shared tools, processes, and APIs to accelerate the development, testing, and deployment of applications. For enterprises, PaaS can ensure that developers have ready access to resources, follow certain processes, and use only a specific array of services, while operators maintain the underlying infrastructure.
FaaS (Functions as a Service)
FaaS, the cloud version of Serverless computing, adds another layer of abstraction to PaaS, so that developers are completely insulated from everything in the stack below their code. Instead of futzing with virtual servers, containers, and application runtimes, they upload narrowly functional blocks of code, and set them to be triggered by a certain event (such as a form submission or uploaded file). All the major clouds offer FaaS on top of IaaS. A special benefit of FaaS applications is that they consume no IaaS resources until an event occurs, reducing pay-per-use fees.