has transformed how organizations access and manage IT resources. It offers on-demand, scalable services that can be quickly provisioned and released with minimal effort. This model provides flexibility and cost-efficiency, allowing businesses to focus on their core competencies.

The National Institute of Standards and Technology (NIST) defines cloud computing through five essential characteristics: , , , , and . These features distinguish cloud computing from traditional IT models and drive its widespread adoption.

Cloud computing overview

  • Cloud computing revolutionized how computing resources are provisioned and consumed, shifting from traditional on-premises infrastructure to a more flexible, scalable, and cost-effective model
  • The National Institute of Standards and Technology (NIST) provides a widely accepted definition of cloud computing that outlines its essential characteristics, service models, and deployment models
  • Understanding the key aspects of cloud computing is crucial for organizations to make informed decisions when adopting and leveraging cloud technologies in their IT strategies

NIST definition of cloud computing

Top images from around the web for NIST definition of cloud computing
Top images from around the web for NIST definition of cloud computing
  • NIST defines cloud computing as a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (networks, servers, storage, applications, and services)
  • These resources can be rapidly provisioned and released with minimal management effort or service provider interaction
  • The NIST definition emphasizes the essential characteristics that distinguish cloud computing from traditional computing models

Essential characteristics of cloud computing

  • On-demand self-service: Users can provision computing resources automatically without requiring human interaction with the service provider
  • Broad network access: Services are accessible over the network using standard mechanisms, supporting heterogeneous client platforms
  • Resource pooling: Provider's computing resources are pooled to serve multiple consumers, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand
  • Rapid elasticity: Capabilities can be rapidly and elastically provisioned, giving the appearance of unlimited resources available for scaling
  • Measured service: Resource usage is automatically controlled, optimized, and reported, providing transparency for both the provider and consumer

On-demand self-service

  • Cloud computing enables users to provision computing resources, such as virtual machines, storage, and applications, automatically without the need for human interaction with the service provider
  • Users can access a self-service portal or API to request and manage resources on-demand, eliminating the need for manual provisioning processes

Provisioning computing resources automatically

  • On-demand self-service allows users to instantly provision the required computing resources through automated processes
  • Users can specify the desired configuration, such as the number and type of virtual machines, storage capacity, and network settings
  • The cloud platform automatically allocates and configures the requested resources, making them available for immediate use

Eliminating need for human interaction

  • Traditional IT provisioning often involves manual processes and approvals, leading to delays and inefficiencies
  • On-demand self-service eliminates the need for users to interact with IT staff or raise service requests for resource provisioning
  • Users have the autonomy to provision resources as needed, reducing the time and effort required to obtain the necessary computing resources

Broad network access

  • Cloud computing services are designed to be accessed over the network using standard protocols and mechanisms
  • Users can access cloud services from various devices and locations, as long as they have network connectivity

Accessing services over the network

  • Cloud services are accessible through the internet or dedicated network connections, allowing users to connect from anywhere
  • Users can access cloud services using web browsers, APIs, or client applications, depending on the service and user preferences
  • Network access enables users to leverage cloud resources remotely, without the need for physical proximity to the infrastructure

Support for heterogeneous client platforms

  • Cloud services are designed to support a wide range of client platforms, including desktops, laptops, tablets, and smartphones
  • Users can access cloud services using different operating systems (Windows, macOS, Linux) and device types
  • Cloud providers offer client libraries, SDKs, and APIs that enable developers to build applications that integrate with cloud services across various platforms

Resource pooling

  • Cloud providers pool their computing resources, such as servers, storage, and network, to serve multiple consumers simultaneously
  • Resources are dynamically assigned and reassigned based on consumer demand, optimizing utilization and efficiency

Serving multiple consumers from pooled resources

  • Cloud providers maintain a large pool of computing resources that can be shared among multiple consumers or tenants
  • Each consumer is allocated a portion of the pooled resources based on their requirements and service level agreements (SLAs)
  • Resource pooling enables cloud providers to achieve economies of scale and efficiently manage their infrastructure

