Introduction to Cloud Computing Reference Models
Cloud computing, being this decade’s most revolutionary innovation, provides services such as Storage, Networking, Software, Analytics, and more, all under the convenience of just one click. Aiming to exhibit an astonishing CAGR of 20%, the global cloud computing industry is set to reach a market size of $2,432.87 billion by 2030, amplifying its significance across industries.
The current landscape has many vendors that provide various services to their customers. This makes it tough to evaluate each vendor. With the adoption of the cloud growing rapidly and the increasing number of vendors, we need to define a cloud computing standard that helps us understand how each one works and compare these with one another.
The Cloud Computing Reference Model is an abstract model that defines the cloud vocabulary and design elements, the set of configuration rules, and the semantic interpretation. In simpler words, it divides the cloud into layers, defines each function, and provides a reference model for cloud computing, helping users select the right model for specific applications and efficient deployment.
The Cloud Computing Reference Model is divided into three cross functional Layers:
- Software as a Service (SaaS)
- Platform as a Service (PaaS)
- Infrastructure as a Service (IaaS)
Let us look at each of these pillars of the cloud reference model.
Also, Check out our IT free courses to get an edge over the competition.
Software as a Service (SaaS)
Software as a service is a software delivery model where licensed software, usually on a subscription basis, is centrally hosted and used by customers over the internet via a web browser or through client software. It is also referred to as on-demand software or web-based/web-hosted software. The customer only creates an account and pays the associated fee if applicable. The SaaS provider is responsible for operating and maintaining the software and the platform that it runs on.
SaaS is currently the most common cloud computing service. Day-to-day workforce applications such as Slack, Zoom, and Customer Resource Management (CRM) software are prime examples of SaaS.
Platform as a Service (PaaS)
Platform as a Service is a cloud computing model which provides customers with a complete platform to develop and run their applications. This includes hardware, software, infrastructure like servers, storage, databases, and development tools hosted at the vendor’s data centre. This helps avoid the cost, complexity, and inflexibility of maintaining this on-premise. Developers can build and deploy apps on the cloud without worrying about the underlying architecture and resource constraints. The cloud provides them with the ability to scale up on demand and also scale down during idle & low-traffic periods.
Infrastructure as a Service (IaaS)
Infrastructure as a Service is a cloud computing model that deals with fundamental computing, network and storage. Contrary to PaaS, it provides the lowest level of resources on the cloud. This was one of the earliest cloud offerings since the early 2010s and continues to grow with the introduction of new technologies such as containerisation, serverless computing, etc. It is the foundational core of any architecture.
Check Out upGrad’s Software Development Courses to upskill yourself.
The NIST Cloud Reference Model
Various cloud computing reference models are used to represent consumers’ different requirements. The National Institute of Standards and Technology (NIST) is an American organisation responsible for adopting and developing cloud computing standards. The NIST cloud computing model comprises five crucial features:
- Measured Service
- On-demand self-service
- Resource pooling
- Rapid elasticity
- Broad network access
They follow the same three service models defined earlier: SaaS, PaaS and IaaS, and mention four deployment models: i.e., Private, Community, Public, and Hybrid cloud.
The CSA Cloud Reference Model
Security in the cloud is a rising concern. With so much data being available and distributed on the cloud, vendors must establish proper controls and boundaries. The Cloud Security Alliance (CSA) reference model defines these responsibilities. It states that IaaS is the most basic level of service, followed by PaaS and then SaaS. Each of them inherits the security intricacies of the predecessor, which also means that any concerns are propagated forward. The proposal from the CSA is that any cloud computing model should include the below-mentioned security mechanisms:
- Access control
- Audit trail
The OCCI Cloud Reference Model
The Open Cloud Computing Interface (OCCI) is a set of specifications and standards that defines how various cloud vendors deliver services to their customers. It helps streamline the creation of system calls and APIs for every provider. This model not only helps with security but also helps create managed services, monitoring, and other system management tasks that can be beneficial. The main pillars of the OCCI cloud computing reference model are:
- Interoperability – Enable diverse cloud providers to operate simultaneously without data translation between multiple API calls
- Portability – Move away from vendor lock-in and allow customers to move among providers depending on their business objectives with limited technical expenses, thus fostering competition in the market
- Integration – The feature can be offered to the customer with any infrastructure
- Extensibility – Using the meta-model and discovering features, OCCI servers can interact with other OCCI servers using extensions.
The CIMI & DMTF Cloud Reference Model
The Cloud Infrastructure Management Interface (CIMI) Model is an open standard specification for APIs to manage cloud infrastructure. CIMI aims to ensure users can manage the cloud infrastructure simply by standardising interactions between the cloud environment and the developers. The CIMI standard is defined by the Distributed Management Task Force (DMTF). They provide the protocols used for the Representational State Transfer (REST) protocol using HTTP, although the same can be extended for other protocols.
Each resource in the model has a MIME type that contextualises the request and response payload. URIs identify resources; each resource’s representation contains an ID attribute known as the ‘Cloud Entry Point’. All other resources in the environment will then have iterative links associated with this resource.
For example, a particular virtual machine on the cloud could be identified by the below URL:
Image source CIMI & DMTF Cloud Reference Model
Cloud Computing Reference Model Use Cases and Examples
IaaS use case
A business requires to provision VMs for their rapidly growing demand. They can utilise an IaaS provider such as Amazon Web Services (AWS) to scale their infrastructure without needing physical hardware.
PaaS use case
A software development team wants to focus on building applications rather than worrying about the underlying system and architecture. They can choose a PaaS provider, like Google App Engine (By Google Cloud Platform – GCP) or Heroku, to deploy and manage their applications.
SaaS use case
A business requires a Customer Relationship Management (CRM) tool to manage its sales and customer interactions. Instead of spending time and resources to build their in-house software, businesses can opt for SaaS offerings like Salesforce or HubSpot via the cloud without worrying about maintaining it.
In-Demand Software Development Skills
Cloud service management use case
Enterprises need to manage their cloud resources centrally. This includes monitoring the usage of cloud resources across providers to help them gain visibility, optimise costs and enforce security policies across their data on the cloud.
Resource control use case
Businesses like financial institutions must ensure security and compliance controls across their organisation for the sensitive data stored on the cloud. Cloud service providers implement robust, fine-grained access controls for all their cloud services and offerings. This includes Identity and Access Management (IAM) by AWS and Azure Active Directory (AD) by Microsoft, which help manage user permissions, authentication and auditing.
Comparison of Cloud Computing Reference Models
As discussed in the previous sections, the cloud computing reference models provide a detailed framework for understanding the different layers and standardising cloud computing. The NIST reference model emphasises essential characteristics and service and deployment models. In contrast, the CSA model focuses on the Security aspect of cloud computing and how it needs to be enforced. The OCCI & CIMI models specify how developers can interact with the offerings through various APIs and how they can be viewed and accessed uniformly across the various cloud vendors.
It is important to note that although various models are being discussed and compared, they need to be used together to comprehensively understand cloud computing. Businesses and developers can use these specific models based on their requirements to help them plan, design, and evaluate various vendors and arrive at an effective cloud solution.
Explore our Popular Software Engineering Courses
In conclusion, cloud computing reference models play a significant role in guiding, comprehending, implementing and utilising cloud computing environment efficiently. By understanding each reference model in depth, users can accurately choose the most relevant cloud computing services to optimise their organisation’s growth.
On the other hand, optimising your skillset with the right course is equally important to fuel your growth in the field. upGrad’s Full Stack Software Development Bootcamp can help you create a strong development base to further understand the significance of cloud computing systems and their implementation. Master of Science in Computer Science is another course you can go for if you’re aiming to advance your career in the development field.
What is the difference between a cloud consumer and a cloud provider?
A cloud consumer is an entity which uses the resources and services provided by the cloud provider. The cloud consumer is the entity which typically pays a subscription fee to the cloud providers to use their resources.
What is a cloud computing reference model?
The cloud computing reference model is a framework that provides a structured approach to understanding the various intricacies of the cloud, such as different layers, services, functional components, etc.
Are there different cloud computing models for different use cases?
Yes, the different cloud computing models are used to understand the different perspectives of the cloud and its offerings. Some models focus on specifics like security and architecture, while others provide a holistic view of the entire ecosystem.