Cloud infrastructure refers to the hardware and software components -- such as servers, storage, a network, virtualization software, services and management tools -- that support the computing requirements of a cloud computing model.
Cloud infrastructure also includes an abstraction layer that virtualizes and logically presents resources and services to users through application program interfaces and API-enabled command-line or graphical interfaces.Content Continues Below
In cloud computing, these virtualized resources are hosted by a service provider or IT department and are delivered to users over a network or the internet. These resources include virtual machines and components, such as servers, memory, network switches, firewalls, load balancers and storage.
Cloud infrastructure components
In a cloud computing architecture, cloud infrastructure refers to the back-end hardware elements found within most enterprise data centers, but on much greater scale. These include multisocket, multicore servers, persistent storage and local area network equipment, such as switches and routers.
Major public cloud providers, such as Amazon Web Services (AWS), Microsoft Azure and Google Cloud Platform, offer services based on shared, multi-tenant servers. This model requires massive compute capacity to handle both unpredictable changes in user demand and to optimally balance demand across fewer servers. As a result, cloud infrastructure typically consists of high-density systems with shared power.
Additionally, unlike most traditional data center infrastructures, cloud infrastructure typically uses locally attached storage, both solid-state drives (SSDs) and hard disk drive (HDDs), instead of shared disk arrays on a storage area network. The disks in each system are aggregated using a distributed file system designed for a particular storage scenario, such as object, big data or block. Decoupling the storage control and management from the physical implementation via a distributed file system simplifies scaling. It also helps cloud providers match capacity to users' workloads by incrementally adding compute nodes with the requisite number and type of local disks, rather than in large amounts via a large storage chassis.
Public vs. private vs. hybrid cloud architectures
Cloud infrastructure is present in each of the three main cloud computing deployment models: private cloud, public cloud and hybrid cloud. In a private cloud, an organization typically owns the cloud infrastructure components and houses them within its own data center. In a public cloud model, the cloud infrastructure components are owned by a third-party public cloud provider. A hybrid cloud consists of a mix of both models working together to form a single logical cloud for the user.
Cloud infrastructure as a service
While cloud infrastructure is the hardware and software components required for cloud computing, infrastructure as a service (IaaS) is the delivery model by which organizations can deliver those cloud infrastructure components, including compute, storage and networking, over a dedicated internet connection. Components, resources and services delivered from the cloud typically carry recurring periodic costs to the user, allowing providers to generate revenue through rental or other "pay as you go" models.
On top of those basic cloud infrastructure services, providers offer an array of more granular, specialized services. Examples include container infrastructure, service fabrics, serverless functions, and managed network services (virtual private clouds, load balancers, domain name services, application delivery controllers, firewalls).
Cloud providers typically price IaaS on a metered basis, with rates corresponding to usage at a given level of performance. For virtual servers, this means different prices for various server sizes, typically measured as an increment of a standard virtual CPU size and corresponding memory. For storage, pricing is typically based on the type of storage service, such as object or block, performance level (SSD or HDD) and availability -- a single storage location, or replication across multiple geographic regions. Capacity is measured by usage per unit time, typically per month.
IaaS vendors also provide discounts for sustained usage, or the use of a consistent level of compute capacity for a specified amount of time, or reserved capacity, where users can prepay for a guaranteed level of capacity for a month, year or multiple years.
In recent years, the lines have blurred between IaaS and platform-as-a-service (PaaS), which builds additional capabilities on top of those infrastructure resources. These include functions such as load balancing, autoscaling, and application development frameworks. Customers' overall IT and business requirements should determine whether it matters how far up and down the stack they rely upon an individual cloud provider's services.
IaaS vendors include AWS, Microsoft, Google, Alibaba and IBM.
Cloud infrastructure vs. cloud architecture
Cloud architecture refers to the blueprint for a cloud environment of components and services at massive scale, from which a provider offers a vast array of cloud services. These are delivered through isolated locations ("availability zones") each with multiple connected physical data centers.
Cloud infrastructure is the physical representation of those plans: hardware, operating systems and virtual resources that deliver services for compute, storage, networking and middleware, all integrated together. Public clouds provide the abstracted capabilities of these physical resources to provide them as services that can easily scale to match individual customers' workloads. This includes separating control and management of those physical resources, such as using locally attached storage rather than shared disk arrays.
Public cloud services are designed to support multiple thousands of unique customers through multi-tenancy, and their architecture and infrastructure must ensure sufficient performance, reliability and security of that infrastructure.
Benefits and disadvantages of cloud infrastructure
Using a cloud infrastructure presents several benefits for customers compared with procuring and managing in-house infrastructure. Of these benefits, cost and security are particular advantages for using a public cloud provider.
- Flexibility. Customers can procure resources that are rapidly accessible, and self-manage the resources to better-align to business needs. This is particularly valuable to burst on-premises workloads into the cloud to utilize extra resources.
- Reliability. Cloud providers' expansive infrastructure and redundancy options through availability zones deliver reliability at a scale beyond any single customer's in-house resources. Outages are rare but do occur, so customers should plan cloud usage based on their workloads' reliability and uptime requirements.
- Cost. Using cloud infrastructure eliminates upfront capital costs associated with on-premises infrastructure, and instead follows a consumption-based model. This pay-per-usage model charges users only for the infrastructure services they consume, generally on an hourly, weekly or monthly basis. Additionally, the large capex expense for on-premises infrastructure investments is converted to a smaller, recurring and predictable operational expense.
- Security. Initial concerns about the security of public cloud resources have diminished. Cloud providers constantly invest in and improve their abilities to protect their infrastructure from security threats. Most security issues with cloud workloads can be traced to user misconfigurations of individual services, rather than external bad actors.
At the same time, there are several challenges to consider when using a cloud infrastructure.
- Shared security. Although cloud providers are vigilant to secure their cloud infrastructure, it's exceedingly complex to oversee that scale of infrastructure and services. Moreover, the shared responsibility model means providers only secure their infrastructure -- customers are responsible for protecting their workloads and data through proper configuration, access controls and monitoring.
- Visibility and management. The virtualization layer of a cloud infrastructure generally means customers do not have visibility into the actual physical hardware upon which their workloads run. Public cloud providers do offer dedicated hardware and bare metal servers, which provide control over the entire server stack, and also typically higher performance, but at higher costs.
- Out-of-control costs. A pay-as-you-go model works for cloud customers as long as they closely allocate and monitor the services they use. Overprovisioning, inactive resources and failure to understand service dependencies all can quickly add up to unexpected cloud costs. Customers must diligently monitor and manage cloud use as they consume increasingly granular, complex and integrated cloud services.
Cloud infrastructure management processes and tools
There is a vast array of tools to provision and manage cloud infrastructure resources. Cloud platform providers offer numerous performance and pricing tiers for compute, storage, networking, monitoring, analytics, AI and machine learning and more. Examples of compute and storage services include AWS EC2, S3 and Glacier; Microsoft Azure VMs, Azure Files and Blob Storage; and Google Compute Engine, Filestore and Persistent Disk.
More granular cloud infrastructure services address container-based workloads and serverless functions. Options for container management include:
- Amazon Elastic Container Service, Amazon Elastic Kubernetes Service, Amazon Elastic Container Registry and AWS Fargate;
- Azure Kubernetes Service, Azure Container Registry and Azure Container Instances;
- Google Kubernetes Engine, Google Cloud Run and Google Compute Engine; and
- Primary serverless cloud services including AWS Lambda, Azure Functions and Google Cloud Functions.
Some third-party managed service providers similarly offer services through public cloud providers, such as RackSpace and Digital Ocean.