Cloud Computing involves the delivery of all computing services that include servers, databases, virtual machines, networks and many more. It offers robust services to customers under a pay-as-you-use model. This greatly reduces the time and resources used to set up on-premises. Big data mainly involves public clouds and private clouds. Organisations that adopt cloud deployment and delivery models use private computing resources (data centers and private clouds) and public services.
What are Cloud Delivery Models?
A cloud delivery model represents a specific, pre-packaged combination of computing resources offered by a cloud provider. Each model is classified as a different type of cloud service offering. The three main cloud delivery models are:
The IaaS delivery model represents a self-contained environment that comprises the infrastructure-centric IT resources to access and manage via cloud service-based interfaces and tools. It may include hardware, networks, connectivity, operating systems, and other resources. Unlike traditional hosting or outsourcing environments, with IaaS, resources are virtualised and packaged into bundles that help simplify the infrastructure's up-front runtime scaling and customisation.
The general purpose of an IaaS environment is to provide cloud consumers with a high level of control and responsibility for its configuration, utilisation and management. The IT resources provided by IaaS are usually not pre-configured, thus placing the administrative responsibility upon the cloud consumer. Therefore, this model is used by cloud consumers who require a high level of control over the cloud-based environment they intend to create.
In public IaaS, the customer uses a credit card to use the resources. When the user stops paying, the resource is no longer provided. In a private IaaS service, the IT organization or an integrator who creates the infrastructure provides resources on demand for internal users and sometimes business partners.
Characteristics of IaaS
Resource Pooling and Scalability: IaaS allows users to scale resources up or down based on demand. This is ideal for businesses with fluctuating needs. Resource pooling also enables multiple customers to share a pool of resources, such as storage, network devices, and virtual machines.
Self-Service and On-Demand Availability: Users can provision, manage, and terminate resources as needed, often via a web-based dashboard or API. This on-demand model offers flexibility and real-time resource availability.
Broad Network Access: IaaS is available over the internet, ensuring broad access to resources from any location, typically supporting various devices like computers, smartphones, and tablets.
Pay-As-You-Go Pricing: Users only pay for the resources they use, often measured per hour, per gigabyte, or based on other usage metrics. This can lead to significant cost savings compared to traditional physical infrastructure.
Automation of Administrative Tasks: IaaS providers manage the underlying infrastructure, including hardware, networking, and storage, allowing users to focus on deploying and managing their applications. Automated administrative tasks include system maintenance, backup, and resiliency planning.
Physical Security of Data Center Locations: Providers are responsible for the physical security of the data centers where the infrastructure is housed. This typically includes measures like surveillance, controlled access, and environmental protection.
Customization and Control: While the infrastructure is managed by the provider, users maintain control over the operating systems, storage, and deployed applications. They can also have specific control over their networking components, such as firewalls and network security settings.
Integration and Interoperability: IaaS can be easily integrated with existing systems and is compatible with various platforms and technologies. This ensures that enterprises can use IaaS in conjunction with their current solutions.
Disaster Recovery and Business Continuity: The distributed nature of cloud infrastructure provides excellent solutions for disaster recovery and business continuity planning, with data and applications able to be replicated in multiple, geographically dispersed data centers.
Security and Compliance: IaaS providers typically offer a range of security measures and compliance certifications, catering to different industry standards and regulations. However, users are still responsible for securing their applications and data.
Platform as a Service
The PaaS delivery model is a pre-defined “ready-to-use” environment that typically contains deployed and configured IT resources. PaaS relies on using a ready-made environment that holds a set of pre-packaged products and tools to support the entire lifecycle of custom applications. A PaaS requires an IaaS. It brings development and deployment together to create an easier way to build, deploy, and scale applications.
A PaaS environment is usually preferred if:
The consumer wants to extend on-premise environments into the cloud for improved scalability and other economic reasons.
The consumer uses the environment to substitute an entire on-premise environment.
The consumer wants to become a cloud provider and deploys their own services to other external cloud consumers.
By using PaaS, the cloud consumer is spared the administrative burden of setting up and maintaining the infrastructure of the resources provided in the IaaS model. It ensures that developers have a well-tested and integrated environment to create applications. However, the cloud consumer has less control over the underlying IT resources that host and configure the platform.
Characteristics of PaaS
Integrated Development Environment: PaaS provides a platform with tools to test, develop, and host applications in the same environment. This integrated solution streamlines the development process for developers.
Built-in Scalability of Resources: Like other cloud services, PaaS allows easy scalability. It can accommodate increases in users, storage needs, or changes in data processing requirements without requiring the user to manage the hardware.
Managed Services: PaaS handles the overhead of managing servers, network infrastructure, and storage, so developers can focus on the application development only.
Middleware Services: PaaS often includes middleware, which allows developers to focus on the business side of the application development, without worrying about the software or infrastructure layers.
Business Process Management and Integration: PaaS can offer advanced features like business process management tools and integration services which help in streamlining the business processes.
Automated Backups and Recovery Systems: The platform typically includes automated backup systems and recovery solutions, ensuring data integrity and security.
Support for Multiple Programming Languages and Frameworks: PaaS platforms are often not restricted to a single language or set of frameworks, offering developers flexibility in the choice of tools and languages.
Collaborative Platform: PaaS offers a collaborative environment for development teams to work together, regardless of their physical location. This fosters better teamwork and faster development cycles.
Cost-Effectiveness and Reduced Overhead: By eliminating the need to invest in underlying infrastructure, PaaS can reduce costs and operational overhead for organizations. This includes reducing the costs associated with hardware, software licenses, and upkeep.
Security and Compliance Management: PaaS providers usually offer robust security measures, including data encryption, security patches, and compliance with various standards and regulations. However, it's important to note that application-level security typically remains the responsibility of the user.
Customizable and Modular: Users can choose to use the components that they need, often on a pay-per-use basis. This modularity ensures that businesses can start small and add more services as needed.
Software as a Service
A software program is provided as a cloud service and made available as a service or utility. Applications are created and hosted by a provider in a multitenant model. In other words, the SaaS model allows a reusable cloud service to be openly available to a range of cloud consumers. Customers pay for its consumption on a monthly or yearly basis. An entire marketplace contains SaaS products that can be leased and used for different purposes.
A cloud consumer is granted limited administrative control over a SaaS product. It is entirely provisioned by the cloud provider, but it can be legally owned by the entity that owns the cloud service.
Characteristics of SaaS
Accessibility: SaaS applications are accessible from any internet-connected device, making it convenient for users to access their data and work from anywhere. This greatly enhances mobility and flexibility in work practices.
Subscription-Based Pricing: SaaS typically operates on a subscription pricing model, with customers paying a recurring fee to use the software. This can range from monthly to annually and often includes different tiers based on usage levels, features, or number of users.
No Hardware or Software Maintenance: Users do not need to worry about hardware maintenance or software updates. The SaaS provider manages all technical aspects, including infrastructure, middleware, app software, and app data.
Automatic Updates and Patch Management: SaaS providers regularly update their software, adding new features and security patches. These updates are automatic and typically require little to no effort from the end-user.
Scalability and Integration: SaaS solutions are scalable to accommodate the growing needs of the business. They also often offer integrations with other SaaS offerings and APIs, allowing for seamless connectivity with other tools and systems.
Multi-Tenancy Model: In SaaS, a single instance of the application serves multiple customers or tenants. Each tenant's data is isolated and remains invisible to other tenants, despite the shared infrastructure.
Customization and Configuration: While the core functions of the software remain consistent for all users, SaaS applications usually offer a range of customization options to meet the specific needs of each customer.
User-friendly and Collaborative Features: SaaS applications tend to emphasize user-friendly interfaces and collaborative features, enabling multiple users to work together more efficiently.
Security and Compliance: SaaS providers typically invest heavily in security, with robust measures in place to protect data integrity and privacy. Compliance with various regulatory standards is also a key feature of SaaS offerings.
Data Analytics and Reporting: Many SaaS applications provide advanced analytics and reporting features, enabling businesses to gain insights into their operations and make data-driven decisions.
Data as a Service
Data as a service (DaaS) is a data management strategy that uses the cloud to deliver data storage and processing with analytics services via a network connection. It is similar to software as a service that involves delivering applications to end-users over the network, rather than having them run them locally on their devices. DaaS may seem complex to use but the process is actually simple.
This could be because DaaS eliminates much of the setup and preparation work associated with building an on-premises data processing center. Due to the availability of technical support services from DaaS providers, the process does not require the customer to have specialized staff on hand. Since it is designed specifically for fast, large-scale data management and processing, DaaS is just as practical and beneficial as SaaS.
Characteristics of DaaS
Centralized Management: DaaS allows for the central management of desktop environments. IT administrators can manage and troubleshoot virtual desktops remotely, streamlining the management process.
Flexibility and Scalability: DaaS solutions are highly scalable. Companies can quickly add or remove desktops as per their business needs, making it an ideal solution for businesses experiencing fluctuating or seasonal demands.
Accessibility and Mobility: Users can access their virtual desktops from anywhere, at any time, and from any device with internet connectivity. This enhances remote working capabilities and ensures continuity of operations regardless of location.
Cost-Effectiveness: With DaaS, businesses can avoid the high upfront costs associated with purchasing and maintaining physical hardware and desktop infrastructure. The subscription-based model can lead to more predictable operating expenses.
Reduced IT Workload: Since the DaaS provider is responsible for deploying, managing, and maintaining the virtual desktop infrastructure, the workload on an organization’s IT staff is significantly reduced.
Enhanced Security: DaaS providers typically offer robust security measures including data encryption, multi-factor authentication, and regular security updates. However, the organization is still responsible for securing the data within the virtual desktops.
Customization and Personalization: Even though the desktops are hosted in the cloud, users can customize and personalize their virtual desktop environment according to their preferences and requirements.
Disaster Recovery and Business Continuity: In the event of a disaster, DaaS can be a key component in business continuity strategies. Data and applications are stored in the cloud, and can be quickly recovered or accessed from different locations.
Regular Updates and Patch Management: The DaaS provider handles updates and patch management, ensuring that the virtual desktop environments are always up to date with the latest features and security patches.
Integration with Cloud Services: DaaS solutions often integrate well with other cloud services, providing a seamless experience that leverages the full capabilities of the cloud ecosystem.
Difference between IaaS, PaaS, and SaaS
Feature
IaaS
PaaS
SaaS
What is Provided
Virtualized hardware (servers, storage, etc.)
Platform for app development (tools, middleware)
Software applications accessible via the internet
Control Level
High (control over infrastructure)
Medium (control over deployed applications)
Low (limited to software customization)
User Responsibility
Managing applications, data, runtime, middleware, OS
Companies needing control over their environment, but not wanting to purchase hardware
Developers needing a development environment without managing underlying infrastructure
End-users needing to use software without managing infrastructure or platforms
Scalability
Scalable, with user managing scaling
Scalable, platform handles scaling
Scalable, completely managed by provider
Pricing Model
Pay-per-use based on resources consumed
Typically subscription-based with scaling options
Subscription-based, usually per user or feature set
Examples
AWS EC2, Google Compute Engine, Microsoft Azure
Google App Engine, Heroku, Microsoft Azure Web Apps
Google Workspace, Microsoft 365, Salesforce
Frequently Asked Questions
What are the three cloud computing delivery models?
The three cloud computing delivery models are Infrastructure as a Service (IaaS), providing virtualized computing resources; Platform as a Service (PaaS), offering a platform for application development; and Software as a Service (SaaS), delivering software applications over the internet.
What are the different types of cloud deployment models?
The different types of cloud deployment models include Public Cloud, where services are offered over the public internet; Private Cloud, offering dedicated infrastructure for a single organization; Hybrid Cloud, combining public and private clouds; and Community Cloud, shared among a specific group.
What are the four actors in cloud computing?
The four actors in cloud computing are Cloud Providers, who offer cloud services; Cloud Consumers, who use these services; Cloud Brokers, who mediate between providers and consumers; and Cloud Auditors, who assess and ensure compliance with standards and regulations.
Conclusion
This article offers an in-depth discussion on cloud delivery models, aiming to deepen your knowledge about the different types of service models in Cloud Computing. We hope you found this blog informative and helpful in enhancing your understanding. Also, check out our articles on Cloud Computing Infrastructure and Cloud Architecture. Learn more about Big Data, Microsoft Azure, AWS, and Google Cloud.
Explore our Coding Ninjas Library and upvote our blog to help other ninjas grow. Happy Coding!