Unit 2 Cloud Computing Architecture
Unit 2 Cloud Computing Architecture
RJU
Unit-2
Cloud computing
Architecture
Dept. of BCA
MMC, TU
[email protected]
9844071035
cloud computing reference model
Platform as a Service
Platform as a Service (PaaS) is one of three main service models in cloud computing, along
with Infrastructure as a Service (IaaS) and Software as a Service (SaaS).
PaaS provides a cloud-based platform and environment that allows developers to build,
deploy, and manage applications without having to worry about the underlying infrastructure.
Here are some key features and components of Platform as a Service in cloud computing:
Development environment: PaaS provides a development environment including tools, libraries and
frameworks for building and testing applications. This environment is typically hosted in the cloud and
accessible through a web browser.
Application Hosting: The PaaS platform provides a runtime environment to host and run applications. This
environment abstracts away the underlying infrastructure, making it easier for developers to focus on coding
and application logic.
Scalability: PaaS platforms typically provide auto-scaling capabilities, allowing applications to expand or
contract resources based on demand.This ensures that applications can efficiently handle different
workloads.
Database Services : PaaS typically includes database services and management tools, allowing developers
to store and manage data more easily. This can include relational databases, NoSQL databases, and other
data storage solutions.
Platform as a Service cont..
Middleware: The PaaS platform can provide middleware components, such as message queues, caching
systems, and integration services, to facilitate application development.
Deployment and management: PaaS simplifies the deployment process, often supporting different
deployment methods such as continuous integration and continuous deployment (CI/CD). It also provides
management tools for monitoring, logging, and troubleshooting applications.
Security and compliance: PaaS providers offer security features, such as identity and access management,
encryption, and compliance certification. It is important to ensure that the PaaS provider complies with your
organization's security and regulatory requirements.
Multi-tenant: PaaS is typically designed to support multiple users or tenants on the same platform, allowing
organizations to build and manage their applications while sharing the underlying resources.
Cost Model: PaaS typically follows a pay-as-you-go or subscription pricing model, where you are charged
based on the resources you consume. This can help control costs and align them with actual usage.
Popular PaaS providers include platforms such as Microsoft Azure App Service, Google App
Engine, AWS Elastic Beanstalk, Heroku, and Red Hat OpenShift.
These platforms support a variety of programming languages, frameworks, and services to
meet different application development needs.
Software as a Service
Software as a Service (SaaS) is a cloud computing service model that delivers software
applications over the Internet.
In the SaaS model, users access software applications and services hosted by third parties,
rather than installing and maintaining software on local devices or servers.
SaaS is one of the three main categories of cloud services, along with Infrastructure as a
Service (IaaS) and Platform as a Service (PaaS).
The main features and characteristics of SaaS in cloud computing are:
Accessibility: SaaS applications can be accessed over the Internet from any device with an Internet
connection and a web browser. This accessibility is often facilitated by web-based interfaces.
Subscription-based model: SaaS providers typically offer a subscription-based pricing model in which users
pay a recurring fee to access the software. This allows for a more predictable and scalable cost structure.
Managed Infrastructure: SaaS eliminates the need for users to install, manage, and maintain software on
local devices or servers. Infrastructure such as servers, storage, and networking are managed by the SaaS
provider.
Software as a Service cont..
Automatic updates: SaaS providers handle software update and maintenance tasks, ensuring users always
have access to the latest features, security patches, and improvements without having to perform manual
updates.
Multitenancy: SaaS applications are designed to serve multiple customers (tenants) on a shared
infrastructure. Provider guarantees the security and isolation of each customer's data and configuration.
Scalability: SaaS products are designed to easily scale as your user base and data load increases. Users can
often scale their usage up or down depending on their needs.
Customization: Although SaaS applications are generally standardized, they often provide some degree of
customization to meet users' specific needs. This customization is typically done through configuration
options rather than by directly changing the code.
Security and Compliance: SaaS providers invest in security measures to protect user data. Encryption,
authentication, and other security features are often implemented. Additionally, many SaaS providers
adhere to industry-specific compliance standards.
Software as a Service cont..
Examples of SaaS applications: Many SaaS applications, such as customer relationship management (CRM)
tools (e.g. Salesforce), Office productivity suites (e.g. Microsoft 365, Google Workspace), collaboration tools
(e.g. Slack), Enterprise, etc. are available in various domains. A resource planning (ERP) system (such as SAP
Business One).
Pay-as-you-go model: Many SaaS providers offer a "pay-as-you-go" pricing model that allows users to pay
for the services they use without any up-front investment in hardware or software.
SaaS is widely used due to its convenience, cost-effectiveness, and ability to provide quick
access to powerful software without the need for extensive infrastructure management.
This is especially popular in scenarios where companies want to focus on using software
applications rather than managing the underlying IT infrastructure.
Infrastructure as a Service(IaaS)
IaaS provides virtualized computing resources over the Internet, allowing users to rent and
manage virtual machines, storage, and networking components rather than investing in and
maintaining physical hardware.
The main features and components of infrastructure as a service in cloud computing are:
Virtualization: IaaS is based on virtualization technology that abstracts and pools physical resources such as
computing power, storage, and networking. This enables the creation of virtual machines and other
virtualized infrastructure components.
On-Demand Resources: Users can provision and de-provision resources on demand and scale up or down
their infrastructure based on the needs of their workloads. This flexibility enables efficient use of resources
and cost control. Self-service and automation: IaaS platforms often provide self-service interfaces and APIs
that allow users to autonomously manage and configure resources.
Computing Resources: IaaS provides virtualized computing resources, including virtual machines (VMs) in
various configurations (CPU, memory, storage). Users can control the operating system, applications, and
configuration within these VMs.
Infrastructure as a Service(IaaS) cont…
Storage: The IaaS platform provides a scalable and flexible storage solution. Users can provision and manage
storage resources such as block storage, object storage, and file storage. Storage can be easily expanded as
needed.
Networking: IaaS includes networking services that allow users to configure and manage virtual networks, IP
addresses, firewalls, and load balancers. This allows for the creation of complex network architectures.
Pay-as-you-go model: IaaS typically follows a pay-as-you-go or consumption-based pricing model. Users pay
for the resources they consume, avoiding upfront investments in hardware and infrastructure.
Security: IaaS providers have implemented security measures to protect their infrastructure and data. This
includes encryption, identity and access management, network security features, and compliance with
industry standards.
Examples of IaaS providers: Major cloud providers offering IaaS services include Amazon Web Services
(AWS) with Elastic Compute Cloud (EC2), Microsoft Azure with Azure Virtual Machines, and Compute
Engine. Includes Google Cloud Platform (GCP) and more.
Scalability: IaaS provides easy scalability to accommodate changing workloads. Users can dynamically add or
remove resources as demand fluctuates.
Geographic distribution: IaaS providers often have data centers in multiple geographic regions. This allows
users to deploy resources closer to their end users to improve performance and comply with data residency
Infrastructure as a Service(IaaS) cont…
IaaS is suitable for businesses that require a high degree of control over their IT infrastructure,
need to run custom applications, and need the flexibility to scale resources as needed.
This is especially useful in development and test environments, when running applications
with a variety of workloads, and when hosting websites and web applications.
Cloud deployment model
Cloud deployment models identify specific types of cloud environments based on ownership,
scope, access, and the nature and purpose of the cloud.
There are different deployment models depending on location and infrastructure
administrator.
To get the most out of a particular cloud deployment type, you need to understand what each
deployment model can do, its features, benefits, and drawbacks.
Types of cloud deployment model:
Below are some important types of cloud deployment models.
Private Cloud: Resources managed and consumed by an organization.
Public Cloud: resources available to the public on a pay-as-you-go model.
Community Cloud: Resources are shared by multiple organizations, typically within the same industry.
Hybrid Cloud: This cloud delivery model is partially managed by the service provided and partially managed
by the organization.
Cloud deployment model cont…
Adoption issues while deploying the cloud computing:
Common issues you may encounter during deployment include:
Without a high availability architecture, it is impossible to provide 100% availability.
Provider lock-in is also a constant problem for users, but they actually live with it.
It is nearly impossible to ensure 100% security and privacy.
Corporate users need to manage business legal documents.
Cloud adoption model: Public cloud model
As the name suggests, public clouds are available to the general public and resources are
shared by all users. It can be used by anyone from anywhere via the Internet. The public cloud
deployment model is one of the most popular cloud types.
This computer model is hosted in a provider's data center.
The public cloud model makes resources such as storage and applications publicly available via
the WWW. It caters to every desire. Therefore, resources are almost unlimited.
Characteristics of public cloud:
Key features of public clouds include:
Uniformly designed infrastructure
Operates on a pay-as-you-go basis
Economies of scale
SLAs ensure every user gets a fair share without prioritization
Multi-tenant architecture allows data to Very likely to be lost.
Cloud adoption model: Public cloud model cont..
Advantages of public cloud deployments
Robust permissions and authentication mechanisms provide high availability anytime, anywhere.
No cloud maintenance required.
There is no limit to the number of users.
The cloud service provider fully subsidizes the entire infrastructure.
Therefore, there is no need to set up any hardware.
There are no maintenance fees as the service provider takes care of it.
Operates on a pay-as-you-go model, so you don't have to pay for items you don't use.
No large upfront fees, making it ideal for businesses that need immediate access to resources.
Disadvantages of public cloud deployments
The advantages and disadvantages of public cloud deployment models are:
There are many security issues.
Data protection and organizational autonomy are not possible.
Unable to control the system hosting the business application.
Cloud adoption model: Private cloud model cont..
A private cloud deployment model is an environment dedicated to you or your customer.
All your hardware is yours, so you won't share it with anyone else.
This is a one-to-one, disposable environment, so you don't have to share your hardware with
anyone else.
The main difference between private and public cloud deployment models is how the
hardware is handled.
This is also known as the "internal cloud" and refers to the ability to access systems and
services within the boundaries of an organization or enterprise.
Cloud adoption model: Private cloud model cont..
Characteristics of private cloud
We have inconsistent infrastructure.
Risk of data leakage is very low.
Provides end-to-end control.
SLA is weak, but custom policies can be applied.
Internal infrastructure to easily manage resources.
Disadvantages of SOA:
High overhead: A validation of input parameters of services is done whenever services interact this
decreases performance as it increases load and response time.
High investment: A huge initial investment is required for SOA.
Complex service management: When services interact they exchange messages to tasks. the number of
messages may go in millions. It becomes a cumbersome task to handle a large number of messages.
Security, trust and privacy in cloud computing
Security
Cloud computing security is an important aspect of protecting data, applications, and
infrastructure hosted in cloud environments.
As enterprises increasingly adopt cloud services, ensuring data confidentiality, integrity, and
availability becomes increasingly important.
Important security considerations and best practices for cloud computing include:
Data encryption
Identity and access management
Network security
Updated system
Logging and monitoring
Backup and recovery
Security, trust and privacy in cloud computing cont…
Trust
Trust in cloud computing is a multifaceted concept that involves relying on cloud service
providers (CSPs) to provide secure, reliable, and compliant services.
Building trust in cloud computing is important for businesses considering or already using
cloud services.
Key factors that contribute to trust in cloud computing include:
Security measures
Compliance and certification
SLA
Data governance and ownership
Transparency and communication
Reliability and redundance
Risk managemen t
Security, trust and privacy in cloud computing cont…
Privacy
Data protection in cloud computing is of great importance, as it concerns the protection of
individuals' personal and sensitive data that is stored, processed, and transmitted via cloud
services.
Cloud computing presents unique data protection challenges and considerations, and both
cloud service providers (CSPs) and customers share responsibility for ensuring data protection
compliance.
The most important aspects of data protection in cloud computing are:
Data ownership and control
Data encryption
Access control
Data minimization
User consent