Cloud Service Models
What is a Cloud?
A cloud is a type of parallel and distributed system consisting of a collection of interconnected and virtualized computers that are dynamically provisioned and presented as one or more unified computing resources based on service-level agreements established through negotiation between the service provider and consumers.
It is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Benefits of Cloud Computing
Large enterprises can offload some of their activities to Cloud-based systems.
Small enterprises and start-ups can afford to translate their ideas into business results more quickly without excessive upfront costs.
System developers can concentrate on the business logic rather than dealing with the complexity of infrastructure management and scalability.
End users can have their files accessible from everywhere and any device.
No upfront commitments.
On-demand access.
Competitive pricing.
Simplified application acceleration and scalability.
Efficient resource allocation.
Energy efficiency.
Cloud Service Models
Infrastructure as a Service (IaaS)
Consists of Virtualized Servers, Storage and Networking.
IaaS solutions deliver infrastructure on demand in the form of virtual hardware, storage and networking.
Virtual hardware is utilized to provide compute-on-demand in the form of virtual machine instances.
These are created on the user's request on the provider's infrastructure, and users are given tools and interfaces to configure the software stack installed in the VM.
The pricing model is usually defined in terms of dollars per hour.
Virtual storage is delivered in the form of raw disk space or object storage.
Raw disk space is a virtual hardware that has persistent storage.
Object storage is a high-level abstraction for storing entities rather than files. It is a data storage architecture for storing unstructured data, which sections data into unit objects and stores them in a structurally flat data environment.
Virtual networking identifies the collection of services that manage the networking among virtual instances and their connectivity towards the internet or private networks.
IaaS solutions are sought by users who want to leverage Cloud computing by building dynamically scalable computing systems requiring a specific software stack. IaaS services are therefore used to develop scalable websites or for background processing.
IaaS solutions target mostly end users, who want to benefit from the elastic scalability of the Cloud without doing any software development, installation, configuration, and maintenance. SaaS service providers often utilize this.
Ex - Amazon(EC2, S3), Rightscale, vCloud etc.
Platform as a Service (PaaS)
Consists of Runtime Environment for Applications, Development and Data Processing Platforms.
PaaS delivers scalable and elastic runtime environments on demand that host the execution of applications.
These services are backed by a core middleware platform that is responsible for creating the abstract environment where applications are deployed and executed.
The service provider takes care of scalability and managing fault-tolerance, while Users focus on the logic of the application developed by leveraging the provider's APIs and libraries.
This approach increases the level of abstraction but also constrains the user in a more controlled environment.
PaaS solutions provide scalable programming platforms for developing applications and are useful when new systems have to be developed.
Ex - Windows Azure, Hadoop, Google AppEngine, Aneka etc.
Software as a Service (SaaS)
Consists of End-user applications like social networking, photo editing, CRM etc.
Provides applications and services on demand.
Most common desktop applications are replicated on the provider's infrastructure, made more scalable, and accessible through a browser on demand.
These applications are shared across multiple users, whose interaction is isolated from other users.
The SaaS Layer is the one that includes Social Networking websites, which leverage cloud-based infrastructures to sustain the load generated by their popularity.
Ex - Shopify, Adobe, Twitter, Zoom, Salesforce etc.
Function as a Service (FaaS)
FaaS is also known as Serverless Computing.
It is a cloud computing model in which cloud providers manage the infrastructure and automatically allocate resources as needed for executing individual functions or pieces of code.
In FaaS architecture, you write and deploy small, self-contained functions or micro-services, and the cloud provider takes care of scaling, managing, and maintaining the underlying infrastructure, allowing developers to focus solely on writing code.
FaaS is an excellent choice for applications that have variable workloads and need to respond quickly to events.
It's commonly used for web applications, micro-services, data processing, and IoT applications.
Ex - AWS Lambda, Azure Functions, Google Cloud Functions, IBM Cloud Functions, Alibaba Cloud Function Compute etc.
Conclusion
You can read other articles written by me through these links.
System Design Series
Introduction To Parallel Computing
Deep Dive Into Virtualization
Insights Into Distributed Computing
Cloud Computing Series
1. Cloud Service Models
2. Cloud Deployment Models
3. Cloud Security
4. Cloud Architecture
5. Cloud Storage
6. Networking In The Cloud
7. Cloud Cost Management
8. DevOps In Cloud & CI/CD
9. Serverless Computing
10. Container Orchestration
11. Cloud Migration
12. Cloud Monitoring & Management
13. Edge Computing In Cloud
14. Machine Learning In Cloud
Computer Networking Series
1. Computer Networking Fundamentals
2. OSI Model
3. TCP/IP Model : Application Layer
4. TCP/IP Model : Transport Layer
5. TCP/IP Model : Network Layer
6. TCP/IP Model : Data Link Layer
Version Control Series
1. Complete Guide to Git Commands
2. Create & Merge Pull Requests
3. Making Open Source Contributions
Linux
Complete Guide to Linux Commands
Thanks For Reading! ๐
Garvit Singh
Subscribe to my newsletter
Read articles from Garvit Singh directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Garvit Singh
Garvit Singh
๐ Hi, I'm Garvit, an IT Undergraduate. I'm passionate about expanding my knowledge in the field of Computer Science. ๐ป Computer Science Skills and the topics I write blogs on โ Proficient in Linux. โ Git/GitHub for version control. โ Networking Fundamentals. โ Proficient in Java, C and Python. โ Object-Oriented Programming in Java. โ Data Structures & Algorithms in Java. โ MERN Stack Web Development. โ System Design. โ Bash scripting and automation. โ Python for Scripting, Mini Projects. โ Cyber Warfare & Ethical Hacking. โ Cloud Computing. โ Distributed Computing, Parallel Computing, Real Time Systems, Virtualization. โ DevOps - Docker, Kubernetes โ Operating Systems. โ Software Testing. โ Databases - SQL, NoSQL and more...