Dynamic resource assignment and reassignment

  • Cloud platforms dynamically assign resources to consumers based on their workload demands and usage patterns
  • Resources can be reassigned from one consumer to another as needed, ensuring optimal utilization and performance
  • Dynamic resource assignment allows cloud providers to accommodate fluctuating workloads and scale resources up or down based on consumer requirements

Rapid elasticity

  • Cloud computing enables the rapid scaling of resources, both vertically (increasing the capacity of individual resources) and horizontally (adding more instances of resources)
  • Resources can be quickly provisioned and released to match the changing demands of applications and workloads

Quickly scaling resources up and down

  • Cloud platforms provide mechanisms to rapidly scale resources based on workload requirements
  • Users can easily increase or decrease the number of virtual machines, storage capacity, or network bandwidth as needed
  • Scaling can be automated based on predefined rules or triggered manually by users or administrators

Appearance of unlimited resource availability

  • Cloud computing gives the impression of having unlimited resources available for scaling
  • While resources are not truly unlimited, cloud providers maintain large resource pools and can dynamically allocate additional resources as needed
  • The ability to quickly scale resources creates a sense of on-demand availability and reduces the need for upfront capacity planning

Measured service

  • Cloud computing provides automatic control and optimization of resources through metering and monitoring capabilities
  • Resource usage is transparently monitored, controlled, and reported, enabling both the provider and consumer to have visibility into the consumed services

Automatic control and optimization of resources

  • Cloud platforms automatically control and optimize resource allocation based on the measured usage and performance metrics
  • Resources are dynamically adjusted to ensure optimal performance and cost-efficiency
  • Automatic control mechanisms help prevent over-provisioning or under-utilization of resources

Usage monitoring and reporting for transparency

  • Cloud providers monitor and track resource usage at a granular level, capturing metrics such as CPU utilization, storage consumption, and network traffic
  • Detailed usage reports and analytics are provided to consumers, enabling them to understand their resource consumption patterns and costs
  • Transparency in usage monitoring and reporting helps consumers make informed decisions about resource allocation and cost optimization

Service models

  • Cloud computing offers different service models that define the level of control and responsibility shared between the provider and consumer
  • The three main service models are , , and

Infrastructure as a Service (IaaS)

  • IaaS provides consumers with fundamental computing resources, such as virtual machines, storage, and networks
  • Consumers have control over the operating systems, storage, and deployed applications, while the provider manages the underlying infrastructure
  • Examples of IaaS include Amazon Web Services (AWS) EC2, Microsoft Azure Virtual Machines, and Google Compute Engine

Platform as a Service (PaaS)

  • PaaS provides consumers with a platform to develop, run, and manage applications without the complexity of building and maintaining the underlying infrastructure
  • Consumers have control over the deployed applications and possibly the hosting environment configurations
  • Examples of PaaS include AWS Elastic Beanstalk, Microsoft Azure App Service, and Google App Engine

Software as a Service (SaaS)

  • SaaS provides consumers with access to software applications running on a cloud infrastructure, accessible through a web browser or API
  • The provider manages the entire application stack, including the underlying infrastructure, middleware, and software
  • Examples of SaaS include Salesforce, Microsoft Office 365, and Google Workspace

Deployment models

  • Cloud computing offers different deployment models that determine the ownership, control, and accessibility of the cloud infrastructure
  • The four main deployment models are public, private, community, and hybrid clouds

Public vs private clouds

  • Public clouds are owned and operated by third-party service providers, making resources available to the general public over the internet
  • Private clouds are dedicated to a single organization, either managed internally or by a third-party provider, offering greater control and security
  • Public clouds offer scalability and cost-efficiency, while private clouds prioritize data sovereignty and customization

Community vs hybrid clouds

  • Community clouds are shared among several organizations with common concerns, such as security, compliance, or jurisdiction
  • Hybrid clouds combine two or more distinct cloud infrastructures (public, private, or community) that remain unique entities but are bound together
  • Community clouds enable collaboration and resource sharing among organizations with similar requirements
  • Hybrid clouds allow organizations to leverage the benefits of both public and private clouds, enabling workload portability and flexibility

