UNIT -2
Cloud Architecture
Service Models
Types of Cloud Computing
Most cloud computing services fall into:
Software as a service (SaaS)
Platform as a service (PaaS)
Infrastructure as a service (IaaS)
Infrastructure as a service (IaaS)
IaaS provides virtualized computing resources over the internet. It includes
virtual machines, storage, and networking components that users can rent on
a pay-as-you-go basis.
Use Cases:
Hosting virtual machines.
Storing and retrieving data.
Networking services.
Advantages:
Flexibility and Control:
Organizations have full control over the infrastructure, allowing them to customize
and configure virtual machines, storage, and networking components.
Scalability:
IaaS provides the ability to scale resources up or down based on demand, enabling
organizations to handle varying workloads efficiently.
Wide Range of Applications:
Well-suited for a broad range of applications, including custom applications,
development and testing environments, and legacy systems.
Hybrid Cloud Deployment:
IaaS supports hybrid cloud architectures, allowing organizations to integrate on-
premises infrastructure with cloud resources.
Disadvantages:
Management Complexity:
Requires more management and maintenance compared to higher-level service
models, as users are responsible for handling aspects such as software updates,
security patches, and networking.
Resource Provisioning Complexity:
Users need to manage and provision virtual machines and other resources, which
can be complex for those without expertise in infrastructure management.
Time-Consuming Deployment:
Setting up and configuring infrastructure may take longer compared to higher-level
services.
Platform as a Service (PaaS):
PaaS offers a platform that allows users to develop, deploy, and manage
applications without dealing with the complexity of underlying infrastructure.
It typically includes development frameworks, databases, and application
hosting services.
Use Cases:
Web application development and hosting.
Database management.
Application deployment.
Advantages:
Simplified Development:
Developers can focus on writing code and building applications without dealing
with the underlying infrastructure, reducing development time and effort.
Automatic Scaling:
PaaS platforms often offer automatic scaling, allowing applications to scale
dynamically based on demand.
Cost-Efficiency:
With fewer infrastructure-related concerns, organizations can achieve cost savings
in terms of development, maintenance, and scalability.
Collaboration:
PaaS facilitates collaboration among development teams by providing a
standardized platform and environment.
Disadvantages:
Limited Customization:
PaaS environments may limit the ability to customize the underlying
infrastructure, making it less suitable for certain applications or configurations.
Vendor Lock-In:
Organizations using PaaS may face vendor lock-in, as applications may be tightly
integrated with the platform's services and APIs.
Compatibility Issues:
Some existing applications may not be easily migrated to PaaS due to
compatibility issues.
Software as a Service (SaaS):
SaaS delivers fully functional software applications over the internet on a
subscription basis. Users can access the software through a web browser
without the need for installation or maintenance.
Use Cases:
Email and collaboration tools.
Customer relationship management (CRM) software.
Productivity applications.
Advantages:
Ease of Use:
SaaS applications are typically easy to use, as users can access them through a
web browser without the need for installation or configuration.
Automatic Updates:
Providers handle software updates, ensuring that users always have access to
the latest features and security patches.
Cost Savings:
Eliminates the need for organizations to manage software and infrastructure,
resulting in cost savings related to maintenance and support.
Global Accessibility:
SaaS applications are accessible from anywhere with an internet connection,
promoting remote work and collaboration.
Disadvantages:
Limited Customization:
SaaS applications may have limitations in terms of customization to meet
specific organizational needs.
Data Security Concerns:
Storing sensitive data in the cloud raises security and privacy concerns,
especially if the SaaS provider has access to the data.
Dependency on Internet Connectivity:
Users need a reliable internet connection to access and use SaaS
applications, and downtime or connectivity issues can impact accessibility.
Comparisons of different
Service Models
CLOUD DEPLOYMENT MODELS
A cloud deployment model is defined according to where the
infrastructure for the deployment resides and who has control over that
infrastructure.
Different types of cloud deployment models are:
1. Public Cloud
2. Private Cloud
3. Hybrid Cloud
4. Community Cloud
Public Cloud:
In a public cloud deployment, cloud services are provided by third-party cloud
service providers, and resources are made available to the general public over the
internet. Multiple organizations share the same infrastructure, and users typically
pay for services on a pay-as-you-go basis.
Characteristics:
Cost-effective and scalable.
Shared resources among multiple users.
Managed and maintained by the cloud provider.
Examples include AWS, Azure, Google Cloud.
Advantages:
Cost Efficiency: Public clouds operate on a pay-as-you-go model, allowing
organizations to only pay for the resources they use.
Scalability: Public cloud providers offer on-demand resources, making it easy to
scale up or down based on business needs.
Accessibility: Public clouds are accessible from anywhere with an internet
connection, promoting remote collaboration and flexibility.
Maintenance-Free: The cloud provider handles infrastructure maintenance,
updates, and security, relieving organizations of these responsibilities.
Global Reach: Public cloud providers often have data centers in multiple
geographic locations, enabling global accessibility and redundancy.
Disadvantages:
Security Concerns: Sharing resources with other users on the same
infrastructure can raise security concerns, especially for sensitive data.
Limited Customization: Public cloud services may have limitations on
customization, which can be a drawback for organizations with specific
requirements.
Dependence on Internet: Public cloud services rely on internet connectivity;
if the internet goes down, access to the services is affected.
Potential Downtime: While cloud providers strive for high availability, there is
still the risk of downtime, impacting service accessibility.
Private Cloud:
A private cloud is dedicated to a single organization. It can be hosted on-premises
within the organization's data center or by a third-party provider. In a private
cloud, the computing resources are not shared with other organizations,
providing a higher level of control and customization.
Characteristics:
Enhanced security and control.
Customizable to meet specific organizational needs.
Suitable for organizations with strict regulatory requirements.
Examples include VMware Cloud, OpenStack.
Advantages:
Enhanced Security: Private clouds offer dedicated infrastructure, providing
better control and security for sensitive data.
Customization: Organizations have more control over the configuration and
customization of a private cloud, tailoring it to their specific needs.
Compliance: Private clouds can be designed to meet specific regulatory and
compliance requirements.
Predictable Performance: With dedicated resources, organizations can have
more predictable and consistent performance.
Disadvantages:
Cost: Private clouds can be more expensive than public clouds, as organizations bear
the full cost of infrastructure and maintenance.
Complexity: Managing a private cloud requires skilled IT personnel and can be more
complex than using public cloud services.
Limited Scalability: Scaling a private cloud can be more challenging than scaling in a
public cloud environment.
Resource Underutilization: Without careful planning, private clouds may experience
resource underutilization, leading to increased costs.
Hybrid Cloud:
Hybrid cloud deployment combines elements of both public and private clouds. It
allows data and applications to be shared between them. Organizations can move
workloads between the public and private cloud based on demand, providing
flexibility and optimization.
Characteristics:
Offers flexibility and scalability.
Allows sensitive workloads to be kept on-premises.
Enables a balance between cost efficiency and control.
Examples include AWS Outposts, Azure Hybrid Cloud, Google Cloud.
Advantages:
Flexibility: Hybrid clouds offer a balance between the scalability of public
clouds and the control of private clouds, allowing organizations to choose
where to deploy workloads.
Cost Optimization: Organizations can use public clouds for scalable
workloads and private clouds for sensitive data, optimizing costs.
Disaster Recovery: Hybrid clouds can provide effective disaster recovery
solutions by replicating data and applications across public and private
environments.
Scalability: Hybrid cloud allows for dynamic scaling by utilizing public cloud
resources during peak periods.
Disadvantages:
Complexity: Managing and integrating both public and private cloud
environments can be complex, requiring additional resources and expertise.
Security Challenges: Ensuring consistent security policies across both
environments can be challenging.
Data Transfer Costs: Transferring data between public and private clouds may
incur additional costs.
Dependency on Providers: Organizations using a hybrid cloud depend on the
reliability and compatibility of multiple cloud providers.
Community Cloud:
A community cloud is shared by multiple organizations with similar needs and concerns.
It may be managed by the organizations themselves or by a third-party provider. This
model allows for the sharing of infrastructure, costs, and services within a specific
community.
Characteristics:
Shared by a specific community of users.
Addresses common concerns or regulatory requirements.
Offers a balance between public and private cloud benefits.
Examples might include industry-specific community clouds.
Advantages:
Cost Sharing: Multiple organizations within a community share the costs of
infrastructure and services, making it more cost-effective.
Collaboration: Community clouds are suitable for organizations with common
goals, fostering collaboration and resource sharing.
Customization: Like private clouds, community clouds allow for customization
to meet the specific needs of the community members.
Security: With a limited and defined user group, community clouds can
implement tailored security measures.
Disadvantages:
Limited Independence: Organizations in a community cloud may have to
compromise some level of independence as they share infrastructure and
resources.
Complex Governance: Establishing governance models and agreements
among community members can be challenging.
Resource Contentions: Resource contention can occur if multiple
organizations within the community cloud require significant resources
simultaneously.
Potential for Disputes: Disputes among community members regarding
resource usage, policies, or other issues may arise.
Layered Architecture
Physical Layer:
Data Centers: The physical locations where the cloud servers and infrastructure are
hosted.
Server Hardware: The actual physical servers, storage devices, and networking
equipment.
Infrastructure Layer (IaaS):
Virtualization: Hypervisors that enable the creation of virtual machines (VMs) from
physical servers.
Compute Resources: Virtual machines or containers providing computing power.
Storage Resources: Virtualized storage solutions for data storage.
Networking: Virtual networks, routers, load balancers, and firewalls.
Platform Layer (PaaS):
Development Platforms: Tools and frameworks that help developers build
applications without managing the underlying infrastructure.
Database Services: Managed database solutions for storing and retrieving data.
Middleware: Services that facilitate communication and integration between
different software components.
Application Layer (SaaS):
Software Applications: End-user applications accessible over the internet.
Collaboration Tools: SaaS solutions for communication, collaboration, and
productivity.
Security Layer:
Identity and Access Management (IAM): Controls user access and permissions.
Encryption: Ensures data security during storage and transmission.
Firewalls and Security Groups: Protects against unauthorized access.
Integration Layer:
APIs (Application Programming Interfaces): Facilitate communication between
different services and applications.
Service Bus or Message Queues: Enable asynchronous communication and
integration.