Unit 1 Notes
Unit 1 Notes
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 Challenges
The rapid development in multicore CPUs, memory chips, and disk arrays in the hardware
field has made it possible to create data centers with large volumes of storage space instantly.
While development in software standards like web 2.0 and SOA have immensely helped to
developed a cloud services.
The Service Oriented Architecture (SOA) is also a crucial component which is used in the
delivery of SaaS.
The web service software detects the status of the joining and leaving of each node server and
performs appropriate tasks accordingly. The virtualization of infrastructure allows for
quick cloud delivery and recovery from disasters. In recent cloud platforms, resources are
built into the data centers which are typically owned and operated by a third - party
provider.
The layered architecture of a cloud is composed of three basic layers called infrastructure,
platform and application. These three levels of architecture are implemented with
virtualization and standardization of cloud - provided hardware and software resources. This
architectural design facilitates public, private and hybrid cloud services that are conveyed to
users through networking support over the internet and the intranets.
in a local device. This layer provides an environment for users to create their applications,
test operation flows, track the performance and monitor execution results.
The platform must be ensuring to provide scalability, reliability and security. In this layer,
virtualized cloud platform, acts as an "application middleware" between the cloud
infrastructure and application layer of cloud. The platform layer is the foundation for
application layer.
A collection of all software modules required for SaaS applications forms the application
layer. This layer is mainly responsible for making on demand application delivery.
In this layer, software applications include day-to-day office management software’s used for
information collection, document processing, calendar and authentication.
Enterprises also use the application layer extensively in business marketing, sales, Customer
Relationship Management (CRM), financial transactions and Supply Chain Management
(SCM). It is important to remember that not all cloud services are limited to a single layer.
Many applications can require mixed - layers resources. After all, with a relation of
dependency, the three layers are constructed from the bottom-up approach. From the
perspective of the user, the services at various levels need specific amounts of vendor support
and resource management for functionality.
In general, SaaS needs the provider to do much more work, PaaS is in the middle and IaaS
requests the least. The best example of application layer is the [Link]'s CRM service
where not only the hardware at the bottom layer and the software at the top layer is supplied
by the vendor, but also the platform and software tools for user application development
and monitoring.
Unit-I CCS335-Cloud Computing
With today’s networking technology, a few LAN switches can easily connect hundreds
of machines as a working cluster. A WAN can connect many local clusters to form a very
large cluster of clusters. Massive systems are considered highly scalable, and can reach
web-scale connectivity, either physically or logically.
In the past 30 years, users have experienced a natural growth path from Internet to web
and grid computing services. Internet services such as the Telnet command enables a local
computer to connect to a remote computer. A web service such as HTTP enables remote access
of remote web pages. Grid computing is envisioned to allow close interaction among applications
running on distant computers simultaneously. Forbes Magazine has projected the global growth
of the IT-based economy from $1 trillion in 2001 to $20 trillion by 2015. The evolution from
Internet to web and grid services is certainly playing a major role in this growth.
machines act autonomously to join or leave the system freely. This implies that no master-slave
relationship exists among the peers. No central coordination or central database is needed. In
other words, no peer machine has a global view of the entire P2P system. The system is self-
organizing with distributed control.
Figure 1.17 shows the architecture of a P2P network at two abstraction levels. Initially, the
peers are totally unrelated. Each peer machine joins or leaves the P2P network voluntarily. Only
the participating peers form the physical network at any time. Unlike the cluster or grid, a P2P
network does not use a dedicated interconnection network. The physical network is simply an ad
hoc network formed at various Internet domains randomly using the TCP/IP and NAI protocols.
Thus, the physical network varies in size and topology dynamically due to the free membership
in the P2P network.
3.2 Overlay Networks
Data items or files are distributed in the participating peers. 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 as
shown in Figure 1.17. When a new peer joins the system, its peer ID is added as a node in the
overlay network. When an existing peer leaves the system, its peer ID is removed from the overlay
network automatically. Therefore, it is the P2P overlay network that characterizes the logical
connectivity among the peers.
There are two types of overlay networks: unstructured and structured. An unstructured
overlay network is characterized by a random graph. There is no fixed route to send messages or
files among the nodes. 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 net-works follow certain connectivity topology and rules for inserting and removing
Unit-I CCS335-Cloud Computing
nodes (peer IDs) from the overlay graph. Routing mechanisms are developed to take advantage
of the structured overlays.
3.3 P2P Application Families
Based on application, P2P networks are classified into four groups, as shown in Table 1.5.
The first family is for distributed file sharing of digital contents (music, videos, etc.) on the P2P
network. This includes many popular P2P networks such as Gnutella, Napster, and BitTorrent,
among others. Collaboration P2P networks include MSN or Skype chatting, instant messaging,
and collaborative design, among others.
3.4 P2P Computing Challenges
P2P computing faces three types of heterogeneity problems in hardware, software, and
network requirements. There are too many hardware models and architectures to select from;
incompatibility exists between software and the OS; and different network connections and
protocols
make it too complex to apply in real applications. We need system scalability as the workload
increases. System scaling is directly related to performance and bandwidth. P2P networks do
have these properties. Data location is also important to affect collective performance. Data
locality, network proximity, and interoperability are three design objectives in distributed P2P
applications.
3. Internet clouds :The idea is to move desktop computing to a service-oriented platform
using server clusters and huge databases at data centers. Cloud computing leverages
its low cost and simplicity to benefit both users and providers. Machine virtualization
has enabled such cost-effectiveness. Cloud computing intends to satisfy many user
Virtualized resources from data centers to form an Internet cloud, provisioned with
hardware, software, storage, network, and services for paid users to run their
applications.
Unit-I CCS335-Cloud Computing
The reference architecture model given by the National Institute of Standards and
Technology (NIST). The model offers approaches for secure cloud adoption while
contributing to cloud computing guidelines and standards.
The NIST team works closely with leading IT vendors, developers of standards, industries
and other governmental agencies and industries at a global level to support effective cloud
computing security standards and their further development. It is important to note that
this NIST cloud reference architecture does not belong to any specific vendor products,
services or some reference implementation, nor does it prevent further innovation in cloud
technology.
Cloud consumer
Cloud provider
Cloud auditor
Cloud broker
Cloud carrier
Unit-I CCS335-Cloud Computing
Now, understand that a cloud consumer can request cloud services directly from a
CSP or from a cloud broker. The cloud auditor independently audits and then contacts
other actors to gather information. We will now discuss the role of each actor in detail.
Cloud Consumer
A cloud consumer is the most important stakeholder. The cloud service is built to support
a cloud consumer. The cloud consumer uses the services from a CSP or person or asks an
organization that maintains a business relationship. The consumer then verifies the service
catalogue from the cloud provider and requests an appropriate service or sets up service
contracts for using the service. The cloud consumer is billed for the service used.
Some typical usage scenarios include :
Example 1 : Cloud consumer requests the service from the broker instead of directly
contacting the CSP. The cloud broker can then create a new service by combining
multiple services or by enhancing an existing service. Here, the actual cloud provider is not
visible to the cloud consumer. The consumer only interacts with the broker. This is
illustrated.
Unit-I CCS335-Cloud Computing
Example 2 : In this scenario, the cloud carrier provides for connectivity and transports
cloud services to consumers. This is illustrated in Fig. 1.5.
In Fig. 1.2.4, the cloud provider participates by arranging two SLAs. One SLA is with the
cloud provider (SLA2) and the second SLA is with the consumer (SLA1). Here, the cloud
provider will have an arrangement (SLA) with the cloud carrier to have secured, encrypted
connections. This ensures that the services are available for the consumer at a consistent level
to fulfil service requests. Here, the provider can specify the requirements, such as flexibility,
capability and functionalities in SLA2 to fulfil essential service requirements in SLA1.
Example 3 : In this usage scenario, the cloud auditor conducts independent evaluations
for a cloud service. The evaluations will relate to operations and security of cloud service
implementation. Here the cloud auditor interacts with both the cloud provider and consumer,
as shown in Fig. 1.6.
In all the given scenarios, the cloud consumer plays the most important role. Based on the
service request, the activities of other players and usage scenarios can differ for other cloud
consumers. Fig. 1.7 shows an example of available cloud services types.
In Fig. 1.7 note that SaaS applications are available over a network to all consumers. These
consumers may be organisations with access to software applications, end users, app
developers or administrators. Billing is based on the number of end users, the time of use,
network bandwidth consumed and for the amount or volume of data stored.
PaaS consumers can utilize tools, execution resources, development IDEs made available
by cloud providers. Using these resources, they can test, develop, manage, deploy and
configure many applications that are hosted on a cloud. PaaS consumers are billed based on
processing, database, storage, network resources consumed and for the duration of the
platform used.
Unit-I CCS335-Cloud Computing
On the other hand, IaaS consumers can access virtual computers, network - attached
storage, network components, processor resources and other computing resources that are
deployed and run arbitrary software. IaaS consumers are billed based on the amount and
duration of hardware resources consumed, number of IP addresses, volume of data stored,
network bandwidth, and CPU hours used for a certain duration.
Cloud Provider
Cloud provider is an entity that offers cloud services to interested parties. A cloud provider
manages the infrastructure needed for providing cloud services. The CSP also runs the
software to provide services and organizes the service delivery to cloud consumers
through networks.
SaaS providers then deploy, configure, maintain and update all operations of the
software application on the cloud infrastructure, in order to ensure that services are
provisioned and to fulfil cloud consumer service requests. SaaS providers assume most of
the responsibilities associated with managing and controlling applications deployed on the
infrastructure. On the other hand, SaaS consumers have no or limited administrative controls.
PaaS cloud providers manage the computing infrastructure and ensure that the
platform runs the cloud software and implements databases, appropriate runtime software
execution stack and other required middleware elements. They support development,
deployment and the management of PaaS consumers by providing them with necessary tools
such as IDEs, SDKs and others. PaaS providers have complete control of applications,
settings of the hosting environment, but have lesser control over the infrastructure lying
under the platform, network, servers, OS and storage.
Now, the IaaS CSP aggregates physical cloud resources such as networks, servers, storage
and network hosting infrastructure. The provider operates the cloud software and makes all
compute resources available to IaaS cloud consumer via a set of service interfaces, such as VMs
and virtual network interfaces. The IaaS cloud provider will have control over the physical
hardware and cloud software to enable provisioning and possible infrastructure services.
Unit-I CCS335-Cloud Computing
Cloud Auditor
The cloud auditor performs the task of independently evaluating cloud service controls
to provide an honest opinion when requested. Cloud audits are done to validate standards
conformance by reviewing the objective evidence. The auditor will examine services provided
by the cloud provider for its security controls, privacy, performance,
and so on.
Unit-I CCS335-Cloud Computing
Cloud Broker
The cloud broker collects service requests from cloud consumers and manages the use,
performance, and delivery of cloud services. The cloud broker will also negotiate and manage
the relationship between cloud providers and consumers. A cloud broker may provide services
that fall into one of the following categories :
Service intermediation : Here the cloud broker will improve some specific
capabilities, and provide value added services to cloud consumers.
Service aggregation : The cloud broker links and integrates different services into
one or more new services.
Service Arbitrage : This is similar to aggregation, except for the fact that services
that are aggregated are not fixed. In service arbitrage, the broker has the liberty to
choose services from different agencies.
Cloud Carrier
The cloud carrier tries to establish connectivity and transports cloud services between a
cloud consumer and a cloud provider. Cloud carriers offer network access for consumers,
by providing telecommunication links for accessing resources using other devices (laptops,
computers, tablets, smartphones, etc.). Usually, a transport agent is an entity offering
telecommunication carriers to a business organization to access resources. The cloud provider
will set up SLAs with cloud carrier to ensure carrier transport is consistent with the level of
SLA provided by the consumers. Cloud carriers provide secure and dedicated high - speed
links with cloud providers and between different cloud
Entities.
Actor Definition
A person or organization that maintains a business relationship
Cloud Consumer
with, and uses service from, Cloud Providers.
A person, organization, or entity responsible for making a service
Cloud Provider
available to interested parties.
An intermediary that provides connectivity and transport of cloud
Cloud Carrier
services from Cloud Providers to Cloud Consumers.
Unit-I CCS335-Cloud Computing
They describe the way in which users can access the cloud services. Each cloud deployment
model fits different organizational needs, so it's important that you pick a model that will suit
your organization's needs. The four deployment models are characterized based on the
functionality and accessibility of cloud services. The four deployment models of cloud
computing are shown in Fig. 1.9.
Public Cloud
The public cloud services are runs over the internet. Therefore, the users who want cloud
services have to have internet connection in their local device like thin client, thick client,
mobile, laptop or desktop etc. The public cloud services are managed and maintained by the
Cloud Service Providers (CSPs) or the Cloud Service Brokers (CSBs). The public cloud services
are often offered on utility base pricing like subscription or pay- per-use model. The public
cloud services are provided through internet and APIs. This model allows users to easily access
the services without purchasing any specialize hardware or software. Any device which has
web browser and internet connectivity can be a public cloud client. The popular public cloud
service providers are Amazon web services, Microsoft azure and Google app engine, Salesforce
etc.
1. It saves capital cost behind purchasing the server hardware’s, operating systems
and application software licenses.
2. There is no need of server administrators to take care of servers as they are kept at
CSPs data center and managed by them.
5. A user gets easy access to multiple services under a single self - service portal.
7. It is cheaper than in house cloud implementation because user have to pay for that they
have used.
8. The resources are easily scalable.
1. There is lack of data security as data is stored on public data center and managed by third
party data center vendors therefore there may be compromise of user’s confidential
data.
2. Expensive recovery of backup data.
Unit-I CCS335-Cloud Computing
3. User never comes to know where (at which location) their data gets stored, how that
can be recovered and how many replicas of data have been created.
Private Cloud
The private cloud services are used by the organizations internally. Most of the times it run
over the intranet connection. They are designed for a single organization therefore anyone
within the organization can get access to data, services and web applications easily through
local servers and local network but users outside the organizations cannot access them. This
type of cloud services are hosted on intranet therefore users who are connected to that intranet
get access to the services. The infrastructure for private cloud is fully managed and maintained
by the organization itself.
It is much more secure than public cloud as it gives freedom to local administrators to
write their own security policies for user’s access. It also provides good level trust and privacy
to the users. Private clouds are more expensive than public clouds due to the capital
expenditure involved in acquiring and maintaining them. The well-known private cloud
platforms are Openstack, Open nebula, Eucalyptus, VMware private cloud etc.
Advantages of private cloud
1. Speed of access is very high as services are provided through local servers over
local network.
2. It is more secure than public cloud as security of cloud services are handled by local
administrator.
3. It can be customized as per organizations need.
Hybrid Cloud
The hybrid cloud services are composed of two or more clouds that offers the benefits of
Unit-I CCS335-Cloud Computing
multiple deployment models. It mostly comprises on premise private cloud and off-
premise public cloud to leverage benefits of both and allow users inside and outside to
have access to it. The Hybrid cloud provides flexibility such that users can migrate their
applications and services from private cloud to public cloud and vice versa. It becomes
most favored in IT industry because of its eminent features like mobility, customized
security, high throughput, scalability, disaster recovery, easy backup and replication
across clouds, high availability and cost efficient etc. The popular hybrid clouds are AWS
with eucalyptus, AWS with VMware cloud, Google cloud with Nutanix etc.
The limitations of hybrid cloud are compatibility of deployment models, vendor-lock
in solutions, requires a common cloud management software and management of
separate cloud platforms etc.
Community Cloud
The community cloud is basically the combination of one or more public, private or
hybrid clouds, which are shared by many organizations for a single cause. The
community cloud is setup between multiple organizations whose objective is same. The
Infrastructure for community cloud is to be shared by several organizations within specific
community with common security, compliance objectives which is managed by third party
organizations or managed internally. The well-known community clouds are
Salesforce, Google community cloud etc.
Public Communit
[Link] Feature Cloud Private Cloud Hybrid Cloud y Cloud
Medium to
4 Reliability Medium High High Medium
Unit-I CCS335-Cloud Computing
Intranet and
7 Network Internet Intranet Internet
Internet
For general Organizations For general For
public internal staff public and Community
8 Availability organizations members
internal Staff
Combination of
salesforce
Openstack,
Windows community
VMware Openstack
9 Example Azure,
cloud, and
AWS etc.
CloudStack, AWS
Eucalyptus
etc.
A Cloud computing is meant to provide variety of services and applications for users
over the internet or intranet.
The most widespread services of cloud computing are categorised into three service
classes which are called cloud service models or cloud reference models or working
models of cloud computing.
They are based on the abstraction level of the offered capabilities and the service
model of the CSPs. The various service models are :
Infrastructure as a Service (IaaS)
Platform as a Service (PaaS)
Software as a Service (SaaS)
.
Unit-I CCS335-Cloud Computing
From Fig. 1.10, we can see that the Infrastructure as a Service (IaaS) is the bottommost layer
in the model and Software as a Service (SaaS) lies at the top.
The IaaS has lower level of abstraction and visibility, while SaaS has highest level of
visibility.
The Fig. 1.11 represents the cloud stack organization from physical infrastructure to
applications.
In this layered architecture, the abstraction levels are seen where higher layer services
include the services of the underlying layer.
The three services, IaaS, PaaS and SaaS, can exist independent of one another or may
combine with one another at some layers. Different layers in every cloud
Unit-I CCS335-Cloud Computing
computing model are either managed by the user or by the vendor (provider).
In case of the traditional IT model, all the layers or levels are managed by the user because
he or she is solely responsible for managing and hosting the applications.
In case of IaaS, the top five layers are managed by the user, while the four lower layers
(virtualisation, server hardware, storage and networking) are managed by vendors or
providers. So, here, the user will be accountable for managing the operating system via
applications and managing databases and security of applications.
The core middleware manages the physical resources and the VMs are deployed on top
of them. This deployment will provide the features of pay-per-use services and multi-tenancy.
Infrastructure services support cloud development environments and provide capabilities for
application development and implementation.
It provides different libraries, models for programming, APIs, editors and so on to support
application development. When this deployment is ready for the cloud, they can be used
by end-users/ organisations. With this idea, let us further explore the different service models.
Infrastructure as a Service (IaaS)
Developers use the IaaS service model to create virtual hardware on which
the applications and/ or services are developed.
Developers can create virtual private storage, virtual private servers, and virtual
private networks by using IaaS.
The private virtual systems contain software applications to complete the IaaS
solution. The infrastructure of IaaS consists of communication networks, physical
compute nodes, storage solutions and the pool of virtualized computing resources
managed by a service provider.
IaaS provides users with a web-based service that can be used to create, destroy
and manage virtual machines and storage.
The resources for this server instance are drawn from a mix of virtualised systems,
RAID disks, network and interface capacity. These are physical systems partitioned into
logical
The client in IaaS is allocated with its own private network. For example, Amazon EC2
enables this service to behave such that each server has its own separate network unless the
user creates a virtual private cloud. If the EC2 deployment is scaled by adding additional
networks on the infrastructure, it is easy to logically scale, but this can create an overhead
as traffic gets routed between logical networks.
In IaaS, the customer has controls over the OS, storage and installed applications, but has
Unit-I CCS335-Cloud Computing
limited control over network components. The user cannot control the underlying cloud
infrastructure. Services offered by Iaa S i nc lude web servers, server hosting,
computer hardware, OS, virtual instances, load balancing, web servers and bandwidth
provisioning. These services are useful during volatile demands and when there is a
computing resource need for a new business launch or when the company may not want to
buy hardware or if the organisation wants to expand.
Platform as a Service
The Platform as a Service can be defined as a computing platform that allows the
user to create web applications quickly and easily and without worrying about
buying and maintaining the software and infrastructure.
Platform-as-a-Service provides tools for development, deployment and testing the
softwares, middleware solutions, databases, programming languages and APIs for
developers to develop custom applications; without installing or configuring the
development environment.
The PaaS provides a platform to run web applications without installing them
in a local machine i.e. the applications written by the users can be directly run
on the PaaS cloud. It is built on the top of IaaS layer.
The PaaS realizes many of the unique benefits like utility computing, hardware
virtualization, dynamic resource allocation, low investment costs and pre-
configured development environment. It has all the application typically required
by the client deployed on it. Some key providers of PaaS clouds are Google App
Engine, Microsoft Azure, NetSuite, Red hat Open shift etc.
The PaaS realizes many of the unique benefits like utility computing, hardware
virtualization, dynamic resource allocation, low investment costs and pre-
configured development environment. It has all the application typically required
by the client deployed on it. Some key providers of PaaS clouds are Google App
Engine, Microsoft Azure, NetSuite, Red hat Open shift etc.
The PaaS model includes the software environment where the developer can
create custom solutions using development tools available with the PaaS platform.
The components of a PaaS platform are shown in Fig. 1.13. Platforms can support
specific development languages, frameworks for applications and other
constructs. Also, PaaS provides tools and development environments to design
applications. Usually, a fully Integrated
Unit-I CCS335-Cloud Computing
Components of PaaS
A PaaS customer can control services such as device integration, session management,
content management, sandbox, and so on. In addition to these services, customer controls are
also possible in Universal Description Discovery and Integration (UDDI), and platform
independent Extensible Mark-up Language (XML) registry that allows registration and
identification of web service apps.
Let us consider an example of Google app engine.
The platform allows developers to program apps using Google’s published APIs. In this
platform, Google defines the tools to be used within the development framework, the file
system structure and data stores. A similar PaaS offering is given by [Link], another
vendor that is based on the [Link] development platform for the latter’s SaaS
[Link] provides an add - on development environment.
In PaaS, note that developers can build an app with Python and Google API. Here, the PaaS
vendor is the developer who offers a complete solution to the user.
Unit-I CCS335-Cloud Computing