Unit 2 Cloud Computing Reference Model
Unit 2 Cloud Computing Reference Model
The Cloud Computing Reference Model (CCRM) serves as a foundational framework for comprehending
the intricacies of cloud computing ecosystems. Its conceptual lens elucidates the dynamic interplay
between various components and their relationships within cloud environments. While diverse
interpretations and iterations exist, the National Institute of Standards and Technology's (NIST) Cloud
Computing Reference Architecture is widely recognized for its comprehensive depiction.
At its core, the CCRM delineates essential aspects such as service models, deployment paradigms,
architectural elements, interfaces, security frameworks, management methodologies, and
interoperability standards. Service models, encompassing Infrastructure as a Service (IaaS), Platform as a
Service (PaaS), Software as a Service (SaaS), and Function as a Service (FaaS), delineate the spectrum of
cloud offerings. Deployment models, including Public, Private, Hybrid, and Community Clouds, illuminate
the diverse infrastructural configurations.
Additionally, the CCRM underscores the criticality of interfaces, security protocols, and compliance
measures in fostering secure and compliant cloud environments. Moreover, it accentuates the
significance of effective management, monitoring, integration, and interoperability for seamless cloud
operations. By synthesizing these multifaceted components, the CCRM facilitates a holistic understanding
of cloud computing landscapes, empowering stakeholders to navigate and harness the transformative
potential of cloud technologies effectively.
The Cloud Computing reference model is divided into 3 major service models:
1. Software as a Service (SaaS)
2. Platform as a Service (PaaS)
3. Infrastructure as a Service (IaaS)
Saas
Software as a Service (SaaS) is a cloud computing model where software applications are hosted and
provided to users over the internet on a subscription basis. SaaS eliminates the need for users to install,
manage, and maintain software locally, as everything is managed by the service provider. Users access the
software through a web browser or API, enabling them to use the application from any device with
internet connectivity.
SaaS offerings range from productivity tools like email and office suites to specialised business applications
like customer relationship management (CRM) and enterprise resource planning (ERP) systems. SaaS
provides scalability, flexibility, and cost-effectiveness, as users only pay for the features and resources they
need, with the service provider handling software updates, maintenance, security, and infrastructure
management.
Features
• Accessibility: SaaS applications provide unparalleled accessibility, enabling users to access them
from anywhere with an internet connection. This accessibility fosters remote work and flexibility,
allowing users to collaborate and perform tasks on the go using various devices such as laptops,
tablets, or smartphones. Users can conveniently access their SaaS applications whether they are
in the office, at home, or traveling, enhancing productivity and responsiveness to business
needs.SaaS applications are accessible over the internet, allowing users to access them from
anywhere, anytime, using any device with an internet connection, fostering remote work and
flexibility.
• Scalability: SaaS offerings are designed to be inherently scalable, allowing users to effortlessly
adjust their usage and subscription plans in response to changing business requirements. Users
can quickly scale up to accommodate increased demand or scale down during periods of reduced
usage without significant upfront investment or infrastructure changes. This scalability ensures
businesses can efficiently manage their resources and costs, adapting to evolving market
conditions and growth opportunities with agility and cost-effectiveness.
• Automatic Updates: SaaS providers relieve users of the burden of managing software updates and
upgrades by handling these tasks themselves. This ensures users can access the latest features,
improvements, and security patches without manual intervention. Automatic updates are
seamlessly integrated into the SaaS platform, minimising user workflow disruptions and
eliminating the risk of running outdated software. By staying up-to-date with the latest software
versions, users can benefit from enhanced functionality, improved performance, and
strengthened security measures, ultimately contributing to a more efficient and secure computing
environment.
• Cost-effectiveness: SaaS operates on a subscription-based pricing model, where users pay a
recurring fee typically based on usage or the number of users. This pay-as-you-go approach
eliminates the need for upfront software licensing fees and significantly reduces the total cost of
ownership compared to traditional software deployment models. Businesses can accurately
forecast and budget their expenses, as subscription fees are predictable and often scale with
usage.
Paas
Platform as a Service (PaaS) is a cloud computing model that provides developers with a platform and
environment to build, deploy, and manage applications without dealing with the underlying infrastructure
complexities. PaaS offerings typically include tools, development frameworks, databases, middleware,
and other resources necessary for application development and deployment.
Developers can focus on writing and improving their code while the PaaS provider handles infrastructure
management, scalability, and maintenance tasks. PaaS streamlines the development process, accelerates
time-to-market, and reduces infrastructure management overhead.
Features
• Development Tools: PaaS platforms offer a wide array of development tools, including integrated
development environments (IDEs), code editors, and debugging utilities, to facilitate efficient
application development. PaaS platforms offer development tools like IDEs, code editors, and
debugging utilities, streamlining the application development process. These tools provide
developers a cohesive environment for coding, testing, and debugging applications, enhancing
productivity and code quality.
• Deployment Automation: PaaS automates the deployment process, allowing developers to
deploy applications quickly and efficiently, reducing deployment errors and speeding up the
release cycle. PaaS automates the deployment process, enabling rapid and error-free deployment
of applications. By automating provisioning, configuration, and deployment tasks, PaaS reduces
manual intervention, minimises deployment errors, and accelerates the release cycle, ensuring
faster time-to-market for applications.
• Scalability: PaaS platforms provide scalable infrastructure resources, enabling applications to scale
up dynamically or down based on demand, ensuring optimal performance and resource
utilisation. PaaS platforms offer scalable infrastructure resources, allowing applications to adjust
resource allocation based on demand dynamically. This elasticity ensures optimal performance,
resource utilisation, and cost efficiency, enabling applications to handle varying workloads
seamlessly without downtime or performance degradation.
• Middleware and Services: PaaS offerings include middleware components and pre-built services,
such as databases, messaging queues, and authentication services, which developers can leverage
to enhance their applications' functionality without building these components from scratch. PaaS
offerings include middleware components and pre-built services like databases, messaging
queues, and authentication services. These services simplify application development by providing
ready-to-use components, reducing development time and effort while enhancing application
functionality and scalability.
Lass
LaaS (Linguistic as a Service) is a specialised service model within the field of natural language processing
(NLP) and artificial intelligence (AI). It provides on-demand access to linguistic functionalities and
capabilities through cloud-based APIs (Application Programming Interfaces). LaaS enables developers and
businesses to integrate advanced language processing features into their applications without the need
for extensive expertise in NLP or AI.
Infrastructure as a Service (IaaS) offers users virtualised computing resources over the internet. Users
control operating systems, storage, and networking, but the cloud provider manages the infrastructure,
including servers, virtualisation, and networking components. This model grants flexibility and scalability
without the burden of maintaining physical hardware.
Features
• Language Understanding: LaaS platforms offer robust capabilities for understanding and
interpreting human language, including tasks such as sentiment analysis, entity recognition, intent
detection, and language translation. These features enable applications to extract meaningful
insights from textual data and facilitate interaction with users in multiple languages.LaaS platforms
excel in comprehending human language, offering tasks like sentiment analysis, entity recognition,
intent detection, and language translation.
• Text Analysis and Processing: LaaS services provide tools for analysing and processing text, such
as tokenisation, part-of-speech tagging, syntactic parsing, and named entity recognition. These
functionalities help extract structured information from unstructured text data, enabling
applications to perform tasks like information retrieval, content categorisation, and text
summarization. LaaS services provide tools for dissecting and manipulating text, including
tokenisation, part-of-speech tagging, syntactic parsing, and named entity recognition.
• Speech Recognition and Synthesis: Many LaaS platforms offer speech recognition and synthesis
capabilities, allowing applications to transcribe spoken language into text and generate human-
like speech from textual input. These features are essential for building voice-enabled applications,
virtual assistants, and speech-to-text systems.LaaS platforms furnish speech recognition and
synthesis functionalities, enabling applications to transcribe spoken language into text and
generate natural-sounding speech from textual inputs.
• Customisation and Integration: LaaS platforms often provide tools and APIs for customising and
integrating linguistic functionalities into existing applications and workflows. Developers can tailor
the behaviour of language processing models to suit specific use cases and integrate them
seamlessly with other software components and services.LaaS platforms furnish speech
recognition and synthesis functionalities, enabling applications to transcribe spoken language into
text and generate natural-sounding speech from textual inputs.
Deployment Models
These models describe how cloud services are deployed and who has access to them. Standard
deployment models include Public Cloud, Private Cloud, Hybrid Cloud, and Community Cloud, each with
ownership, control, and resource-sharing characteristics.
Each deployment model has its advantages and considerations, and organisations may choose to adopt
one or a combination of models based on security requirements, compliance considerations, performance
needs, budget constraints, and strategic objectives. Ultimately, the goal is to select the deployment model
that best aligns with the organisation's goals and requirements while maximising the benefits of cloud
computing.
On-Premises Deployment
In this model, software applications are installed and run on computers and servers located within the
premises of an organisation. The organisation is responsible for managing and maintaining all aspects of
the infrastructure, including hardware, software, security, and backups.
Software applications are installed and run on servers within the organisation's premises. The organisation
manages all aspects of the infrastructure, including hardware, software, security, and backups.
Cloud Deployment
Cloud deployment involves hosting software applications and services on remote servers maintained by
third-party cloud service providers such as Amazon Web Services (AWS), Microsoft Azure, or Google Cloud
Platform. Users access these applications and services over the Internet. Cloud deployment offers
scalability, flexibility, and cost-effectiveness, as organisations can pay only for the resources they use.
Software applications and services are hosted on remote servers maintained by third-party cloud service
providers. Users access these resources over the internet. Cloud deployment offers scalability, flexibility,
and cost-effectiveness as organisations pay only for the resources they use.
Hybrid Deployment
Hybrid deployment combines elements of both on-premises and cloud deployment models.
Organisations may choose to host some applications and services on-premises while utilising cloud
services for others. This approach allows organisations to leverage the benefits of both deployment
models, such as maintaining sensitive data on-premises while taking advantage of cloud scalability for
other workloads.
Software applications and services are hosted on remote servers maintained by third-party cloud service
providers. Users access these resources over the internet. Cloud deployment offers scalability, flexibility,
and cost-effectiveness as organisations pay only for the resources they use.
Multi-Cloud Deployment
Multi-cloud deployment involves using services from multiple cloud providers to meet specific business
needs. Organisations may choose this approach to avoid vendor lock-in, mitigate risk, or take advantage
of specialised services offered by different providers. Organisations use services from multiple cloud
providers to meet specific business needs.
This approach helps avoid vendor lock-in, mitigate risk, or take advantage of specialised services offered
by different providers. These deployment models provide organisations with options to choose the most
suitable infrastructure and delivery method based on their specific requirements, budget, and technical
capabilities.
Functional Components
Functional components are essential for effectively managing and utilising cloud resources in cloud
computing. Computing includes virtual machines or containers for processing and executing applications.
Storage encompasses scalable object or block storage solutions for data management.
Networking provides virtualised networks and connectivity between resources. Security includes
measures like firewalls and encryption to protect data and applications. Management ensures efficient
resource allocation, monitoring, and administration. Orchestration automates deployment, scaling, and
management processes for improved operational efficiency.
Computing component
Computing in cloud computing refers to the fundamental capability of provisioning and managing virtual
machines (VMs) or containers to execute applications. Virtual Machines (VMs) emulate physical
computers and support various operating systems (OS).
They are versatile, allowing applications with diverse OS requirements to run within isolated
environments. On the other hand, containers encapsulate applications and their dependencies into
portable units, ensuring consistency across different com
Storage component
Storage solutions in cloud computing offer scalable options for storing and managing data. Object storage
systems store data as objects, each comprising the data itself, metadata (descriptive attributes), and a
unique identifier.
This approach is highly scalable and ideal for unstructured data like media files and backups. Block storage,
in contrast, manages data in fixed-sized blocks and is commonly used for structured data such as
databases and VM disks. It provides high performance and is typically directly attached to VM instances
for persistent storage needs.
Networking component
Networking components in cloud computing facilitate the establishment and management of virtualized
networks that interconnect cloud resources. Virtual Private Clouds (VPCs) offer isolated virtual networks
dedicated to specific users or groups, ensuring security and control over network configurations.
Subnets segment the IP address space within a VPC, enabling further granularity and security. Routing
tables dictate how traffic flows between subnets and external networks, optimizing network efficiency
and security.
Security component
Security measures in cloud computing protect data, applications, and infrastructure from unauthorized
access and cyber threats. Firewalls regulate incoming and outgoing network traffic based on predefined
security rules, guarding against unauthorized access and network-based attacks.
Encryption transforms data into a secure format using algorithms, ensuring only authorized parties can
decrypt and access the original data with appropriate keys. Access controls enforce restrictions on
resource access based on authentication credentials, roles, and permissions, adhering to the principle of
least privilege to mitigate security risks.
Management component
Management in cloud computing encompasses tools and processes for efficiently administering cloud
resources throughout their lifecycle. Resource provisioning automates the allocation and deployment of
cloud resources based on demand and workload requirements, ensuring scalability and cost-efficiency.
Performance monitoring continuously tracks resource usage, application performance, and service
availability to detect issues and optimize resource utilization.
Usage optimization analyzes consumption patterns to minimize costs and improve efficiency by
dynamically scaling resources based on workload fluctuations. Compliance management ensures
adherence to regulatory requirements and SLAs, maintaining data protection and service availability
standards.
Orchestration component
Orchestration automates and coordinates the deployment, scaling, and management of cloud resources
and applications. It facilitates automated deployment of resources, reducing manual intervention and
minimizing errors in provisioning and configuration tasks. Scaling capabilities dynamically adjust resource
capacity based on workload changes, optimizing performance and cost-effectiveness.
Management processes streamline complex workflows across different cloud components, ensuring
consistency and reliability in operations. Tools like Kubernetes and Terraform are commonly used for
orchestration, enabling efficient management of containerized applications and infrastructure as code
(IaC) practices. puting environments. Containers are lightweight and facilitate efficient deployment and
scaling of applications, sharing the host OS kernel for resource efficiency.
Data Formats
Standardize how information is structured and exchanged across various systems and services. Standard
data formats like JSON (JavaScript Object Notation) or XML (eXtensible Markup Language) define how
data is formatted and interpreted, facilitating interoperability between different applications and
platforms.
Data formats like JSON and XML standardize how information is structured and exchanged between
systems and services. They define rules for encoding data, facilitating interoperability and enabling
different applications and platforms to interpret and process data consistently and accurately.
Cloud computing reference models provide a structured framework for understanding the components,
layers, and interactions within a cloud computing environment.
While there isn't a standardized classification of "types" of cloud computing reference models, one widely
recognized reference model is the NIST (National Institute of Standards and Technology) Cloud Computing
Reference Architecture. Here's an overview of the NIST Cloud Computing Reference Architecture.
Cloud Service Consumer
This represents the entity or user who consumes cloud services. An individual, organization, or application
that accesses and utilizes cloud resources. The cloud service consumer, whether an individual,
organization, or application, is the end-user entity that leverages cloud services provided by cloud service
providers. Consumers access and utilize various cloud resources, including computing power, storage, and
applications, to fulfil their needs and requirements.
These resources are accessed online, providing flexibility, scalability, and accessibility from anywhere. The
cloud service consumer plays a pivotal role in driving the adoption and utilization of cloud computing
technologies, enabling organizations and individuals to leverage the benefits of on-demand computing
resources and services.
Example
A cloud service consumer could be a small business owner who utilizes cloud-based productivity tools
such as Google Workspace or Microsoft 365 for email, document collaboration, and scheduling. In this
scenario, the small business owner, acting as the cloud service consumer, accesses and utilizes these cloud
services to streamline business operations, enhance collaboration with employees, and improve overall
productivity.
The business owner can access these services from any device with an internet connection, allowing for
flexibility and accessibility while eliminating the need for managing on-premises infrastructure.
Cloud Service
A cloud service is an offering made available to cloud service consumers, which could be in the form of
infrastructure (IaaS), platforms (PaaS), or applications (SaaS). Cloud services represent a pivotal aspect of
modern computing, offering a broad array of solutions and resources accessible over the internet through
cloud service providers (CSPs). These services include Infrastructure as a Service (IaaS), Platform as a
Service (PaaS), and Software as a Service (SaaS), each catering to different needs and levels of abstraction.
IaaS provides virtualized computing resources, PaaS offers application development and deployment
platforms, and SaaS delivers ready-to-use software applications. Cloud services empower organizations
and individuals to leverage computing resources, applications, and data storage on-demand, facilitating
scalability, flexibility, and cost-effectiveness without the burden of managing physical infrastructure.
Example
A cloud service is Microsoft Office 365, which offers a suite of productivity tools hosted on Microsoft's
cloud infrastructure, including Word, Excel, PowerPoint, Outlook, and more. With Office 365, users can
access these applications from any device with an internet connection without installing or maintaining
software locally.
They can collaborate in real time on documents, store files securely in the cloud, and benefit from
automatic updates and backups. This cloud service provides organisations scalability, flexibility, and cost-
effectiveness, allowing them to streamline productivity and collaboration while reducing the overhead of
managing on-premises software and infrastructure.
Cloud Consumer
Cloud consumers, comprising individuals and organizations, leverage cloud services to fulfill various
computing needs without the burden of maintaining on-premises infrastructure. These consumers
interact directly with cloud providers to access and utilize a wide array of resources delivered over the
Internet, including computing power, storage, and software applications.
By adopting cloud solutions, consumers benefit from the scalability, flexibility, and cost-effectiveness of
pay-as-you-go models, enabling them to scale resources up or down based on demand and only pay for
what they use. Additionally, cloud services facilitate remote access to data and applications from
anywhere with an internet connection, promoting user collaboration and productivity.
Cloud Provider
Cloud providers serve as the backbone of the cloud computing ecosystem, offering a range of
infrastructure and services to support the diverse needs of cloud consumers. These entities encompass
public cloud vendors, private cloud operators, and hybrid cloud environments, delivering computing
resources, storage, and networking capabilities via data centres located worldwide.
Cloud providers manage and maintain the underlying hardware and software infrastructure, ensuring
cloud services' availability, reliability, and security. They also invest heavily in innovation, continually
expanding their service offerings and enhancing performance to meet evolving consumer demands.
Cloud Auditor
Cloud auditors play a critical role in ensuring the security and compliance of cloud environments. As
independent entities, they assess and evaluate the security posture of cloud providers, conducting
thorough examinations to verify adherence to industry standards and best practices.
Through assessments, audits, and certifications, cloud auditors offer assurance to consumers regarding
the security and trustworthiness of cloud services. By validating compliance with regulations such as
GDPR, HIPAA, or SOC 2, they help organizations make informed decisions when selecting cloud providers
and mitigate risks associated with data breaches or regulatory non-compliance.
Cloud Broker
Operating as intermediaries between cloud consumers and providers, cloud brokers facilitate the
selecting and procuring of cloud services. They assist consumers in navigating the complex landscape of
cloud offerings, identifying the most suitable solutions based on their requirements and budget
constraints.
Additionally, cloud brokers negotiate contracts with providers to secure favourable terms and pricing for
consumers. Beyond procurement, they offer value-added services such as integration, migration, and
management of cloud resources, streamlining the adoption process and optimizing consumers' cloud
investments.
Cloud Carrier
Cloud carriers are the backbone of cloud connectivity, transporting data and traffic between cloud
consumers and providers. These network and telecommunications providers ensure network
connections' reliability, availability, and performance, facilitating seamless access to cloud services.
By optimizing network infrastructure and leveraging advanced technologies, cloud carriers enhance data
transfer efficiency across distributed cloud environments, minimizing latency and downtime. Additionally,
they offer value-added services such as network security and traffic optimization to safeguard data
integrity and enhance user experience.
Cloud Consumer
Beyond just utilizing cloud services, cloud consumers play a pivotal role in shaping the demand for various
cloud offerings.
They are responsible for defining requirements, selecting appropriate services, and driving innovation by
adopting new technologies. Cloud consumers also influence the development of cloud solutions through
feedback and market demand, ultimately shaping the evolution of cloud computing.
Cloud Provider
In addition to offering cloud services and infrastructure, cloud providers are tasked with ensuring the
security, reliability, and performance of their offerings.
They invest in data centre infrastructure, network connectivity, and cybersecurity measures to deliver
high-quality services that meet the diverse needs of cloud consumers. Cloud providers also play a crucial
role in supporting regulatory compliance and industry standards, fostering consumer trust and
confidence.
Cloud Service
Cloud services encompass a wide range of offerings, each catering to specific use cases and requirements.
These services are designed to be scalable, flexible, and cost-effective, enabling consumers to leverage
computing resources on demand without upfront investments in hardware or software.
Cloud services promote agility and innovation by providing access to cutting-edge technologies and
enabling rapid deployment of applications and services.
Cloud Resource
Cloud resources are dynamic and scalable within cloud environments, allowing consumers to adjust
resource allocations based on changing demands.
Cloud providers provision and manage these resources, optimize infrastructure utilization and ensure
efficient resource allocation to meet consumer requirements. Cloud resources include virtual machines,
storage volumes, networks, and application instances, all of which contribute to the delivery of cloud
services.
Cloud Interface
Cloud interfaces are the primary means of interaction between cloud consumers and providers,
facilitating the seamless exchange of data and commands. APIs (Application Programming Interfaces) play
a crucial role in enabling programmatic access to cloud resources, allowing consumers to automate
processes and integrate cloud services with existing workflows.
Command-line interfaces (CLIs) and graphical user interfaces (GUIs) provide alternative methods for
interacting with cloud environments, catering to the preferences and expertise of different users.
Cloud Agreement
Cloud agreements define the terms and conditions governing the relationship between cloud consumers
and providers. These agreements outline the rights and responsibilities of each party, including service-
level commitments, data protection measures, and dispute resolution mechanisms. Cloud agreements
also establish pricing models, payment terms, and termination clauses, ensuring transparency and
fairness in the delivery and consumption of cloud services. By formalizing contractual arrangements, cloud
agreements mitigate risks and assure consumers and providers, fostering trust and long-term
partnerships.
Overall, the OCCI Cloud Reference Model provides a standardized approach to understanding the roles,
relationships, and interactions within cloud computing ecosystems, enabling interoperability and
portability across different cloud platforms and implementations. It serves as a foundation for the
development of open, vendor-neutral cloud standards and specifications, promoting innovation and
collaboration in the cloud computing industry.
European European
Defines standards for cloud computing in Europe,
Telecommunications Telecommunications
covering aspects such as interoperability,
Standards Institute Standards Institute
security, and data protection.
(ETSI) Cloud Standards (ETSI)
Cloud Foundry Focuses on the architecture and components
Cloud Foundry
Application Runtime required for deploying and running applications
Foundation
Architecture in a cloud-native environment.
These reference models and frameworks serve different purposes, from defining architectural
components and capabilities to addressing specific security and compliance requirements. They provide
valuable guidance for organisations adopting cloud computing solutions effectively and securely.
The Security Reference Model in Cloud Computing provides a framework for understanding and
implementing security measures to protect cloud environments and their data.
The security Reference Model in cloud computing provides a comprehensive framework for designing,
implementing, and managing security controls to effectively protect cloud environments and mitigate
security risks. Organizations can tailor this model to their specific requirements and environments while
aligning with industry standards and best practices.
Data Security
Data security protects data throughout its lifecycle, including data-at-rest, in transit, and in use.
Encryption, tokenization, data masking, and data loss prevention (DLP) techniques are commonly used to
safeguard sensitive data from unauthorized access, disclosure, or modification.
Protect sensitive data through encryption, tokenization, or data masking techniques. Implement data loss
prevention (DLP) solutions to prevent unauthorized access, disclosure, or modification of data.
Network Security
Network security encompasses measures to secure network infrastructure, communications, and traffic
within the cloud environment. This includes firewalls, intrusion detection and prevention systems
(IDS/IPS), virtual private networks (VPNs), and network segmentation to prevent unauthorized access and
mitigate network-based attacks.
Secure network infrastructure with firewalls, intrusion detection and prevention systems (IDS/IPS), and
virtual private networks (VPNs). Segment networks to isolate sensitive data and restrict lateral movement
of threats within the cloud environment.
Endpoint Security
Endpoint security involves securing devices such as laptops, smartphones, and servers that access cloud
services. Endpoint protection solutions, including antivirus software, endpoint detection and response
(EDR), and mobile device management (MDM) tools, help detect and prevent security threats at the
device level.
Secure devices accessing cloud services with antivirus software, endpoint detection and response (EDR),
and mobile device management (MDM) solutions. Enforce security policies on endpoints to prevent
malware infections and unauthorized access to cloud resources.
Looking ahead, the cloud computing reference model is poised to facilitate these trends by offering
scalable, resilient, and secure platforms that support diverse business needs while driving innovation and
digital transformation across industries.