UNIT 1
UNIT 1
Cloud Architecture: System Models for Distributed and Cloud Computing – NIST Cloud
Computing Reference Architecture – Cloud deployment models – Cloud service models; Cloud
Infrastructure: Architectural Design of Compute and Storage Clouds – Design Challenge
The term cloud refers to a network or the internet. It is a technology that uses remote servers
on the internet to store, manage, and access data online rather than local drives. The data can
be anything such as files, images, documents, audio, video, and more. There are the following
operations that we can do using cloud computing: o Developing new applications and services
of Storage, back up, and recovery of data o Hosting blogs and websites o Delivery of software
on demand o Analysis of data o Streaming videos and audios.
As we know, cloud computing technology is used by both small and large organizations
to store the information in cloud and access it from anywhere at anytime using the internet
connection.
Cloud computing architecture is a combination of service-oriented architecture and event-
driven architecture.
o Front End
o Back End
Figure 2: Cloud Computing – Everything as a Service (Sharing the Resources (Database, App
Server, API, Mobile & PC)
Front End
The front end is used by the client. It contains client-side interfaces and applications that are
required to access the cloud computing platforms. The front end includes web servers
(including Chrome, Firefox, internet explorer, etc.), thin & fat clients, tablets, and mobile
devices.
Back End
The back end is used by the service provider. It manages all the resources that are required to
provide cloud computing services. It includes a huge amount of data storage, security
mechanism, virtual machines, deploying models, servers, traffic control mechanisms, etc.
1. Client Infrastructure
Client Infrastructure is a Front end component. It provides GUI (Graphical User Interface) to
interact with the cloud.
2. Application
The application may be any software or platform that a client wants to access.
3. Service
A Cloud Services manages that which type of service you access according to the client’s
requirement.
i. Software as a Service (SaaS) – It is also known as cloud application services. Mostly, SaaS
applications run directly through the web browser means we do not require to download and
install these applications. Some important example of SaaS is given below –
ii. Platform as a Service (PaaS) – It is also known as cloud platform services. It is quite
similar to SaaS, but the difference is that PaaS provides a platform for software creation, but
using SaaS, we can access software over the internet without the need of any platform.
Example: Windows Azure, Force.com, Magento Commerce Cloud, OpenShift.
Example: Amazon Web Services (AWS) EC2, Google Compute Engine (GCE), Cisco
Metapod.
4. Runtime Cloud
Runtime Cloud provides the execution and runtime environment to the virtual machines.
5. Storage
Storage is one of the most important components of cloud computing. It provides a huge
amount of storage capacity in the cloud to store and manage data.
6. Infrastructure
It provides services on the host level, application level, and network level. Cloud
infrastructure includes hardware and software components such as servers, storage, network
devices, virtualization software, and other storage resources that are needed to support the
cloud computing model.
7. Management
8. Security
9. Internet
The Internet is medium through which front end and back end can interact and communicate
with each other.
System Models for Distributed and Cloud Computing
• WAN connect many local clusters to form a very large cluster of clusters.
• A massive system with millions of computers connected to edge networks can be build in this
way.
• Massive systems are considered highly scalable, and can reach web-scale
connectivity 3 physically or logically.
• These four system classes may involve hundreds, thousands, or even millions of
computers as participating nodes.
• An ideal cluster should merge multiple system images into a single-system image.
• A cluster with multiple system images is nothing but a collection of independent computers.
• Middleware:
• Special cluster middleware supports are needed to create SSI.
• Personal computers, laptops, and PDAs can be used as access devices to a grid system.
• Computational grid built over multiple resource sites owned by different organizations.
• The grid is built across various IP broadband networks including LANs and WANs
already used by enterprises or organizations over the Internet.
• The grid is presented to users as an integrated resource pool
• Special instruments may be involved such as using the radio telescope in SETI@Home
search of life in the galaxy
• The grid integrates the computing, communication, contents, and transactions as rented
services.
• Industrial grid platform development by IBM, Microsoft, Sun, HP, Dell, Cisco
• P2P systems are introduced at the physical level and overlay networks at the logical level.
P2P Systems:
• Every node acts as both a client and a server, providing part of the system resources.
• All client machines act autonomously to join or leave the system freely.
Physical Network:
• The physical network is simply an ad hoc network formed at various Internet domains
randomly using the TCP/IP and NAI protocols
Overlay Network:
• Based on communication or file-sharing needs, the peer IDs form an overlay network
at the logical level.
• This overlay is a virtual network formed by mapping each physical machine with its ID,
logically, through a virtual mapping.
• When a new peer joins the system, its peer ID is added as a node in the overlay network
and is removed from the overlay network automatically when it leaves.
• Therefore, it is the P2P overlay network that characterizes the logical connectivity
among the peers.
• Two types of overlay networks:
• unstructured and structured
• Often, flooding is applied to send a query to all nodes in an unstructured overlay, thus
resulting in heavy network traffic and nondeterministic search results.
• Structured overlay networks follow certain connectivity topology and rules for
inserting and removing nodes (peer IDs) from the overlay graph.
• Routing mechanisms are developed to take advantage of the structured overlays.
• The cloud supports redundant, self-recovering, highly scalable programming models that
allow workloads to recover from many unavoidable hardware/software failures.
• Finally, the cloud system should be able to monitor resource use in real time to enable
rebalancing of allocations when needed.
Definitions
🞂 A model of computation and data storage based on “pay as
you go” access to “unlimited” remote data center capabilities.
🞂 A cloud infrastructure provides a framework to manage scalable,
reliable, on-demand access to applications.
🞂 Cloud services provide the “invisible” backend to many of our mobile
applications.
High level of elasticity in consumption.
The goal is to accelerate the federal government’s adoption of secure and effective cloud
computing to reduce costs and improve services.
🞂 In this example, the actual cloud providers are invisible to the cloud
consumer.
🞂 The cloud consumer interacts directly with the cloud broker.
Example Usage Scenario 2
🞂 The cloud consumer is the principal stakeholder for the cloud computing
service.
🞂 A cloud consumer represents a person or organization that
maintains a business relationship with, and uses the service from a cloud
provider.
The cloud consumer may be billed for the service provisioned, and needs to
arrange payments accordingly.
Cloud Provider
Cloud Auditor
Cloud Broker
Cloud Carrier
The Cloud Provider and Cloud Consumer share the control of resources in a cloud system
In cloud computing, we have access to a shared pool of computer resources (servers, storage,
programs, and so on) in the cloud. You simply need to request additional resources when you require
them. Getting resources up and running quickly is a breeze thanks to the clouds. It is possible to
release resources that are no longer necessary. This method allows you to just pay for what you use.
Your cloud provider is in charge of all upkeep.
What is a Cloud Deployment Model?
Cloud Deployment Model functions as a virtual computing environment with a deployment
architecture that varies depending on the amount of data you want to store and who has access to the
infrastructure.
Types of Cloud Computing Deployment Models
The cloud deployment model identifies the specific type of cloud environment based on ownership,
scale, and access, as well as the cloud’s nature and purpose. The location of the servers you’re
utilizing and who controls them are defined by a cloud deployment model. It specifies how your
cloud infrastructure will look, what you can change, and whether you will be given services or will
have to create everything yourself. Relationships between the infrastructure and your users are also
defined by cloud deployment types. Different types of cloud computing deployment models are
described below.
Public Cloud
Private Cloud
Hybrid Cloud
Community Cloud
Multi-Cloud
Public Cloud
The public cloud makes it possible for anybody to access systems and services. The public cloud
may be less secure as it is open to everyone. The public cloud is one in which cloud infrastructure
services are provided over the internet to the general people or major industry groups. The
infrastructure in this cloud model is owned by the entity that delivers the cloud services, not by the
consumer. It is a type of cloud hosting that allows customers and users to easily access systems and
services. This form of cloud computing is an excellent example of cloud hosting, in which service
providers supply services to a variety of customers. In this arrangement, storage backup and retrieval
services are given for free, as a subscription, or on a per-user basis. For example, Google App Engine
etc.
Public Cloud
Private Cloud
The private cloud deployment model is the exact opposite of the public cloud deployment model.
It’s a one-on-one environment for a single user (customer). There is no need to share your hardware
with anyone else. The distinction between private and public clouds is in how you handle all of the
hardware. It is also called the “internal cloud” & it refers to the ability to access systems and services
within a given border or organization. The cloud platform is implemented in a cloud-based secure
environment that is protected by powerful firewalls and under the supervision of an organization’s
IT department. The private cloud gives greater flexibility of control over cloud resources.
Private Cloud
Hybrid Cloud
By bridging the public and private worlds with a layer of proprietary software, hybrid cloud
computing gives the best of both worlds. With a hybrid solution, you may host the app in a safe
environment while taking advantage of the public cloud’s cost savings. Organizations can move data
and applications between different clouds using a combination of two or more cloud deployment
methods, depending on their needs.
Hybrid Cloud
Community Cloud
It allows systems and services to be accessible by a group of organizations. It is a distributed system
that is created by integrating the services of different clouds to address the specific needs of a
community, industry, or business. The infrastructure of the community could be shared between the
organization which has shared concerns or tasks. It is generally managed by a third party or by the
combination of one or more organizations in the community.
Community Cloud
Advantages of the Community Cloud Model
Cost Effective: It is cost-effective because the cloud is shared by multiple
organizations or communities.
Security: Community cloud provides better security.
Shared resources: It allows you to share resources, infrastructure, etc. with
multiple organizations.
Collaboration and data sharing: It is suitable for both collaboration and data
sharing.
Disadvantages of the Community Cloud Model
Limited Scalability: Community cloud is relatively less scalable as many
organizations share the same resources according to their collaborative interests.
Rigid in customization: As the data and resources are shared among different
organizations according to their mutual interests if an organization wants some
changes according to their needs they cannot do so because it will have an impact
on other organizations.
Multi-Cloud
We’re talking about employing multiple cloud providers at the same time under this paradigm, as
the name implies. It’s similar to the hybrid cloud deployment approach, which combines public and
private cloud resources. Instead of merging private and public clouds, multi-cloud uses many public
clouds. Although public cloud providers provide numerous tools to improve the reliability of their
services, mishaps still occur. It’s quite rare that two distinct clouds would have an incident at the
same moment. As a result, multi-cloud deployment improves the high availability of your services
even more.
Multi-Cloud
Advantages of the Multi-Cloud Model
You can mix and match the best features of each cloud provider’s services to suit
the demands of your apps, workloads, and business by choosing different cloud
providers.
Reduced Latency: To reduce latency and improve user experience, you can choose
cloud regions and zones that are close to your clients.
High availability of service: It’s quite rare that two distinct clouds would have an
incident at the same moment. So, the multi-cloud deployment improves the high
availability of your services.
Disadvantages of the Multi-Cloud Model
Complex: The combination of many clouds makes the system complex and
bottlenecks may occur.
Security issue: Due to the complex structure, there may be loopholes to which a
hacker can take advantage hence, makes the data insecure.
Cloud Service Models
Cloud Computing can be defined as the practice of using a network of remote servers hosted on the
Internet to store, manage, and process data, rather than a local server or a personal computer.
Companies offering such kinds of cloud computing services are called cloud providers and
typically charge for cloud computing services based on usage. Grids and clusters are the
foundations for cloud computing.
Types of Cloud Computing
Most cloud computing services fall into five broad categories:
1. Software as a service (SaaS)
2. Platform as a service (PaaS)
3. Infrastructure as a service (IaaS)
4. Anything/Everything as a service (XaaS)
These are sometimes called the cloud computing stack because they are built on top of one
another. Knowing what they are and how they are different, makes it easier to accomplish your
goals. These abstraction layers can also be viewed as a layered architecture where services of a
higher layer can be composed of services of the underlying layer i.e, SaaS can provide
Infrastructure.
Software as a Service(SaaS)
Software-as-a-Service (SaaS) is a way of delivering services and applications over the Internet.
Instead of installing and maintaining software, we simply access it via the Internet, freeing
ourselves from the complex software and hardware management. It removes the need to install and
run applications on our own computers or in the data centers eliminating the expenses of hardware
as well as software maintenance.
SaaS provides a complete software solution that you purchase on a pay-as-you-go basis from a
cloud service provider. Most SaaS applications can be run directly from a web browser without
any downloads or installations required. The SaaS applications are sometimes called Web-based
software, on-demand software, or hosted software.
Advantages of SaaS
1. Cost-Effective: Pay only for what you use.
2. Reduced time: Users can run most SaaS apps directly from their web browser without
needing to download and install any software. This reduces the time spent in installation
and configuration and can reduce the issues that can get in the way of the software
deployment.
3. Accessibility: We can Access app data from anywhere.
4. Automatic updates: Rather than purchasing new software, customers rely on a SaaS
provider to automatically perform the updates.
5. Scalability: It allows the users to access the services and features on-demand.
The various companies providing Software as a service are Cloud9 Analytics, Salesforce.com,
Cloud Switch, Microsoft Office 365, Big Commerce, Eloqua, dropBox, and Cloud Tran.
Disadvantages of Saas :
1. Limited customization: SaaS solutions are typically not as customizable as on-premises
software, meaning that users may have to work within the constraints of the SaaS
provider’s platform and may not be able to tailor the software to their specific needs.
2. Dependence on internet connectivity: SaaS solutions are typically cloud-based, which
means that they require a stable internet connection to function properly. This can be
problematic for users in areas with poor connectivity or for those who need to access the
software in offline environments.
3. Security concerns: SaaS providers are responsible for maintaining the security of the
data stored on their servers, but there is still a risk of data breaches or other security
incidents.
4. Limited control over data: SaaS providers may have access to a user’s data, which can
be a concern for organizations that need to maintain strict control over their data for
regulatory or other reasons.
Platform as a Service
PaaS is a category of cloud computing that provides a platform and environment to allow
developers to build applications and services over the internet. PaaS services are hosted in the
cloud and accessed by users simply via their web browser.
A PaaS provider hosts the hardware and software on its own infrastructure. As a result, PaaS frees
users from having to install in-house hardware and software to develop or run a new application.
Thus, the development and deployment of the application take place independent of the
hardware.
The consumer does not manage or control the underlying cloud infrastructure including network,
servers, operating systems, or storage, but has control over the deployed applications and possibly
configuration settings for the application-hosting environment. To make it simple, take the
example of an annual day function, you will have two options either to create a venue or to rent a
venue but the function is the same.
Advantages of PaaS:
1. Simple and convenient for users: It provides much of the infrastructure and other IT
services, which users can access anywhere via a web browser.
2. Cost-Effective: It charges for the services provided on a per-use basis thus eliminating
the expenses one may have for on-premises hardware and software.
3. Efficiently managing the lifecycle: It is designed to support the complete web
application lifecycle: building, testing, deploying, managing, and updating.
4. Efficiency: It allows for higher-level programming with reduced complexity thus, the
overall development of the application can be more effective.
The various companies providing Platform as a service are Amazon Web services Elastic
Beanstalk, Salesforce, Windows Azure, Google App Engine, cloud Bees and IBM smart cloud.
Disadvantages of Paas:
1. Limited control over infrastructure: PaaS providers typically manage the underlying
infrastructure and take care of maintenance and updates, but this can also mean that
users have less control over the environment and may not be able to make certain
customizations.
2. Dependence on the provider: Users are dependent on the PaaS provider for the
availability, scalability, and reliability of the platform, which can be a risk if the provider
experiences outages or other issues.
3. Limited flexibility: PaaS solutions may not be able to accommodate certain types of
workloads or applications, which can limit the value of the solution for certain
organizations.
Infrastructure as a Service
Advantages of IaaS:
1. Cost-Effective: Eliminates capital expense and reduces ongoing cost and IaaS
customers pay on a per-user basis, typically by the hour, week, or month.
2. Website hosting: Running websites using IaaS can be less expensive than traditional
web hosting.
3. Security: The IaaS Cloud Provider may provide better security than your existing
software.
4. Maintenance: There is no need to manage the underlying data center or the introduction
of new releases of the development or underlying software. This is all handled by the
IaaS Cloud Provider.
The various companies providing Infrastructure as a service are Amazon web services, Bluestack,
IBM, Openstack, Rackspace, and Vmware.
Disadvantages of laaS :
1. Limited control over infrastructure: IaaS providers typically manage the underlying
infrastructure and take care of maintenance and updates, but this can also mean that
users have less control over the environment and may not be able to make certain
customizations.
2. Security concerns: Users are responsible for securing their own data and applications,
which can be a significant undertaking.
3. Limited access: Cloud computing may not be accessible in certain regions and countries
due to legal policies.
Anything as a Service
It is also known as Everything as a Service. Most of the cloud service providers nowadays offer
anything as a service that is a compilation of all of the above services including some additional
services.
Advantages of XaaS:
1. Scalability: XaaS solutions can be easily scaled up or down to meet the changing needs
of an organization.
2. Flexibility: XaaS solutions can be used to provide a wide range of services, such as
storage, databases, networking, and software, which can be customized to meet the
specific needs of an organization.
3. Cost-effectiveness: XaaS solutions can be more cost-effective than traditional on-
premises solutions, as organizations only pay for the services.
Disadvantages of XaaS:
1. Dependence on the provider: Users are dependent on the XaaS provider for the
availability, scalability, and reliability of the service, which can be a risk if the provider
experiences outages or other issues.
2. Limited flexibility: XaaS solutions may not be able to accommodate certain types of
workloads or applications, which can limit the value of the solution for certain
organizations.
3. Limited integration: XaaS solutions may not be able to integrate with existing systems
and data sources, which can limit the value of the solution for certain organizations.
lOMoARcPSD|17242252
LAYERED ARCHITECTURE:
🞂 The cloud computing resources are built into the data centers.
🞂 Data centers are typically owned and operated by a third-party
provider. Consumers do not need to know the underlying technologies
🞂 In a cloud, software becomes a service.
🞂 Cloud demands a high degree of trust of massive amounts of data retrieved
from large data centers.
🞂 The software infrastructure of a cloud platform must handle all resource
management and maintenance automatically.
🞂 Software must detect the status of each node server joining and leaving.
🞂 Cloud computing providers such as Google and Microsoft, have built a large
number of data centers.
🞂 Each data center may have thousands of servers.
🞂 The location of the data center is chosen to reduce power and cooling costs.
Infrastructure Layer
Platform Layer
Application Layer
QoS parameters
🞂 Time
🞂 Cost
🞂 Reliability
🞂 Trust/security
QoS requirements cannot be static and may change over time.
lOMoARcPSD|17242252
o Cyber criminals, attack target websites and online services and makes
Solution:
o Some SaaS providers provide the opportunity to defend against DDoS
Data Lock-in
Cloud services are prone to attacks because they are accessed through internet.
Security is given by
o Storing the encrypted data in to cloud.
o Firewalls, filters.
Cloud environment attacks include
o Guest hopping
o Hijacking
o VM rootkits.
Guest Hopping: Virtual machine hyper jumping (VM jumping) is an attack
method that exploits(make use of) hypervisor’s weakness that allows a virtual
machine (VM) to be accessed from another.
Hijacking: Hijacking is a type of network security attack in which the
attacker takes control of a communication
Multiple VMs can share CPUs and main memory in cloud computing, but I/O
sharing is problematic.
Internet applications continue to become more data-intensive (handles huge
amount of data).
Handling huge amount of data (data intensive) is a bottleneck in cloud environment.
Weak Servers that does not provide data transfers properly must be removed
from cloud environment
Interoperability
Standardization