A public cloud is a fully virtualized environment that relies on high-bandwidth network connectivity to transmit data. Providers have a multi-tenant architecture that enables users - or tenants - to run workloads on shared infrastructure and use the same computing resources. A tenant's data in the public cloud is logically separated and remains isolated from the data of other tenants.
Providers operate cloud services in logically isolated locations within public cloud regions. These locations, called availability zones, typically consist of two or more connected, highly available physical data centers. Organizations select availability zones based on compliance and proximity to end users. Cloud resources can be replicated across multiple availability zones for redundancy and protection against outages.
Public cloud architecture can be further categorized by service model. These are the three most common service models:
- Infrastructure as a service (IaaS), in which a provider hosts infrastructure components, such as servers and storage, as well as a virtualization layer. The IaaS provider offers virtualized computing resources, such as VMs, over the internet or through dedicated connections.
- Platform as a service (PaaS), in which a provider delivers hardware and software tools -- usually those needed for application development, including operating systems -- to its users as a service.
- Software as a service (SaaS), in which a provider hosts applications and makes them available to customers over the internet.
The service model determines how much control the user has over certain aspects of the cloud. For example, in IaaS deployments, cloud customers create virtual machines, install operating systems and manage cloud networking configurations. But in PaaS and SaaS models, the cloud networking architecture is fully managed by the provider.
In addition to the three main service models, a function-as-a-service model further abstracts cloud infrastructure and resources. This is particularly useful for customers that create microservices. It is based on serverless computing, a mechanism that breaks workloads into small, event-driven resource components, and runs the code without the need to deliberately create and manage virtual machines. This enables organizations to execute code-based tasks on demand when trigged; the components exist only for as long as the assigned task runs. In this model, the provider handles the underlying server maintenance.
Organizations can also opt for a storage-as-a-service provider in the public cloud. The provider delivers a storage platform with offerings such bare-metal storage capacity, storage object and storage applications, such as backup and archiving.