Key Terms to Review (24)

Broad network access: Broad network access refers to the ability to access cloud services and resources over the internet from various devices such as laptops, smartphones, and tablets. This characteristic enhances user flexibility and promotes a seamless experience as individuals can connect to cloud-based applications and data from virtually anywhere, using any device with an internet connection. It plays a vital role in enabling remote work and collaboration, making information and services available at users' fingertips.
Cloud Architecture: Cloud architecture refers to the design and structure of cloud computing systems, including the components and relationships that allow for efficient service delivery. It encompasses the cloud's physical infrastructure, software applications, and the processes that manage these resources, ensuring scalability, reliability, and security. This architecture is crucial for leveraging cloud computing's benefits, such as on-demand resource availability and cost-effectiveness.
Cloud computing: Cloud computing is the delivery of various services over the internet, allowing users to access and store data on remote servers instead of local devices. This technology provides on-demand access to a shared pool of configurable computing resources, enabling flexibility and scalability for users. By leveraging virtualization and distributed computing, cloud computing facilitates efficient data processing and analytics, particularly in the context of edge-to-cloud environments where data is processed closer to the source for improved performance.
Community Cloud: A community cloud is a cloud computing environment that is shared by multiple organizations with similar interests, such as security requirements or compliance standards. This type of cloud is designed to meet the specific needs of the participating organizations, allowing them to share resources while benefiting from increased collaboration and reduced costs. Community clouds foster a sense of partnership among users, allowing them to share best practices and tailor the cloud infrastructure to fit their unique requirements.
Data encryption: Data encryption is the process of converting plaintext information into a coded format that can only be read by someone who has the appropriate decryption key. This technique is crucial in securing sensitive data, especially when it is stored or transmitted over networks, making it an essential aspect of cloud computing.
Horizontal scaling: Horizontal scaling, also known as scaling out, is the process of adding more machines or resources to a system to handle increased load or demand. This approach allows for distributing workloads across multiple servers, which enhances performance and ensures availability, making it a crucial aspect in the design and management of cloud environments.
Hybrid Cloud: A hybrid cloud is a cloud computing environment that combines both public and private cloud infrastructures, allowing data and applications to be shared between them. This model provides greater flexibility, scalability, and control over resources while enabling organizations to keep sensitive data secure in a private cloud while leveraging the vast resources of public clouds for less sensitive operations.
Identity and Access Management: Identity and Access Management (IAM) is a framework of policies and technologies that ensures the right individuals access the right resources at the right times for the right reasons. IAM is crucial in establishing user identities, controlling access to sensitive data, and maintaining security across cloud environments, which plays a significant role in defining cloud computing characteristics, protecting data privacy, ensuring compliance with governance policies, and managing permissions within Function-as-a-Service platforms.
Infrastructure as a Service (IaaS): Infrastructure as a Service (IaaS) is a cloud computing service model that provides virtualized computing resources over the internet, allowing users to access and manage servers, storage, and networking without the need for physical hardware. This model offers flexibility and scalability, enabling organizations to adjust resources according to demand, making it an essential part of cloud computing's capabilities.
ISO/IEC 27001: ISO/IEC 27001 is an international standard that outlines the requirements for establishing, implementing, maintaining, and continuously improving an information security management system (ISMS). This standard helps organizations manage the security of their information assets and is crucial for protecting sensitive data in various environments, including cloud computing. It emphasizes risk management and controls that are essential for achieving compliance, maintaining trust, and ensuring security in dynamic digital landscapes.
Latency: Latency refers to the delay before data begins to transfer after a request is made. In the cloud computing realm, it’s crucial because it directly affects performance, user experience, and overall system responsiveness, impacting everything from service models to application performance.
Load Balancing: Load balancing is the process of distributing network or application traffic across multiple servers to ensure no single server becomes overwhelmed, enhancing reliability and performance. It plays a crucial role in optimizing resource utilization, ensuring high availability, and improving the user experience in cloud computing environments.
Measured Service: Measured service refers to the ability to monitor and control cloud computing resources, allowing for precise billing based on actual usage. This characteristic of cloud computing ensures that users pay only for what they consume, promoting efficiency and flexibility. It is essential for both providers and consumers, as it allows for better resource management and cost control while enabling customers to scale services according to their needs.
NIST Cloud Computing Standards: The NIST Cloud Computing Standards are a set of guidelines and best practices established by the National Institute of Standards and Technology to provide a framework for cloud computing systems. These standards help ensure the interoperability, security, and efficiency of cloud services, enabling organizations to effectively deploy and manage cloud-based solutions. By defining essential characteristics and key components of cloud computing, these standards contribute to a better understanding and adoption of cloud technologies across various sectors.
On-demand self-service: On-demand self-service refers to the ability of users to automatically provision computing resources, such as servers or storage, without requiring human interaction with the service provider. This characteristic allows users to quickly and efficiently access resources as needed, enhancing flexibility and efficiency. It aligns with the overall goal of cloud computing to provide scalable and convenient access to IT resources tailored to individual user requirements.
Platform as a Service (PaaS): Platform as a Service (PaaS) is a cloud computing model that provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure. PaaS simplifies the process of application development by offering built-in software components, development tools, and database management, allowing developers to focus on coding and deployment rather than hardware management.
Private cloud: A private cloud is a cloud computing environment exclusively used by a single organization, offering enhanced control, security, and customization compared to public clouds. It allows organizations to host their applications and data on dedicated resources, ensuring that sensitive information remains protected while still benefiting from cloud capabilities.
Public Cloud: A public cloud is a computing model where services and resources are made available to the general public over the internet by a third-party provider. This model allows multiple customers to share the same infrastructure, offering scalability and flexibility for businesses without the need for significant capital investment in hardware or software.
Rapid Elasticity: Rapid elasticity refers to the ability of cloud computing resources to automatically scale up or down based on demand. This characteristic ensures that users can quickly provision and de-provision resources, which enhances efficiency and cost-effectiveness in resource management. It ties into key features such as on-demand self-service and resource pooling, allowing organizations to respond dynamically to varying workloads without manual intervention.
Resource Pooling: Resource pooling refers to the ability of cloud computing providers to combine their resources, such as storage, processing power, and network bandwidth, to serve multiple customers efficiently. This model allows providers to dynamically allocate resources based on demand, enabling them to optimize resource utilization and reduce costs while offering scalability and flexibility to users. It creates a shared resource environment where multiple clients can access a variety of services without needing dedicated physical resources.
Software as a Service (SaaS): Software as a Service (SaaS) is a cloud computing model that delivers software applications over the internet, allowing users to access and use the software without needing to install or manage it on local devices. This model offers users flexibility, scalability, and convenience by providing automatic updates and maintenance through the service provider. SaaS connects to various aspects of cloud computing, including definitions and characteristics, different service models, benefits and challenges, data management, shared responsibilities, and cloud-native design principles.
Throughput: Throughput refers to the rate at which data is successfully processed or transmitted over a system, often measured in units such as requests per second or bits per second. It's a critical performance metric that indicates how efficiently resources are utilized in various computing environments, influencing overall system performance and user experience.
Vertical Scaling: Vertical scaling, also known as 'scaling up', refers to the process of adding more resources, such as CPU, RAM, or storage, to an existing server or system to enhance its performance. This approach is essential in cloud computing as it allows applications to handle increased loads without the need for complex architecture changes, thus ensuring a seamless user experience and maintaining high availability.
Virtualization: Virtualization is the process of creating a virtual version of a physical resource, such as a server, storage device, or network, allowing multiple instances to operate independently on the same hardware. This technology optimizes resource utilization and enables the efficient delivery of services in cloud computing, enhancing scalability and flexibility while reducing costs and physical space requirements.
© 2024 Fiveable Inc. All rights reserved.
AP® and SAT® are trademarks registered by the College Board, which is not affiliated with, and does not endorse this website.