What is cloud infrastructure?
Cloud infrastructure refers to the hardware and software components, such as servers, storage, networking, 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 programming interfaces and API-enabled command-line or graphical interfaces.
What is the role of cloud infrastructure in cloud computing?
Cloud infrastructure underpins cloud computing by disaggregating the functions and features of those hardware and software components. Then, a cloud service provider -- or information technology (IT) department in the case of private cloud -- hosts those virtualized resources and delivers them to users over the internet or a network. These resources include virtual machines (VMs) and components, such as servers, memory, network switches, firewalls, load balancers and storage. These resources often support extensive and task-specific services, such as artificial intelligence (AI) and machine learning.
What are the components of a cloud infrastructure?
In a cloud computing architecture, cloud infrastructure refers to the back-end technology elements found within most enterprise data centers -- servers, persistent storage and networking equipment -- but on a much greater scale. Some large cloud providers, including hyperscale cloud companies, such as Facebook and LinkedIn, form partnerships with vendors to design custom infrastructure components that are optimized for specific needs, such as power efficiency or workloads that include big data and AI.
This article is part of
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 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; often, these are multisocket and multicore servers.
Additionally, unlike most traditional data center infrastructures, cloud infrastructure typically uses locally attached storage -- both solid-state drives (SSDs) and hard disk drives (HDDs) -- instead of shared disk arrays on a storage area network. These persistent storage systems are aggregated using a distributed file system (DFS) designed for a particular storage scenario, such as object, big data or block. Decoupling the storage control and management from the physical infrastructure 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.
Cloud computing depends upon high-bandwidth connectivity to transmit data, so cloud infrastructure also includes typical equipment for local area networks, such as switches and routers, as well as virtual networking support and load balancing to distribute network traffic.
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 builds and owns the cloud infrastructure components and houses them within its own data center. This setup is a single-tenant environment, meaning the organization is the only one using the dedicated infrastructure and services. This architecture seeks the best of both worlds: versatility and convenience of cloud-delivered services, with the tighter control, management and security that come with data center ownership.
Organizations may choose a private cloud infrastructure because their computing needs are irregular and would be too costly to run in a public cloud model. They may require greater control or security over infrastructure assets, critical applications or sensitive data or must meet specific regulatory and governance requirements.
In a public cloud model, the cloud infrastructure components are owned by a third-party public cloud provider, and these resources are shared among customers in multi-tenant environments. Customers pay for services and capabilities based on core infrastructure resources -- central processing unit (CPU) cycles, storage, bandwidth, etc., as well as higher-level services -- but do not own or manage those underlying resources themselves. Cloud providers sell these services on demand, typically per minute or hour, often through long-term commitments.
A hybrid cloud consists of a mix of both models to form a single logical cloud for the user. A business can rely on a private cloud to run certain workloads or sensitive applications or host private sensitive data, while it runs other apps and data in a public cloud. Public cloud resources also can be tapped to handle bursts or spikes in demand to provide flexibility for private cloud use.
A related model is a multi-cloud model, in which an enterprise uses multiple cloud providers. This may be to run services concurrently for resiliency or migrate apps between providers.
What are the different types of cloud computing delivery models?
Cloud computing services are delivered in three models that reflect the levels of resources accessed and provided.
Infrastructure as a service
In an infrastructure as a service (IaaS) model, organizations consume cloud infrastructure components as resources and services over a dedicated internet connection. This typically carries recurring periodic costs to the user and enables 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, etc.
Cloud providers typically price IaaS on a metered basis, with rates corresponding to usage at a given level of performance. Examples include the following:
- increments of a standard virtual CPU size and corresponding memory;
- storage service type (object or block), performance level (SSD or HDD) and availability; and
- capacity 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. Customers also can achieve savings through reserved capacity, where they prepay for a guaranteed level of capacity for a month, year or multiple years.
Platform as a service
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, application development frameworks and automated deployment mechanisms. Customers' overall IT and business requirements should determine how far up and down the stack they rely upon a cloud provider's services.
Software as a service
A third type of cloud delivery model, software as a service (SaaS), does not directly involve customers using cloud infrastructure-based resources as they do with IaaS and PaaS models. With SaaS, a provider hosts and manages an application, typically set up as a multi-tenant architecture. Customers log in to use the service, typically through a browser. The customer's data used with the application can be stored locally, in the cloud or both.
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.
What are the requirements for building a cloud infrastructure?
Most organizations seeking a cloud computing model rely on a public cloud provider, which has vastly more resources and expertise to design, build and manage a cloud infrastructure. These providers acquire infrastructure components -- sometimes with design input -- and customers select levels of abstracted resources, such as compute, sized virtualized instances and storage. They also provide higher-level services for self-service, orchestration, integration, security, reporting and billing, to name a few.
However, some organizations may require their own private cloud and choose to be responsible for the full stack, from the hardware to management and the applications and workloads that run on it. For them, building a private cloud infrastructure on premises requires the following:
- a standardized architecture designed to share IT resources, provide scalability and elasticity for workloads, and ensure policy-based configurations and governance;
- on-premises hardware and software from which to abstract resource capabilities, such as compute, virtualization and containers, storage and networking; and
- additional management functions, such as integrations, orchestration, security, reporting and chargeback.
The specific tech stack for a private cloud depends upon the chosen provider. A business can build a private cloud using its preexisting hardware and vendor-provided software or choose a vendor to provide both the software and hardware components.
Alternatively, an enterprise can create a private cloud off premises using cloud providers' resources:
- In a hosted private cloud, a service provider hosts and manages cloud services for a single customer on dedicated infrastructure -- hardware, networking and software.
- A managed private cloud extends the hosted option, where the provider additionally manages other services, such as identity management.
- A virtual private cloud is a walled-off environment in a public cloud where workloads are isolated from other customers but still run on multi-tenant servers. An extension of this concept involves on-premises infrastructure that is controlled by the cloud provider; examples include AWS Outposts, Azure Stack and Google Anthos.
Advantages of using 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 capital expenditures 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 cloud security issues can be traced to user misconfigurations of individual services, rather than external bad actors.
Disadvantages of cloud infrastructure
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 Elastic Compute Cloud, Simple Storage Service 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 the following:
- 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 App Engine; and
- Primary serverless cloud services, including AWS Lambda, Azure Functions and Google Cloud Functions.
Other examples of cloud infrastructure automation include AWS CloudFormation, Azure Automation and Google Cloud Deployment Manager, as well as third-party options, including Chef Automate, Puppet Enterprise, Red Hat Ansible Automation Platform and VMware vRealize Automation.
Some third-party managed service providers similarly offer services through public cloud providers, such as Rackspace and DigitalOcean.