SlideShare a Scribd company logo
1 of 103
Download to read offline
UNIT 3
UNIT III CLOUD ARCHITECTURE, SERVICES AND
STORAGE
Layered Cloud Architecture Design – NIST Cloud Computing
Reference Architecture Public, Private and Hybrid Clouds – laaS
– PaaS – SaaS – Architectural Design Challenges – Cloud Storage
– Storage-as-a-Service – Advantages of Cloud Storage – Cloud
Storage Providers – S3.
Introduction
What is Cloud Computing
• 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.
• Cloud computing is a virtualization-based technology that allows
us to create, configure, and customize applications via an
internet connection. The cloud technology includes a
development platform, hard disk, software application, and
database.
There are the following operations that we can do using cloud
computing:
• Developing new applications and services
• Storage, back up, and recovery of data
• Hosting blogs and websites
• Delivery of software on demand
• Analysis of data
• Streaming videos and audios
Why Cloud Computing?
• Small as well as large IT companies, follow the traditional
methods to provide the IT infrastructure. That means for any IT
company, we need a Server Room that is the basic need of IT
companies.
• In that server room, there should be a database server, mail
server, networking, firewalls, routers, modem, switches, QPS
(Query Per Second means how much queries or load will be
handled by the server), configurable system, high net speed, and
the maintenance engineers.
• To establish such IT infrastructure, we need to spend lots of
money. To overcome all these problems and to reduce the IT
infrastructure cost, Cloud Computing comes into existence.
Cloud Computing Architecture
• 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.
• Cloud computing architecture is divided into the following two
parts –
Front End
Back End
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
Components of Cloud Computing Architecture
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.
Cloud computing offers the following three type of services:
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 –
Example: Google Apps, Salesforce Dropbox, Slack, Hubspot, Cisco WebEx.
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.
iii. Infrastructure as a Service (IaaS) – It is also known as cloud
infrastructure services. It is responsible for managing applications data,
middleware, and runtime environments.
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
Management is used to manage components such as application, service,
runtime cloud, storage, infrastructure, and other security issues in the backend
and establish coordination between them.
8. Security
Security is an in-built back end component of cloud computing. It implements
a security mechanism in the back end.
9. Internet
The Internet is medium through which front end and back end can interact and
communicate with each other.
•
Layered Cloud
Architectural Design
Layered Cloud Architectural Design
The architecture of a cloud is developed at three layers:
infrastructure, platform, and application as demonstrated in Fig.
• These three development layers are implemented with
virtualization and standardization of hardware and software
resources provisioned in the cloud.
• The services to public, private, and hybrid clouds are
conveyed to users through the networking support over the
Internet and intranets involved.
• It is clear that the infrastructure layer is deployed
first to support IaaS type of services.
• This infrastructure layer serves as the foundation to build
the platform layer of the cloud for supporting PaaS
services.
• In turn, the platform layer is a foundation to implement the
application layer for SaaS applications.
• It is possible to organize all the concrete realizations of cloud
computing into a layered view covering the entire stack (see
Figure), from hardware appliances to software systems.
• The infrastructure layer is built with virtualized compute,
storage and network resources. The abstraction of these
hardware resources is meant to provide the flexibility demanded
by users. Internally, the virtualization realizes the automated
provisioning of resources and optimizes the infrastructure
management process.
• The platform layer is for general-purpose and repeated usage
of the collection of software resources. This layer provides the
users with an environment to develop their applications, to text
the operation flows, and to monitor the execution results and
performance. The platform should be able to assure the users
with scalability, dependability, and security protection. In a way,
the virtualized cloud platform serves as a “system middleware”
between the infrastructure and application layers of the cloud
• The application layer is formed with a collection of all
needed software modules for SaaS applications. Service
applications in this layer include daily office management work,
such as information retrieval, document , processing, and
calendar and authentication services, etc. The application layer is
also heavily used by enterprises in business marketing and sales,
consumer relationship management (CRM), financial
transactions, supply chain management, etc. It should be noted
that not all cloud services are restricted to a single layer. Many
applications may apply resources at mixed layers. After all, the
three layers are built from bottom up with a dependence
relationship.
• From the provider’s perspective, the services at various layers demand
different amounts of function support and resource management by
the providers. In general, the SaaS demands the most work from the
provider, the PaaS in the middle, and IaaS the least.
• The best example is the Salesforce CRM service in which the provider
supplies not only the hardware at the bottom layer and the software at
the top layer, but also provides the platform and software tools for
user application development and monitory.
NIST Cloud Computing
Reference Architecture
Cloud Conceptual Reference
Model
 Cloud High-level architecture
 Five major actors with their roles, responsibilities, activities and
functions in cloud computing.
 Understanding of the requirements, uses, characteristics and standards
of cloud computing.
1. Cloud Consumer
2. Cloud Provider
3. Cloud Broker
4. CloudAuditor
5. Cloud Carrier
NIST Cloud Computing ReferenceArchitecture
Cloud Service
Characteristics
 On demand self-service
 Broad network access
 Resource pooling
 Rapid elasticity
 Measured service
NIST Cloud Computing ReferenceArchitecture
Actors in Cloud Computing
 Cloud Consumer A person or organization that maintains a business relationship with,
and uses service from, CloudProviders.
 Cloud Provider A person, organization, or entity responsible for making aservice
available to interested parties.
 Cloud Auditor A party that can conduct independent assessment of cloud services,
information system operations, performance and security of the cloud
implementation.
 Cloud Broker An entity that manages the use, performance and delivery ofcloud
services, and negotiates relationships between Cloud Providers and CloudConsumers.
 Cloud Carrier An intermediary that provides connectivity and transport of
cloud services from Cloud Providers to Cloud Consumers.
NIST Cloud Computing ReferenceArchitecture
Scenarios in Cloud:
1
1. Cloud consumer interacts with the cloud broker instead of
contacting a cloud provider directly.
2. The cloud broker may create a new service (mash up) by
combining multiple services or by enhancing an existing
service.
3. Actual cloud providers are invisible to the cloud consumer.
NIST Cloud Computing ReferenceArchitecture
Scenarios in Cloud:
2
1. Cloud carriers provide the connectivity and transport of
cloud services from cloud providers to cloud consumers.
2. Cloud provider participates in and arranges for two unique
service level agreements (SLAs), one with a cloud carrier
(e.g.SLA2) and one with a cloud consumer (e.g.SLA1).
3. A cloud provider may request cloud carrier to provide
dedicated and encrypted connections to ensure the cloud
services (SLA’s).
NIST Cloud Computing ReferenceArchitecture
Scenarios in Cloud:
3
1. Cloud auditor conducts independent assessments for the
operation and security of the cloud service.
2. The audit may involve interactions with both the Cloud
Consumer and the Cloud Provider.
NIST Cloud Computing ReferenceArchitecture
Cloud
Consumer
NIST Cloud Computing ReferenceArchitecture
 Cloud consumer browses & uses the service.
 Cloud consumer sets up contracts with the cloud provider.
 Cloud consumers need SLAs to specify the technical
performance requirements fulfilled by a cloud provider.
 SLAs cover the quality of service, security, remedies for
performance failures.
 A cloud provider list some SLAs that limit and obligate the
cloud consumers by must acceptance.
 Cloud consumer can freely choose a cloud provider with
better pricing with favorable conditions.
 Pricing policy and SLAs are non-negotiable.
Cloud
Consumer
NIST Cloud Computing ReferenceArchitecture
SaaS consumers
NIST Cloud Computing ReferenceArchitecture
 SaaS consumers can be organizations that provide their
members with access to software applications, end users
who directly use software applications, or software
application administrators who configure applications for
end users.
 SaaS consumers can be billed based on the number of
end users, the time of use, the network bandwidth
consumed, the amount of data stored or duration of
stored data.
PaaS consumers
NIST Cloud Computing ReferenceArchitecture
 PaaS consumers can be application developers or
administrators
1. who design and implement application software
2. application testers who run and test applications
3. who publish applications into the cloud
4. who configure and monitor application performance.
 PaaS consumers can be billed according to,
processing, database storage and network resources
consumed by the PaaS application, and the duration of
the platform usage.
IaaS consumer
NIST Cloud Computing ReferenceArchitecture
 IaaS consumer can be system developers, systemadministrators
and IT managers who are interested in creating, installing,
managing and monitoring services for IT infrastructure
operations.
 IaaS consumer can be billed according to the amount or
duration of the resources consumed, such as CPU hours usedby
virtual computers, volume and duration of data stored,network
bandwidth consumed, number of IP addresses used for certain
intervals.
Cloud Provider
NIST Cloud Computing ReferenceArchitecture
 Cloud Provider acquires and manages the computing infrastructure
required for providing the services, runs the cloud software that
provides the services, and makes arrangement to deliver the cloud
services to the Cloud Consumers through network access.
 SaaS provider deploys, configures, maintains and updates the operation
of the software applications on a cloud infrastructure. SaaS provider
maintains the expected service levels to cloud consumers.
 PaaS Provider manages the computing infrastructure for the platform
and components (runtime software execution stack, databases, and
other middleware).
 IaaS Cloud Provider provides physical hardware and cloud software that
makes the provisioning of these infrastructure services, for example, the
physical servers, network equipments, storage devices, host OS and
hypervisors for virtualization.
Cloud Provider
Five major activities of Cloud Provider's
 Service deployment
 Service orchestration
 Cloud service management
 Security
 Privacy
NIST Cloud Computing ReferenceArchitecture
Cloud Auditor
NIST Cloud Computing ReferenceArchitecture
 Audits are performed to verify conformance to standards.
 Auditor evaluates the security controls, privacy impact,
performance,etc.
 Auditing is especially important for federal agencies.
 Security auditing, can make an assessment of the security controls
to determine the extent to which the controls are implemented
correctly, operating as intended, and producing the desired
outcome.This is done by verification of the compliance with
regulation and security policy.
 Privacy audit helps in Federal agencies comply with applicable
privacy laws and regulations governing an individual's privacy, and
to ensure confidentiality, integrity, and availability of an
individual's personal information at every stage of development
and operation.
Cloud Broker
NIST Cloud Computing ReferenceArchitecture
 Integration of cloud services can be complex for consumers.
Hence cloud broker,is needed.
 Broker manages the use, performance and delivery of cloud services
and negotiates relationships between cloud providers and cloud
consumers.
 In general, a cloud broker can provide services in three categories:
 Service Intermediation: Broker enhances a service by improving
capability and providing value-added services to consumers. The
improvement can be managing access to cloud services, identity
management, performance reporting, enhanced security,etc.
 Service Aggregation: Broker combines and integrates multiple
services into one or more new services. The broker provides data
integration and ensures the secure data movement.
 Service Arbitrage: It is similar to service aggregation with the
flexibility to choose services from multiple agencies. For
example, broker can select service with the best response
time.
Cloud Carrier
NIST Cloud Computing ReferenceArchitecture
 Cloud carriers provide access to consumers through network,
telecommunication and other access devices.
 For example, cloud consumers can obtain cloud services through
network access devices, such as computers, laptops, mobile
phones, mobile internet devices (MIDs),etc.
 The distribution of cloud services is normally provided by
network and telecommunication carriers or a transport agent,
where a transport agent refers to a business organization that
provides physical transport of storage media such as high-capacity
hard drives.
 Cloud provider can set up SLAs with a cloud carrier to provide
services consistent with the level of SLAs offered to cloud
consumers.
Scope of Control between
Provider and Consumer
 Application layer are used by SaaS consumers, or installed/managed/ maintained by
PaaS consumers, IaaS consumers, and SaaS providers.
 Middleware is used by PaaS consumers, installed/managed/maintained by IaaS
consumers or PaaS providers (libraries,dbms, JavaVMs). Middleware is hidden from
SaaS consumers.
 IaaS layer is hidden from SaaS consumers and PaaS consumers. (operating systemVMs
and drivers). Consumers have freedom to choose OS to be hosted.
NIST Cloud Computing ReferenceArchitecture
CLOUD SERVICE –
REFERENCE MODEL
It is possible to organize all the concrete realizations of cloud computing
into a layered view covering the entire stack (see Figure), from hardware
appliances to software systems.
Cloud Software as a Service (SaaS)
The capability provided to the consumer is to use the provider’s
applications running on a cloud infrastructure and accessible from various
client devices through a thin client interface such as a Web browser (e.g.,
web-based email). The consumer does not manage or control the
underlying cloud infrastructure, network, servers, operating systems,
storage, or even individual application capabilities, with the possible
exception of limited user-specific application configuration settings.
Cloud Platform as a Service (PaaS)
The capability provided to the consumer is to deploy onto the cloud
infrastructure consumer-created applications using programming
languages and tools supported by the provider (e.g., Java, Python, .Net).
The consumer does not manage or control the underlying cloud
infrastructure, network, servers, operating systems, or storage, but the
consumer has control over the deployed applications and possibly
application hosting environment configurations.
Cloud Infrastructure as a Service (IaaS)
The capability provided to the consumer is to rent processing, storage,
networks, and other fundamental computing resources where the
consumer is able to deploy and run arbitrary software, which can include
operating systems and applications. The consumer does not manage or
control the underlying cloud infrastructure but has control over operating
systems, storage, deployed applications, and possibly select networking
components (e.g., firewalls, load balancers).
Services
SaaS: Consumers have only limited administrative control
of the applications and services
PaaS: The provider manages infrastructure and provides
tools of deployment of applications; the consumer has
control over the application but limited / no access to the
infrastructure (e.g. OS, servers, storage, drivers)
IaaS: The provider acquires physical resources (servers,
network, storage) and runs the software to make these
available to IaaS, PaaS consumers through VMs; consumers
have control over virtual software components (OS,
network)
Scope of Control
Service Model Architectures
Cloud Infrastructure
IaaS
PaaS
SaaS
Infrastructure as a Service (IaaS)
Architectures
Platform as a Service (PaaS)
Architectures
Software as a Service
(SaaS)
Architectures
Cloud Infrastructure
SaaS
Cloud Infrastructure
PaaS
SaaS
Cloud Infrastructure
IaaS
PaaS
Cloud Infrastructure
PaaS
Cloud Infrastructure
IaaS
Service Model Architectures
Examples of Cloud Services
Infrastructure- and
hardware-as-a-service
• Infrastructure- and Hardware-as-a-Service (IaaS/HaaS) solutions are
the most popular and developed market segment of cloud computing.
• They deliver customizable infrastructure on demand.
• The available options within the IaaS offering umbrella range from
single servers to entire infrastructures, including network devices,
load balancers, and database andWeb servers.
• The main technology used to deliver and implement these solutions is
hardware virtualization: one or more virtual machines
opportunely configured and interconnected define the distributed
system on top of which applications are installed and deployed.
• Virtual machines also constitute the atomic components that are deployed
and priced according to the specific features of the virtual hardware:
memory, number of processors, and disk storage.
• IaaS/HaaS solutions bring all the benefits of hardware virtualization:
workload partitioning, application isolation, sandboxing, and hardware
tuning.
• From the perspective of the service provider, IaaS/HaaS allows better
exploiting the IT infrastructure and provides a more secure environment
where executing third party applications.
• From the perspective of the customer it reduces the administration and
maintenance cost as well as the capital costs allocated to purchase hardware.
• At the same time, users can take advantage of the full customization offered
by virtualization to deploy their infrastructure in the cloud; in most cases
virtual machines come with only the selected operating system installed and
the system can be configured with all the required packages and applications.
Figure shows an overall view of the components forming an Infrastructure-as-a-
Service solution. It is possible to distinguish three principal layers: the physical
infrastructure, the software management infrastructure, and the user interface.
At the top layer the user interface provides access to the services exposed
by the software management infrastructure. Such an interface isgenerally based
on Web 2.0 technologies: Web services, RESTful APIs, and mash-ups. These
technologies allow either applications or final users to access the services
exposed by the underlying infrastructure. Web 2.0 applications allow developing
full-featured management consoles completely hosted in a browser or a Web
page. Web services and RESTful APIs allow programs to interact with the
service without human intervention, thus providing complete integration within
a software system.
The core features of an IaaS solution are implemented in the infrastructure
management software layer. In particular, management of the virtual
machines is the most important function performed by this layer. A central role
is played by the scheduler, which is in charge of allocating the execution of
virtual machine instances.
The scheduler interacts with the other components that perform a variety of
tasks:
• The pricing and billing component takes care of the cost of executing each
virtual machine instance and maintains data that will be used to charge the user.
• The monitoring component tracks the execution of each virtual machine
instance and maintains data required for reporting and analyzing the
performance of the system.
• The reservation component stores the information of all the virtual machine
instances that have been executed or that will be executed in the future.
• If support for QoS-based execution is provided, a QoS/SLA management
component will maintain a repository of all the SLAs made with the users;
together with the monitoring component, this component is used to ensure
that a given virtual machine instance is executed with the desired quality of
service.
• The VM repository component provides a catalog of virtual machine images
that users can use to create virtual instances. Some implementations also
allow users to upload their specific virtual machine images.
• A VM pool manager component is responsible for keeping track of all the
live instances.
• Finally, if the system supports the integration of additional resources
belonging to a third-party IaaS provider, a provisioning component interacts
with the scheduler to provide a virtual machine instance that is external to
the local physical infrastructure directly managed by the pool.
The bottom layer is composed of the physical infrastructure, on top of which
the management layer operates. As previously discussed, the infrastructure can
be of different types; the specific infrastructure used depends on the specific use
of the cloud.
A service provider will most likely use a massive datacenter containing
hundreds or thousands of nodes. A cloud infrastructure developed in house, in a
small or medium-sized enterprise or within a university department, will most
likely rely on a cluster.
At the bottom of the scale it is also possible to consider a heterogeneous
environment where different types of resources—PCs, workstations, and
clusters—can be aggregated.
This case mostly represents an evolution of desktop grids where any available
computing resource (such as PCs and workstations that are idle outside of
working hours) is harnessed to provide a huge compute power.
From an architectural point of view, the physical layer also includes the
virtual resources that are rented from external IaaS providers.
In the case of complete IaaS solutions, all three levels are offered as
service.
This is generally the case with public clouds vendors such as Amazon,
GoGrid, Joyent, Rightscale, Terremark, Rackspace, ElasticHosts, and
Flexiscale, which own large datacenters and give access to their
computing infrastructures using an IaaS approach.
Platform as a service
• Platform-as-a-Service (PaaS) solutions provide a development and deployment
platform for running applications in the cloud. They constitute the middleware on
top of which applications are built. A general overview of the features characterizing
the PaaS approach is given in Figure.
• Application management is the core functionality of the middleware.
PaaS implementations provide applications with a runtime
environment and do not expose any service for managing the
underlying infrastructure.
 They automate the process of deploying applications to the
infrastructure, configuring application components, provisioning
and configuring supporting technologies such as load balancers
and databases, and managing system change based on policies set
by the user.
 Developers design their systems in terms of applications and are
not concerned with hardware (physical or virtual), operating
systems, and other low-level services.
• The core middleware is in charge of managing the resources and
scaling applications on demand or automatically, according to the
commitments made with users.
• From a user point of view, the core middleware exposes interfaces that
allow programming and deploying applications on the cloud.These
can be in the form of aWeb-based interface or in the form of
programmingAPIs and libraries.
• PaaS solutions can offer middleware for developing applications
together with the infrastructure or simply provide users with the
software that is installed on the user premises. In the first case, the
PaaS provider also owns large datacenters where applications are
executed; in the second case, referred to as Pure PaaS, the middleware
constitutes the core value of the offering. It is also possible to have
vendors that deliver both middleware and infrastructure and ship only
the middleware for private installations.
Table provides a classification of the most popular PaaS implementations. It is
possible to organize the various solutions into three wide categories: PaaS-I,
PaaS-II, and PaaS-III.
• The first category identifies PaaS implementations that completely follow the
cloud computing style for application development and deployment. They
offer an integrated development environment hosted within the Web
browser where applications are designed, developed, composed, and
deployed.This is the case of Force.com and Longjump.
• In the second class we can list all those solutions that are focused on
providing a scalable infrastructure for Web application, mostly websites. In
this case, developers generally use the providers’ APIs, which are built on top
of industrial runtimes, to develop applications. Google AppEngine is the
most popular product in this category
• The third category consists of all those solutions that provide a cloud
programming platform for any kind of application, not only Web
applications. Among these, the most popular is MicrosoftWindowsAzure.
As noted by Sam Charrington, product manager atAppistry.com, there are
some essential characteristics that identify a PaaS solution.
Runtime framework. This framework represents the “software stack” of the PaaS
model and the most intuitive aspect that comes to people’s minds when they
refer to PaaS solutions. The runtime framework executes end-user code
according to the policies set by the user and the provider.
Abstraction. PaaS solutions are distinguished by the higher level of abstraction
that they provide. Whereas in the case of IaaS solutions the focus is on delivering
“raw” access to virtual or physical infrastructure, in the case of PaaS the focus is
on the applications the cloud must support. This means that PaaS solutions offer
a way to deploy and manage applications on the cloud rather than a bunch of
virtual machines on top of which the IT infrastructure is built and configured
Automation. PaaS environments automate the process of deploying applications
to the infrastructure, scaling them by provisioning additional resources when
needed. This process is performed automatically and according to the SLA made
between the customers and the provider. This feature is normally not native in
IaaS solutions, which only provide ways to provision more resources.
Cloud services. PaaS offerings provide developers and architects with services
and APIs, helping them to simplify the creation and delivery of elastic and highly
available cloud applications. These services are the key differentiators among
competing PaaS solutions and generally include specific components for
developing applications, advanced services for application monitoring,
management, and reporting.
Finally, from a financial standpoint, although IaaS solutions allow shifting the
capital cost into operational costs through outsourcing, PaaS solutions can cut
the cost across development, deployment, and management of applications.
It helps management reduce the risk of ever-changing technologies by
offloading the cost of upgrading the technology to the PaaS provider. This
happens transparently for the consumers of this model, who can concentrate
their effort on the core value of their business.
The PaaS approach, when bundled with underlying IaaS solutions, helps even
small start-up companies quickly offer customers integrated solutions on a
hosted platform at a very minimal cost. These opportunities make the PaaS
offering a viable option that targets different market segments
Software as a service
• Software-as-a-Service (SaaS) is a software delivery model that provides
access to applications through the Internet as aWeb-based service.
• It provides a means to free users from complex hardware and software
management by offloading such tasks to third parties, which build
applications accessible to multiple users through aWeb browser.
• In this scenario, customers neither need install anything on their premises
nor have to pay considerable up-front costs to purchase the software and the
required licenses. They simply access the application website, enter their
credentials and billing details, and can instantly use the application, which, in
most of the cases, can be further customized for their needs. On the
provider side, the specific details and features of each customer’s application
are maintained in the infrastructure and made available on demand.
• The SaaS model is appealing for applications serving a wide range of users
and that can be adapted to specific needs with little further customization.
This requirement characterizes SaaS as a “one-to-many” software delivery
model, whereby an application is shared across multiple users.
The concept of software as a service preceded cloud computing, starting
to circulate at the end of the 1990s, when it began to gain marketplace
acceptance [31]. The acronym SaaS was then coined in 2001 by the
Software Information & Industry Association (SIIA) [32] with the
following connotation:
In the software as a service model, the application, or service, is deployed from a
centralized datacenter across a network—Internet, Intranet, LAN, or VPN—
providing access and use on a recurring fee basis. Users “rent,” “subscribe to,” “are
assigned,” or “are granted access to” the applications from a central provider.
Business models vary according to the level to which the software is streamlined, to
lower price and increase efficiency, or value-added through customization to
further improve digitized business processes
The analysis carried out by SIIA was mainly oriented to cover application
service providers (ASPs) and all their variations, which capture the
concept of software applications consumed as a service in a broader
sense.
ASPs already had some of the core characteristics of SaaS:
•The product sold to customer is application access.
•The application is centrally managed.
•The service delivered is one-to-many.
• The service delivered is an integrated solution delivered on the contract,
which means provided as promised.
Initially the SaaS model was of interest only for lead users and early adopters.
The benefits delivered at that stage were the following:
• Software cost reduction and total cost of ownership (TCO) were paramount
• Service-level improvements
• Rapid implementation
• Standalone and configurable applications
• Rudimentary application and data integration
• Subscription and pay-as-you-go (PAYG) pricing With the advent of cloud
computing there has been an increasing acceptance of SaaS as a viable
software delivery model.
This led to transition into SaaS 2.0 [40], which does not introduce a new
technology but transforms the way in which SaaS is used. In particular, SaaS 2.0
is focused on providing a more robust infrastructure and application platforms
driven by SLAs
• It is important to note the role of SaaS solution enablers, which
provide an environment in which to integrate third-party services and
share information with others. A quite successful example is Box.net,
an SaaS application providing users with a Web space and profile that
can be enriched and extended with third-party applications such as
office automation, integration with CRM-based solutions, social
Websites, and photo editing.
CLOUD DEPLOYMENT
MODEL
Types of clouds
Clouds build the infrastructure on top of which services are implemented
and delivered to customers. Such infrastructures can be of different types
and provide useful information about the nature and the services offered by
the cloud.
It is then possible to differentiate four different types of cloud:
• Public clouds.The cloud is open to the wider public.
• Private clouds. The cloud is implemented within the private premises of
an institution and generally made accessible to the members of the
institution or a subset of them.
• Hybrid or heterogeneous clouds. The cloud is a combination of the
two previous solutions and most likely identifies a private cloud that has been
augmented with resources or services hosted in a public cloud.
• Community clouds. The cloud is characterized by a multi-
administrative domain involving different deployment models (public,
private, and hybrid), and it is specifically designed to address the needs of a
specific industry.
Public clouds
• Public clouds constitute the first expression of cloud computing.
• They are a realization of the canonical view of cloud computing in which
the services offered are made available to anyone, from anywhere, and at
any time through the Internet.
• From a structural point of view they are a distributed system, most likely
composed of one or more datacenters connected together, on top of
which the specific services offered by the cloud are implemented.
• Any customer can easily sign in with the cloud provider, enter her
credential and billing details, and use the services offered.
• Historically, public clouds were the first class of cloud that were
implemented and offered. They offer solutions for minimizing IT
infrastructure costs and serve as a viable option for handling peak loads
on the local infrastructure. They have become an interesting option for
small enterprises, which are able to start their businesses without large
up-front investments by completely relying on public infrastructure for
their IT needs.
• A fundamental characteristic of public clouds is multitenancy. A
public cloud is meant to serve a multitude of users, not a single
customer.
• Any customer requires a virtual computing environment that is
separated, and most likely isolated, from other users. This is a
fundamental requirement to provide effective monitoring of user
activities and guarantee the desired performance and the other QoS
attributes negotiated with users.
• QoS management is a very important aspect of public clouds. Hence,
a significant portion of the software infrastructure is devoted to
monitoring the cloud resources, to bill them according to the contract
made with the user, and to keep a complete history of cloud usage for
each customer.
• These features are fundamental to public clouds because they help
providers offer services to users with full accountability.
• A public cloud can offer any kind of service: infrastructure, platform, or
applications. For example, Amazon EC2 is a public cloud that provides
infrastructure as a service; Google AppEngine is a public cloud that provides an
application development platform as a service; and SalesForce.com is a public
cloud that provides software as a service.
• From an architectural point of view there is no restriction concerning the type of
distributed system implemented to support public clouds. Most likely, one or
more datacenters constitute the physical infrastructure on top of which the
services are implemented and delivered.
• Public clouds can be composed of geographically dispersed datacenters to share
the load of users and better serve them according to their locations.
• For example, Amazon Web Services has datacenters installed in the United
States, Europe, Singapore, and Australia; they allow their customers to choose
between three different regions: us-west-1, us-east-1, or eu-west-1. Such regions
are priced differently and are further divided into availability zones, which map
to specific datacenters. According to the specific class of services delivered by the
cloud, a different software stack is installed to manage the infrastructure: virtual
machine managers, distributed middleware, or distributed applications
Issues in public cloud:
• Public clouds are appealing and provide a viable option to cut IT costs and
reduce capital expenses, but they are not applicable in all scenarios. For
example, a very common critique to the use of cloud computing in its
canonical implementation is the loss of control.
• In particular, institutions such as government and military agencies will not
consider public clouds as an option for processing or storing their sensitive
data. The risk of a breach in the security infrastructure of the provider could
expose such information to others; this could simply be considered
unacceptable.
• In other cases, the loss of control of where your virtual IT infrastructure
resides could open the way to other problematic situations. More precisely,
the geographical location of a datacenter generally determines the
regulations that are applied to management of digital information. As a
result, according to the specific location of data, some sensitive information
can be made accessible to government agencies or even considered outside
the law if processed with specific cryptographic techniques.
Private clouds
• Private clouds are virtual distributed systems that rely on a private
infrastructure and provide internal users with dynamic provisioning of
computing resources.
• Instead of a pay-as-you-go model as in public clouds, there could be other
schemes in place, taking into account the usage of the cloud and
proportionally billing the different departments or sections of an enterprise.
• Private clouds have the advantage of keeping the core business operations in-
house by relying on the existing IT infrastructure and reducing the burden of
maintaining it once the cloud has been set up. In this scenario, security
concerns are less critical, since sensitive information does not flow out of the
private infrastructure.
• Moreover, existing IT resources can be better utilized because the private
cloud can provide services to a different range of users. Another interesting
opportunity that comes with private clouds is the possibility of testing
applications and systems at a comparatively lower price rather than public
clouds before deploying them on the public virtual infrastructure
on the benefits of delivering in-house cloud computing solutions for enterprises
highlighted some of the key advantages of using a private cloud computing
infrastructure:
• Customer information protection. Despite assurances by the public cloud leaders
about security, few provide satisfactory disclosure or have long enough histories
with their cloud offerings to provide warranties about the specific level of security
put in place on their systems. In-house security is easier to maintain and rely on.
• Infrastructure ensuring SLAs. Quality of service implies specific operations such
as appropriate clustering and failover, data replication, system monitoring and
maintenance, and disaster recovery, and other uptime services can be
commensurate to the application needs. Although public cloud vendors provide
some of these features, not all of them are available as needed.
• Compliance with standard procedures and operations. If organizations are
subject to third-party compliance standards, specific procedures have to be put in
place when deploying and executing applications. This could be not possible in the
case of the virtual public infrastructure.
All these aspects make the use of cloud-based infrastructures in private premises an
interesting option.
• From an architectural point of view, private clouds can be implemented on
more heterogeneous hardware: They generally rely on the existing IT
infrastructure already deployed on the private premises. This could be a
datacenter, a cluster, an enterprise desktop grid, or a combination of them.
The physical layer is complemented with infrastructure management
software (i.e., IaaS ) or a PaaS solution, according to the service delivered to
the users of the cloud.
• Different options can be adopted to implement private clouds
Figure provides a comprehensive view of the solutions together with
some reference to the most popular software used to deploy private
clouds
• At the bottom layer of the software stack, virtual machine
technologies such as Xen , KVM , and VMware serve as the foundations of
the cloud.
• Virtual machine management technologies such as VMware vCloud,
Eucalyptus , and OpenNebula can be used to control the virtual
infrastructure and provide an IaaS solution.
 VMware vCloud is a proprietary solution, but Eucalyptus provides full
compatibility with Amazon Web Services interfaces and supports
different virtual machine technologies such as Xen, KVM, and
VMware.
 Like Eucalyptus, OpenNebula is an open-source solution for virtual
infrastructure management that supports KVM, Xen, and VMware,
which has been designed to easily integrate third-party IaaS providers.
 Its modular architecture allows extending the software with additional
features such as the capability of reserving virtual machine instances by
using Haizea as scheduler
• Solutions that rely on the previous virtual machine managers and
provide added value are OpenPEX and InterGrid .
 OpenPEX is Web-based system that allows the reservation of virtual
machine instances and is designed to support different back ends (at the
moment only the support for Xen is implemented).
 InterGrid provides added value on top of OpenNebula and Amazon EC2
by allowing the reservation of virtual machine instances and managing
multiadministrative domain clouds.
• PaaS solutions can provide an additional layer and deliver a highlevel
service for private clouds. Among the options available for private
deployment of clouds we can consider DataSynapse, Zimory Pools, Elastra,
andAneka.
 DataSynapse is a global provider of application virtualization software.
By relying on the VMware virtualization technology, DataSynapse
provides a flexible environment for building private clouds on top of
datacenters.
 Elastra Cloud Server is a platform for easily configuring and deploying
distributed application infrastructures on clouds.
 Zimory provides a software infrastructure layer that automates the use
of resource pools based on Xen, KVM, and VMware virtualization
technologies. It allows creating an internal cloud composed of sparse
private and public resources and provides facilities for migrating
applications within the existing infrastructure.
 Aneka is a software development platform that can be used to deploy a
cloud infrastructure on top of heterogeneous hardware: datacenters,
clusters, and desktop grids. It provides a pluggable service-oriented
architecture that’s mainly devoted to supporting the execution of
distributed applications with different programming models: bag of
tasks, MapReduce, and others.
• Private clouds can provide in-house solutions for cloud computing, but if
compared to public clouds they exhibit more limited capability to scale
elastically on demand.
Hybrid clouds
Motivation for Hybrid cloud:
• Public clouds are large software and hardware infrastructures that have a
capability that is huge enough to serve the needs of multiple users, but they
suffer from security threats and administrative pitfalls.
• Private clouds are the perfect solution when it is necessary to keep the
processing of information within an enterprise’s premises or it is necessary
to use the existing hardware and software infrastructure.
• One of the major drawbacks of private deployments is the inability to scale
on demand and to efficiently address peak loads. In this case, it is important
to leverage capabilities of public clouds as needed.
• Hence, a hybrid solution could be an interesting opportunity for taking
advantage of the best of the private and public worlds. This led to the
development and diffusion of hybrid clouds
Hybrid clouds
• Hybrid clouds allow enterprises to exploit existing IT infrastructures,
maintain sensitive information within the premises, and naturally grow and
shrink by provisioning external resources and releasing them when they’re
no longer needed.
• Security concerns are then only limited to the public portion of the cloud
that can be used to perform operations with less stringent constraints but
that are still part of the system workload
Figure provides a general overview of a hybrid cloud:
• It is a heterogeneous distributed system resulting from a private cloud
that integrates additional services or resources from one or more
public clouds. For this reason they are also called heterogeneous
clouds.
• As depicted in the diagram, dynamic provisioning is a fundamental
component in this scenario.
• Hybrid clouds address scalability issues by leveraging external
resources for exceeding capacity demand.
• These resources or services are temporarily leased for the time
required and then released. This practice is also known as
cloudbursting
• Whereas the concept of hybrid cloud is general, it mostly applies to IT
infrastructure rather than software services.
• Service-oriented computing already introduces the concept of
integration of paid software services with existing application
deployed in the private premises.
• In an IaaS scenario, dynamic provisioning refers to the ability to
acquire on demand virtual machines in order to increase the capability
of the resulting distributed system and then release them.
• Infrastructure management software and PaaS solutions are the
building blocks for deploying and managing hybrid clouds.
• In particular, with respect to private clouds, dynamic provisioning
introduces a more complex scheduling algorithm and policies, the
goal of which is also to optimize the budget spent to rent public
resources.
• Dynamic provisioning is most commonly implemented in PaaS
solutions that support hybrid clouds.
• It is one of the fundamental components of PaaS middleware is the
mapping of distributed applications onto the cloud infrastructure.
• In this scenario, the role of dynamic provisioning becomes
fundamental to ensuring the execution of applications under the QoS
agreed on with the user
• For example, Aneka provides a provisioning service that leverages
different IaaS providers for scaling the existing cloud infrastructure .
The provisioning service cooperates with the scheduler, which is in
charge of guaranteeing a specific QoS for applications. In particular,
each user application has a budget attached, and the scheduler uses
that budget to optimize the execution of the application by renting
virtual nodes if needed.
Community clouds
Community clouds are distributed systems created by integrating the
services of different clouds to address the specific needs of an industry, a
community, or a business sector.
The National Institute of Standards and Technologies (NIST) [43]
characterizes community clouds as follows:
The infrastructure is shared by several organizations and supports a specific
community that has shared concerns (e.g., mission, security requirements, policy,
and compliance considerations).It may be managed by the organizations or a third
party and may exist on premise or off premise.
• Figure provides a general view of the usage scenario of community
clouds, together with reference architecture.
• The users of a specific community cloud fall into a well-identified
community, sharing the same concerns or needs; they can be
government bodies, industries, or even simple users, but all of them
focus on the same issues for their interaction with the cloud.
• This is a different scenario than public clouds, which serve a multitude
of users with different needs. Community clouds are also different
from private clouds, where the services are generally delivered within
the institution that owns the cloud.
• From an architectural point of view, a community cloud is most likely
implemented over multiple administrative domains. This means that
different organizations such as government bodies, private enterprises,
research organizations, and even public virtual infrastructure
providers contribute with their resources to build the cloud
infrastructure
Candidate sectors for community clouds are as follows:
Media industry- Community clouds can provide a shared environment
where services can facilitate business-to-business collaboration and offer
the horsepower in terms of aggregate bandwidth, CPU, and storage
required to efficiently support media production.
Healthcare industry-The naturally hybrid deployment model of
community clouds can easily support the storing of patient-related data in
a private cloud while using the shared infrastructure for noncritical
services and automating processes within hospitals.
Energy and other core industries-In these sectors, community clouds can
bundle the comprehensive set of solutions that together vertically address
management, deployment, and orchestration of services and operations
Public sector. Legal and political restrictions in the public sector can limit
the adoption of public cloud offerings. Moreover, governmental processes
involve several institutions and agencies and are aimed at providing
strategic solutions at local, national, and international administrative
levels. They involve business-to-administration, citizen-to-administration,
and possibly business-to-business processes. Some examples include
invoice approval, infrastructure planning, and public hearings. A
community cloud can constitute the optimal venue to provide a
distributed environment in which to create a communication platform for
performing such operations.
Scientific research. Science clouds are an interesting example of
community clouds. In this case, the common interest driving different
organizations sharing a large distributed infrastructure is scientific
computing.
The benefits of these community clouds are the following:
• Openness. By removing the dependency on cloud vendors, community
clouds are open systems in which fair competition between different
solutions can happen.
• Community. Being based on a collective that provides resources and
services, the infrastructure turns out to be more scalable because the system
can grow simply by expanding its user base.
• Graceful failures. Since there is no single provider or vendor in control of
the infrastructure,there is no single point of failure.
• Convenience and control. Within a community cloud there is no conflict
between convenience and control because the cloud is shared and owned by
the community, which makes all the decisions through a collective
democratic process.
• Environmental sustainability. The community cloud is supposed to have a
smaller carbon footprint because it harnesses underutilized resources.
Moreover, these clouds tend to be more organic by growing and shrinking in
a symbiotic relationship to support the demand of the community, which in
turn sustains it
Architectural Design
Challenges
Challenge 1—Service Availability and Data Lock-in Problem
• The management of a cloud service by a single company is often the source of
single points of failure. To achieve HA, one can consider using multiple cloud
providers. Even if a company has multiple data centers located in different
geographic regions, it may have common software infrastructure and accounting
systems. Therefore, using multiple cloud providers may provide more protection
from failures. Another availability obstacle is distributed denial of service (DDoS)
attacks. Criminals threaten to cut off the incomes of SaaS providers by making their
services unavailable. Some utility computing services offer SaaS providers the
opportunity to defend against DDoS attacks by using quick scale-ups.
• Software stacks have improved interoperability among different cloud platforms,
but the APIs itself are still proprietary. Thus, customers cannot easily extract their
data and programs from one site to run on another. The obvious solution is to
standardize the APIs so that a SaaS developer can deploy services and data
across multiple cloud providers. This will rescue the loss of all data due to the failure
of a single company. In addition to mitigating data lock-in concerns,
standardization of APIs enables a new usage model in which the same software
infrastructure can be used in both public and private clouds. Such an option could
enable “surge computing,” in which the public cloud is used to capture the extra
tasks that cannot be easily run in the data center of a private cloud.
Architectural Design
Challenges
Challenge 2—Data Privacy and Security Concerns
• Current cloud offerings are essentially public (rather than private)
networks, exposing the system to more attacks. Many obstacles can
be overcome immediately with well-understood technologies such
as encrypted storage, virtual LANs, and network middleboxes (e.g.,
firewalls, packet filters).
• For example, you could encrypt your data before placing it in a
cloud. Many nations have laws requiring SaaS providers to keep
customer data and copyrighted material within national boundaries.
Traditional network attacks include buffer overflows, DoS attacks,
spyware, malware, rootkits, Trojan horses, and worms. In a cloud
environment, newer attacks may result from hypervisor malware,
guest hopping and hijacking, or VM rootkits.
• Another type of attack is the man-in-the-middle attack for VM
migrations. In general, passive attacks steal sensitive data or
passwords. Active attacks may manipulate kernel data structures
which will cause major damage to cloud servers.
Architectural Design
Challenges
Challenge 3—Unpredictable Performance and Bottlenecks
• Multiple VMs can share CPUs and main memory in cloud computing,
but I/O sharing is problematic. For example, to run 75 EC2 instances
with the STREAM benchmark requires a mean bandwidth of 1,355
MB/second. However, for each of the 75 EC2 instances to write 1 GB
files to the local disk requires a mean disk write bandwidth of only 55
MB/second. This demonstrates the problem of I/O interference
between VMs. One solution is to improve I/O architectures and
operating systems to efficiently virtualize interrupts and I/O channels.
• Internet applications continue to become more data-intensive. If we
assume applications to be “pulled apart” across the boundaries of
clouds, this may complicate data placement and transport. Cloud
users and providers have to think about the implications of
placement and traffic at every level of the system, if they want to
minimize costs. This kind of reasoning can be seen in Amazon’s
development of its new CloudFront service. Therefore, data transfer
bottlenecks must be removed, bottleneck links must be widened,
and weak servers should be removed.
Architectural Design
Challenges
Challenge 4—Distributed Storage and Widespread Software Bugs
• The database is always growing in cloud applications. The opportunity is
to create a storage system that will not only meet this growth, but also
combine it with the cloud advantage of scaling arbitrarily up and down
on demand. This demands the design of efficient distributed SANs. Data
centers must meet programmers’ expectations in terms of scalability,
data durability, and HA. Data consistence checking in SAN-connected
data centers is a major challenge in cloud computing.
• Large-scale distributed bugs cannot be reproduced, so the debugging
must occur at a scale in the production data centers. No data center will
provide such a convenience. One solution may be a reliance on using
VMs in cloud computing. The level of virtualization may make it possible
to capture valuable information in ways that are impossible without using
VMs. Debugging over simulators is another approach to attacking the
problem, if the simulator is well designed.
Architectural Design
Challenges
Challenge 5—Cloud Scalability, Interoperability, and Standardization
• The pay-as-you-go model applies to storage and network bandwidth;
both are counted in terms of the number of bytes used. Computation is
different depending on virtualization level. GAE automatically scales in
response to load increases and decreases; users are charged by the
cycles used. AWS charges by the hour for the number of VM instances
used, even if the machine is idle. The opportunity here is to scale quickly
up and down in response to load variation, in order to save money, but
without violating SLAs.
• Open Virtualization Format (OVF) describes an open, secure, portable,
efficient, and extensible format for the packaging and distribution of
VMs. It also defines a format for distributing software to be deployed in
VMs. This VM format does not rely on the use of a specific host platform,
virtualization platform, or guest operating system. The approach is to
address virtual platform-agnostic packaging with certification and
integrity of packaged software. The package supports virtual appliances
to span more than one VM.
Architectural Design
Challenges
Challenge 6—Software Licensing and Reputation Sharing
• Many cloud computing providers originally relied on open source
software because the licensing model for commercial software is not
ideal for utility computing. The primary opportunity is either for open
source to remain popular or simply for commercial software companies
to change their licensing structure to better fit cloud computing. One
can consider using both pay-for-use and bulk-use licensing schemes to
widen the business coverage.
• One customer’s bad behavior can affect the reputation of the entire
cloud. For instance, blacklisting of EC2 IP addresses by spam-prevention
services may limit smooth VM installation. An opportunity would be to
create reputation-guarding services similar to the “trusted e-mail”
services currently offered (for a fee) to services hosted on smaller ISPs.
Another legal issue concerns the transfer of legal liability. Cloud providers
want legal liability to remain with the customer, and vice versa. This
problem must be solved at the SLA level. We will study reputation systems
for protecting data centers in the next section.
Cloud Storage
• Storage as a service (SaaS) is a business model in which
a company leases or rents its storage infrastructure to
another company or individuals to store data. Small
companies and individuals often find this to be a
convenient methodology for managing backups, and
providing cost savings in personnel, hardware and
physical space.
• Cloud storage has given users the ability to share and
access les remotely without access to their local storage
systems.
• While this has opened up many doors for video teams
there are some considerations that need to be made
before implementing cloud storage into your video
workflow
Cloud Storage
Cloud Storage
These are the forms of data storage provided by Storage as a
Service via the cloud:
Object-based storage
• Object-based storage is the most common form of cloud
storage. It can be sold and configured as a standalone
service offering without a VM. Object storage uses a
specialized technique of writing data and metadata used for
long-term data storage, archiving, and unique applications
that benefit from this technology.
• Public cloud providers sell object storage under various
marketing brand names, for customers that want backup,
archiving, and file storage services. Many popular desktop
and server backup and storage applications sold to
consumers are just frontend interfaces to object-based
storage systems hosted by a cloud provider.
Cloud Storage
Block storage
• Block storage requires a host server or VM and is similar
to a local hard drive or the default storage included with
every VM ordered. You can add the storage to existing
VMs or you can add it as independent volumes that the
VM OS formats and manages.
• Block storage is typically capable of higher performance
and is more sensitive to latency. It used as the primary
volume for VMs and applications within a datacenter
and within the cloud provider. Block storage is also ideal
for heavy read/write functionality versus object storage,
which is more adept with write once/read many use
cases. It is less ideal to map a block-storage volume
across the Internet or slower, higher latency network
connection.
Cloud Storage
File storage
• File storage is akin to a NAS on-premise. It stores files in a generally
accessible shared drive. File storage is commonly for ‘end users’
and the documents or files they need to perform their
jobs. Cloud providers will provide dedicated File Storage systems
under various marketing labels. File Store systems store the files at
the operating system level [as does block storage]. AWS has EFS
for example, Azure offers Azure File Storage. SaaS offerings
including O365, Sharepoint, Dropbox, Box, Google Docs and
others offer a SaaS platform to manage users file storage needs.
Pricing
• Pricing for storage is usually by the gigabyte (GB) or terabyte (TB)
depending on the cloud service provider and the quantity of
storage purchased. Because this is a cloud-based offering,
providers normally charge only for the amount of data you have
utilized rather than pre-allocated amounts. This pay-as-you-use
storage model is one of the fundamental characteristics of cloud
computing.
Advantages of Cloud
Storage
Cost
Purchasing physical storage can be expensive. Without the need for hardware
cloud storage is exceptionally cheaper per GB than using external drives.
Accessibility
Using the cloud for storage gives you access to your les from anywhere that has
an internet connection.
Recovery
In the event of a hard drive failure or other hardware malfunction, you can
access your les on the cloud. It acts as a backup solution for your
local storage on physical drives.
Syncing and Updating
When you are working with cloud storage, every time you make changes to a le
it will be synced and updated across all of your devices that
you access the cloud from.
Security
Cloud storage providers add additional layers of security to their services. Since
there are many people with les stored on the cloud, these providers go to added
lengths to make sure your les don't get accessed by someone who shouldn't
Disadvantages of Cloud
Storage
Internet Connection
Cloud based storage is dependent on having an internet connection. If you are on a slow
network you may have issues accessing your storage.
Costs
There are additional costs for uploading and downloading les from the cloud. These can quickly
add up if you are trying to access lots of files often.
Hard Drives
Cloud storage is supposed to eliminate our dependency on hard drives right? Well some business
cloud storage providers require physical hard drives as well.
Support
Support for cloud storage isn't the best, especially if you are using a free version of a cloud
provider. Many providers refer you to a knowledge
base or FAQs.
Privacy
When you use a cloud provider, your data is no longer on your physical storage. So who is
responsible for making sure that data is secure?
That's a gray area that is still being figured out.
Amazon S3
• Amazon Simple Storage Service (Amazon S3) is an
object storage service that offers industry-leading
scalability, data availability, security, and performance.
This means customers of all sizes and industries can use it
to store and protect any amount of data for a range of
use cases, such as websites, mobile applications,
backup and restore, archive, enterprise applications, IoT
devices, and big data analytics.
• Amazon S3 provides easy-to-use management features
so you can organize your data and configure finely-
tuned access controls to meet your specific business,
organizational, and compliance requirements. Amazon
S3 is designed for 99.999999999% (11 9's) of durability,
and stores data for millions of applications for
companies all around the world.

More Related Content

Similar to cloud computing notes for anna university syllabus

Similar to cloud computing notes for anna university syllabus (20)

Cloud Ecosystems A Perspective
Cloud Ecosystems A PerspectiveCloud Ecosystems A Perspective
Cloud Ecosystems A Perspective
 
An introduction to the cloud 11 v1
An introduction to the cloud 11 v1An introduction to the cloud 11 v1
An introduction to the cloud 11 v1
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
cloud ppt Sushil-604234071.pdf for engineering
cloud ppt Sushil-604234071.pdf for engineeringcloud ppt Sushil-604234071.pdf for engineering
cloud ppt Sushil-604234071.pdf for engineering
 
cloud computting
cloud computtingcloud computting
cloud computting
 
Cloud computing stack
Cloud computing stackCloud computing stack
Cloud computing stack
 
Cc unit 3 updated version
Cc unit 3 updated versionCc unit 3 updated version
Cc unit 3 updated version
 
Introduction on Cloud Computing
Introduction on Cloud Computing Introduction on Cloud Computing
Introduction on Cloud Computing
 
G017324043
G017324043G017324043
G017324043
 
Cloud Computing: Overview & Utility
Cloud Computing: Overview & UtilityCloud Computing: Overview & Utility
Cloud Computing: Overview & Utility
 
Data Security Model Enhancement In Cloud Environment
Data Security Model Enhancement In Cloud EnvironmentData Security Model Enhancement In Cloud Environment
Data Security Model Enhancement In Cloud Environment
 
Clpud-Computing-PPT-3.pptx
Clpud-Computing-PPT-3.pptxClpud-Computing-PPT-3.pptx
Clpud-Computing-PPT-3.pptx
 
Clpud-Computing-PPT-3.pptx
Clpud-Computing-PPT-3.pptxClpud-Computing-PPT-3.pptx
Clpud-Computing-PPT-3.pptx
 
Clpud-Computing-PPT-3_cloud_computing.pptx
Clpud-Computing-PPT-3_cloud_computing.pptxClpud-Computing-PPT-3_cloud_computing.pptx
Clpud-Computing-PPT-3_cloud_computing.pptx
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Introduction to Cloud Computing.pptx
Introduction to Cloud Computing.pptxIntroduction to Cloud Computing.pptx
Introduction to Cloud Computing.pptx
 
Unit-I Introduction to Cloud Computing.pptx
Unit-I Introduction to Cloud Computing.pptxUnit-I Introduction to Cloud Computing.pptx
Unit-I Introduction to Cloud Computing.pptx
 
cloud computing
cloud computing cloud computing
cloud computing
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloudmod4
Cloudmod4Cloudmod4
Cloudmod4
 

Recently uploaded

1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
AldoGarca30
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
Kamal Acharya
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 

Recently uploaded (20)

Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Computer Graphics Introduction To Curves
Computer Graphics Introduction To CurvesComputer Graphics Introduction To Curves
Computer Graphics Introduction To Curves
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Ground Improvement Technique: Earth Reinforcement
Ground Improvement Technique: Earth ReinforcementGround Improvement Technique: Earth Reinforcement
Ground Improvement Technique: Earth Reinforcement
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
fitting shop and tools used in fitting shop .ppt
fitting shop and tools used in fitting shop .pptfitting shop and tools used in fitting shop .ppt
fitting shop and tools used in fitting shop .ppt
 
Introduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdfIntroduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdf
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 

cloud computing notes for anna university syllabus

  • 1. UNIT 3 UNIT III CLOUD ARCHITECTURE, SERVICES AND STORAGE Layered Cloud Architecture Design – NIST Cloud Computing Reference Architecture Public, Private and Hybrid Clouds – laaS – PaaS – SaaS – Architectural Design Challenges – Cloud Storage – Storage-as-a-Service – Advantages of Cloud Storage – Cloud Storage Providers – S3.
  • 3. What is Cloud Computing • 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. • Cloud computing is a virtualization-based technology that allows us to create, configure, and customize applications via an internet connection. The cloud technology includes a development platform, hard disk, software application, and database.
  • 4. There are the following operations that we can do using cloud computing: • Developing new applications and services • Storage, back up, and recovery of data • Hosting blogs and websites • Delivery of software on demand • Analysis of data • Streaming videos and audios
  • 5. Why Cloud Computing? • Small as well as large IT companies, follow the traditional methods to provide the IT infrastructure. That means for any IT company, we need a Server Room that is the basic need of IT companies. • In that server room, there should be a database server, mail server, networking, firewalls, routers, modem, switches, QPS (Query Per Second means how much queries or load will be handled by the server), configurable system, high net speed, and the maintenance engineers. • To establish such IT infrastructure, we need to spend lots of money. To overcome all these problems and to reduce the IT infrastructure cost, Cloud Computing comes into existence.
  • 6.
  • 7. Cloud Computing Architecture • 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. • Cloud computing architecture is divided into the following two parts – Front End Back End
  • 8. 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
  • 9. Components of Cloud Computing Architecture 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. Cloud computing offers the following three type of services: 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 – Example: Google Apps, Salesforce Dropbox, Slack, Hubspot, Cisco WebEx.
  • 10. 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. iii. Infrastructure as a Service (IaaS) – It is also known as cloud infrastructure services. It is responsible for managing applications data, middleware, and runtime environments. Example: Amazon Web Services (AWS) EC2, Google Compute Engine (GCE), Cisco Metapod.
  • 11. 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 Management is used to manage components such as application, service, runtime cloud, storage, infrastructure, and other security issues in the backend and establish coordination between them. 8. Security Security is an in-built back end component of cloud computing. It implements a security mechanism in the back end. 9. Internet The Internet is medium through which front end and back end can interact and communicate with each other. •
  • 13. Layered Cloud Architectural Design The architecture of a cloud is developed at three layers: infrastructure, platform, and application as demonstrated in Fig.
  • 14. • These three development layers are implemented with virtualization and standardization of hardware and software resources provisioned in the cloud. • The services to public, private, and hybrid clouds are conveyed to users through the networking support over the Internet and intranets involved. • It is clear that the infrastructure layer is deployed first to support IaaS type of services. • This infrastructure layer serves as the foundation to build the platform layer of the cloud for supporting PaaS services. • In turn, the platform layer is a foundation to implement the application layer for SaaS applications.
  • 15. • It is possible to organize all the concrete realizations of cloud computing into a layered view covering the entire stack (see Figure), from hardware appliances to software systems.
  • 16. • The infrastructure layer is built with virtualized compute, storage and network resources. The abstraction of these hardware resources is meant to provide the flexibility demanded by users. Internally, the virtualization realizes the automated provisioning of resources and optimizes the infrastructure management process. • The platform layer is for general-purpose and repeated usage of the collection of software resources. This layer provides the users with an environment to develop their applications, to text the operation flows, and to monitor the execution results and performance. The platform should be able to assure the users with scalability, dependability, and security protection. In a way, the virtualized cloud platform serves as a “system middleware” between the infrastructure and application layers of the cloud
  • 17. • The application layer is formed with a collection of all needed software modules for SaaS applications. Service applications in this layer include daily office management work, such as information retrieval, document , processing, and calendar and authentication services, etc. The application layer is also heavily used by enterprises in business marketing and sales, consumer relationship management (CRM), financial transactions, supply chain management, etc. It should be noted that not all cloud services are restricted to a single layer. Many applications may apply resources at mixed layers. After all, the three layers are built from bottom up with a dependence relationship.
  • 18. • From the provider’s perspective, the services at various layers demand different amounts of function support and resource management by the providers. In general, the SaaS demands the most work from the provider, the PaaS in the middle, and IaaS the least. • The best example is the Salesforce CRM service in which the provider supplies not only the hardware at the bottom layer and the software at the top layer, but also provides the platform and software tools for user application development and monitory.
  • 20. Cloud Conceptual Reference Model  Cloud High-level architecture  Five major actors with their roles, responsibilities, activities and functions in cloud computing.  Understanding of the requirements, uses, characteristics and standards of cloud computing. 1. Cloud Consumer 2. Cloud Provider 3. Cloud Broker 4. CloudAuditor 5. Cloud Carrier NIST Cloud Computing ReferenceArchitecture
  • 21. Cloud Service Characteristics  On demand self-service  Broad network access  Resource pooling  Rapid elasticity  Measured service NIST Cloud Computing ReferenceArchitecture
  • 22. Actors in Cloud Computing  Cloud Consumer A person or organization that maintains a business relationship with, and uses service from, CloudProviders.  Cloud Provider A person, organization, or entity responsible for making aservice available to interested parties.  Cloud Auditor A party that can conduct independent assessment of cloud services, information system operations, performance and security of the cloud implementation.  Cloud Broker An entity that manages the use, performance and delivery ofcloud services, and negotiates relationships between Cloud Providers and CloudConsumers.  Cloud Carrier An intermediary that provides connectivity and transport of cloud services from Cloud Providers to Cloud Consumers. NIST Cloud Computing ReferenceArchitecture
  • 23. Scenarios in Cloud: 1 1. Cloud consumer interacts with the cloud broker instead of contacting a cloud provider directly. 2. The cloud broker may create a new service (mash up) by combining multiple services or by enhancing an existing service. 3. Actual cloud providers are invisible to the cloud consumer. NIST Cloud Computing ReferenceArchitecture
  • 24. Scenarios in Cloud: 2 1. Cloud carriers provide the connectivity and transport of cloud services from cloud providers to cloud consumers. 2. Cloud provider participates in and arranges for two unique service level agreements (SLAs), one with a cloud carrier (e.g.SLA2) and one with a cloud consumer (e.g.SLA1). 3. A cloud provider may request cloud carrier to provide dedicated and encrypted connections to ensure the cloud services (SLA’s). NIST Cloud Computing ReferenceArchitecture
  • 25. Scenarios in Cloud: 3 1. Cloud auditor conducts independent assessments for the operation and security of the cloud service. 2. The audit may involve interactions with both the Cloud Consumer and the Cloud Provider. NIST Cloud Computing ReferenceArchitecture
  • 26. Cloud Consumer NIST Cloud Computing ReferenceArchitecture  Cloud consumer browses & uses the service.  Cloud consumer sets up contracts with the cloud provider.  Cloud consumers need SLAs to specify the technical performance requirements fulfilled by a cloud provider.  SLAs cover the quality of service, security, remedies for performance failures.  A cloud provider list some SLAs that limit and obligate the cloud consumers by must acceptance.  Cloud consumer can freely choose a cloud provider with better pricing with favorable conditions.  Pricing policy and SLAs are non-negotiable.
  • 27. Cloud Consumer NIST Cloud Computing ReferenceArchitecture
  • 28. SaaS consumers NIST Cloud Computing ReferenceArchitecture  SaaS consumers can be organizations that provide their members with access to software applications, end users who directly use software applications, or software application administrators who configure applications for end users.  SaaS consumers can be billed based on the number of end users, the time of use, the network bandwidth consumed, the amount of data stored or duration of stored data.
  • 29. PaaS consumers NIST Cloud Computing ReferenceArchitecture  PaaS consumers can be application developers or administrators 1. who design and implement application software 2. application testers who run and test applications 3. who publish applications into the cloud 4. who configure and monitor application performance.  PaaS consumers can be billed according to, processing, database storage and network resources consumed by the PaaS application, and the duration of the platform usage.
  • 30. IaaS consumer NIST Cloud Computing ReferenceArchitecture  IaaS consumer can be system developers, systemadministrators and IT managers who are interested in creating, installing, managing and monitoring services for IT infrastructure operations.  IaaS consumer can be billed according to the amount or duration of the resources consumed, such as CPU hours usedby virtual computers, volume and duration of data stored,network bandwidth consumed, number of IP addresses used for certain intervals.
  • 31. Cloud Provider NIST Cloud Computing ReferenceArchitecture  Cloud Provider acquires and manages the computing infrastructure required for providing the services, runs the cloud software that provides the services, and makes arrangement to deliver the cloud services to the Cloud Consumers through network access.  SaaS provider deploys, configures, maintains and updates the operation of the software applications on a cloud infrastructure. SaaS provider maintains the expected service levels to cloud consumers.  PaaS Provider manages the computing infrastructure for the platform and components (runtime software execution stack, databases, and other middleware).  IaaS Cloud Provider provides physical hardware and cloud software that makes the provisioning of these infrastructure services, for example, the physical servers, network equipments, storage devices, host OS and hypervisors for virtualization.
  • 32. Cloud Provider Five major activities of Cloud Provider's  Service deployment  Service orchestration  Cloud service management  Security  Privacy NIST Cloud Computing ReferenceArchitecture
  • 33. Cloud Auditor NIST Cloud Computing ReferenceArchitecture  Audits are performed to verify conformance to standards.  Auditor evaluates the security controls, privacy impact, performance,etc.  Auditing is especially important for federal agencies.  Security auditing, can make an assessment of the security controls to determine the extent to which the controls are implemented correctly, operating as intended, and producing the desired outcome.This is done by verification of the compliance with regulation and security policy.  Privacy audit helps in Federal agencies comply with applicable privacy laws and regulations governing an individual's privacy, and to ensure confidentiality, integrity, and availability of an individual's personal information at every stage of development and operation.
  • 34. Cloud Broker NIST Cloud Computing ReferenceArchitecture  Integration of cloud services can be complex for consumers. Hence cloud broker,is needed.  Broker manages the use, performance and delivery of cloud services and negotiates relationships between cloud providers and cloud consumers.  In general, a cloud broker can provide services in three categories:  Service Intermediation: Broker enhances a service by improving capability and providing value-added services to consumers. The improvement can be managing access to cloud services, identity management, performance reporting, enhanced security,etc.  Service Aggregation: Broker combines and integrates multiple services into one or more new services. The broker provides data integration and ensures the secure data movement.  Service Arbitrage: It is similar to service aggregation with the flexibility to choose services from multiple agencies. For example, broker can select service with the best response time.
  • 35. Cloud Carrier NIST Cloud Computing ReferenceArchitecture  Cloud carriers provide access to consumers through network, telecommunication and other access devices.  For example, cloud consumers can obtain cloud services through network access devices, such as computers, laptops, mobile phones, mobile internet devices (MIDs),etc.  The distribution of cloud services is normally provided by network and telecommunication carriers or a transport agent, where a transport agent refers to a business organization that provides physical transport of storage media such as high-capacity hard drives.  Cloud provider can set up SLAs with a cloud carrier to provide services consistent with the level of SLAs offered to cloud consumers.
  • 36. Scope of Control between Provider and Consumer  Application layer are used by SaaS consumers, or installed/managed/ maintained by PaaS consumers, IaaS consumers, and SaaS providers.  Middleware is used by PaaS consumers, installed/managed/maintained by IaaS consumers or PaaS providers (libraries,dbms, JavaVMs). Middleware is hidden from SaaS consumers.  IaaS layer is hidden from SaaS consumers and PaaS consumers. (operating systemVMs and drivers). Consumers have freedom to choose OS to be hosted. NIST Cloud Computing ReferenceArchitecture
  • 38. It is possible to organize all the concrete realizations of cloud computing into a layered view covering the entire stack (see Figure), from hardware appliances to software systems.
  • 39. Cloud Software as a Service (SaaS) The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure and accessible from various client devices through a thin client interface such as a Web browser (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings. Cloud Platform as a Service (PaaS) The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created applications using programming languages and tools supported by the provider (e.g., Java, Python, .Net). The consumer does not manage or control the underlying cloud infrastructure, network, servers, operating systems, or storage, but the consumer has control over the deployed applications and possibly application hosting environment configurations. Cloud Infrastructure as a Service (IaaS) The capability provided to the consumer is to rent processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly select networking components (e.g., firewalls, load balancers). Services
  • 40. SaaS: Consumers have only limited administrative control of the applications and services PaaS: The provider manages infrastructure and provides tools of deployment of applications; the consumer has control over the application but limited / no access to the infrastructure (e.g. OS, servers, storage, drivers) IaaS: The provider acquires physical resources (servers, network, storage) and runs the software to make these available to IaaS, PaaS consumers through VMs; consumers have control over virtual software components (OS, network) Scope of Control
  • 41. Service Model Architectures Cloud Infrastructure IaaS PaaS SaaS Infrastructure as a Service (IaaS) Architectures Platform as a Service (PaaS) Architectures Software as a Service (SaaS) Architectures Cloud Infrastructure SaaS Cloud Infrastructure PaaS SaaS Cloud Infrastructure IaaS PaaS Cloud Infrastructure PaaS Cloud Infrastructure IaaS
  • 43. Examples of Cloud Services
  • 44. Infrastructure- and hardware-as-a-service • Infrastructure- and Hardware-as-a-Service (IaaS/HaaS) solutions are the most popular and developed market segment of cloud computing. • They deliver customizable infrastructure on demand. • The available options within the IaaS offering umbrella range from single servers to entire infrastructures, including network devices, load balancers, and database andWeb servers. • The main technology used to deliver and implement these solutions is hardware virtualization: one or more virtual machines opportunely configured and interconnected define the distributed system on top of which applications are installed and deployed.
  • 45. • Virtual machines also constitute the atomic components that are deployed and priced according to the specific features of the virtual hardware: memory, number of processors, and disk storage. • IaaS/HaaS solutions bring all the benefits of hardware virtualization: workload partitioning, application isolation, sandboxing, and hardware tuning. • From the perspective of the service provider, IaaS/HaaS allows better exploiting the IT infrastructure and provides a more secure environment where executing third party applications. • From the perspective of the customer it reduces the administration and maintenance cost as well as the capital costs allocated to purchase hardware. • At the same time, users can take advantage of the full customization offered by virtualization to deploy their infrastructure in the cloud; in most cases virtual machines come with only the selected operating system installed and the system can be configured with all the required packages and applications.
  • 46.
  • 47. Figure shows an overall view of the components forming an Infrastructure-as-a- Service solution. It is possible to distinguish three principal layers: the physical infrastructure, the software management infrastructure, and the user interface. At the top layer the user interface provides access to the services exposed by the software management infrastructure. Such an interface isgenerally based on Web 2.0 technologies: Web services, RESTful APIs, and mash-ups. These technologies allow either applications or final users to access the services exposed by the underlying infrastructure. Web 2.0 applications allow developing full-featured management consoles completely hosted in a browser or a Web page. Web services and RESTful APIs allow programs to interact with the service without human intervention, thus providing complete integration within a software system.
  • 48. The core features of an IaaS solution are implemented in the infrastructure management software layer. In particular, management of the virtual machines is the most important function performed by this layer. A central role is played by the scheduler, which is in charge of allocating the execution of virtual machine instances. The scheduler interacts with the other components that perform a variety of tasks: • The pricing and billing component takes care of the cost of executing each virtual machine instance and maintains data that will be used to charge the user. • The monitoring component tracks the execution of each virtual machine instance and maintains data required for reporting and analyzing the performance of the system. • The reservation component stores the information of all the virtual machine instances that have been executed or that will be executed in the future.
  • 49. • If support for QoS-based execution is provided, a QoS/SLA management component will maintain a repository of all the SLAs made with the users; together with the monitoring component, this component is used to ensure that a given virtual machine instance is executed with the desired quality of service. • The VM repository component provides a catalog of virtual machine images that users can use to create virtual instances. Some implementations also allow users to upload their specific virtual machine images. • A VM pool manager component is responsible for keeping track of all the live instances. • Finally, if the system supports the integration of additional resources belonging to a third-party IaaS provider, a provisioning component interacts with the scheduler to provide a virtual machine instance that is external to the local physical infrastructure directly managed by the pool.
  • 50. The bottom layer is composed of the physical infrastructure, on top of which the management layer operates. As previously discussed, the infrastructure can be of different types; the specific infrastructure used depends on the specific use of the cloud. A service provider will most likely use a massive datacenter containing hundreds or thousands of nodes. A cloud infrastructure developed in house, in a small or medium-sized enterprise or within a university department, will most likely rely on a cluster. At the bottom of the scale it is also possible to consider a heterogeneous environment where different types of resources—PCs, workstations, and clusters—can be aggregated. This case mostly represents an evolution of desktop grids where any available computing resource (such as PCs and workstations that are idle outside of working hours) is harnessed to provide a huge compute power.
  • 51. From an architectural point of view, the physical layer also includes the virtual resources that are rented from external IaaS providers. In the case of complete IaaS solutions, all three levels are offered as service. This is generally the case with public clouds vendors such as Amazon, GoGrid, Joyent, Rightscale, Terremark, Rackspace, ElasticHosts, and Flexiscale, which own large datacenters and give access to their computing infrastructures using an IaaS approach.
  • 52. Platform as a service • Platform-as-a-Service (PaaS) solutions provide a development and deployment platform for running applications in the cloud. They constitute the middleware on top of which applications are built. A general overview of the features characterizing the PaaS approach is given in Figure.
  • 53. • Application management is the core functionality of the middleware. PaaS implementations provide applications with a runtime environment and do not expose any service for managing the underlying infrastructure.  They automate the process of deploying applications to the infrastructure, configuring application components, provisioning and configuring supporting technologies such as load balancers and databases, and managing system change based on policies set by the user.  Developers design their systems in terms of applications and are not concerned with hardware (physical or virtual), operating systems, and other low-level services. • The core middleware is in charge of managing the resources and scaling applications on demand or automatically, according to the commitments made with users.
  • 54. • From a user point of view, the core middleware exposes interfaces that allow programming and deploying applications on the cloud.These can be in the form of aWeb-based interface or in the form of programmingAPIs and libraries. • PaaS solutions can offer middleware for developing applications together with the infrastructure or simply provide users with the software that is installed on the user premises. In the first case, the PaaS provider also owns large datacenters where applications are executed; in the second case, referred to as Pure PaaS, the middleware constitutes the core value of the offering. It is also possible to have vendors that deliver both middleware and infrastructure and ship only the middleware for private installations.
  • 55. Table provides a classification of the most popular PaaS implementations. It is possible to organize the various solutions into three wide categories: PaaS-I, PaaS-II, and PaaS-III. • The first category identifies PaaS implementations that completely follow the cloud computing style for application development and deployment. They offer an integrated development environment hosted within the Web browser where applications are designed, developed, composed, and deployed.This is the case of Force.com and Longjump. • In the second class we can list all those solutions that are focused on providing a scalable infrastructure for Web application, mostly websites. In this case, developers generally use the providers’ APIs, which are built on top of industrial runtimes, to develop applications. Google AppEngine is the most popular product in this category • The third category consists of all those solutions that provide a cloud programming platform for any kind of application, not only Web applications. Among these, the most popular is MicrosoftWindowsAzure.
  • 56.
  • 57. As noted by Sam Charrington, product manager atAppistry.com, there are some essential characteristics that identify a PaaS solution. Runtime framework. This framework represents the “software stack” of the PaaS model and the most intuitive aspect that comes to people’s minds when they refer to PaaS solutions. The runtime framework executes end-user code according to the policies set by the user and the provider. Abstraction. PaaS solutions are distinguished by the higher level of abstraction that they provide. Whereas in the case of IaaS solutions the focus is on delivering “raw” access to virtual or physical infrastructure, in the case of PaaS the focus is on the applications the cloud must support. This means that PaaS solutions offer a way to deploy and manage applications on the cloud rather than a bunch of virtual machines on top of which the IT infrastructure is built and configured
  • 58. Automation. PaaS environments automate the process of deploying applications to the infrastructure, scaling them by provisioning additional resources when needed. This process is performed automatically and according to the SLA made between the customers and the provider. This feature is normally not native in IaaS solutions, which only provide ways to provision more resources. Cloud services. PaaS offerings provide developers and architects with services and APIs, helping them to simplify the creation and delivery of elastic and highly available cloud applications. These services are the key differentiators among competing PaaS solutions and generally include specific components for developing applications, advanced services for application monitoring, management, and reporting.
  • 59. Finally, from a financial standpoint, although IaaS solutions allow shifting the capital cost into operational costs through outsourcing, PaaS solutions can cut the cost across development, deployment, and management of applications. It helps management reduce the risk of ever-changing technologies by offloading the cost of upgrading the technology to the PaaS provider. This happens transparently for the consumers of this model, who can concentrate their effort on the core value of their business. The PaaS approach, when bundled with underlying IaaS solutions, helps even small start-up companies quickly offer customers integrated solutions on a hosted platform at a very minimal cost. These opportunities make the PaaS offering a viable option that targets different market segments
  • 60. Software as a service • Software-as-a-Service (SaaS) is a software delivery model that provides access to applications through the Internet as aWeb-based service. • It provides a means to free users from complex hardware and software management by offloading such tasks to third parties, which build applications accessible to multiple users through aWeb browser. • In this scenario, customers neither need install anything on their premises nor have to pay considerable up-front costs to purchase the software and the required licenses. They simply access the application website, enter their credentials and billing details, and can instantly use the application, which, in most of the cases, can be further customized for their needs. On the provider side, the specific details and features of each customer’s application are maintained in the infrastructure and made available on demand. • The SaaS model is appealing for applications serving a wide range of users and that can be adapted to specific needs with little further customization. This requirement characterizes SaaS as a “one-to-many” software delivery model, whereby an application is shared across multiple users.
  • 61. The concept of software as a service preceded cloud computing, starting to circulate at the end of the 1990s, when it began to gain marketplace acceptance [31]. The acronym SaaS was then coined in 2001 by the Software Information & Industry Association (SIIA) [32] with the following connotation: In the software as a service model, the application, or service, is deployed from a centralized datacenter across a network—Internet, Intranet, LAN, or VPN— providing access and use on a recurring fee basis. Users “rent,” “subscribe to,” “are assigned,” or “are granted access to” the applications from a central provider. Business models vary according to the level to which the software is streamlined, to lower price and increase efficiency, or value-added through customization to further improve digitized business processes
  • 62. The analysis carried out by SIIA was mainly oriented to cover application service providers (ASPs) and all their variations, which capture the concept of software applications consumed as a service in a broader sense. ASPs already had some of the core characteristics of SaaS: •The product sold to customer is application access. •The application is centrally managed. •The service delivered is one-to-many. • The service delivered is an integrated solution delivered on the contract, which means provided as promised.
  • 63. Initially the SaaS model was of interest only for lead users and early adopters. The benefits delivered at that stage were the following: • Software cost reduction and total cost of ownership (TCO) were paramount • Service-level improvements • Rapid implementation • Standalone and configurable applications • Rudimentary application and data integration • Subscription and pay-as-you-go (PAYG) pricing With the advent of cloud computing there has been an increasing acceptance of SaaS as a viable software delivery model. This led to transition into SaaS 2.0 [40], which does not introduce a new technology but transforms the way in which SaaS is used. In particular, SaaS 2.0 is focused on providing a more robust infrastructure and application platforms driven by SLAs
  • 64. • It is important to note the role of SaaS solution enablers, which provide an environment in which to integrate third-party services and share information with others. A quite successful example is Box.net, an SaaS application providing users with a Web space and profile that can be enriched and extended with third-party applications such as office automation, integration with CRM-based solutions, social Websites, and photo editing.
  • 66. Types of clouds Clouds build the infrastructure on top of which services are implemented and delivered to customers. Such infrastructures can be of different types and provide useful information about the nature and the services offered by the cloud. It is then possible to differentiate four different types of cloud: • Public clouds.The cloud is open to the wider public. • Private clouds. The cloud is implemented within the private premises of an institution and generally made accessible to the members of the institution or a subset of them. • Hybrid or heterogeneous clouds. The cloud is a combination of the two previous solutions and most likely identifies a private cloud that has been augmented with resources or services hosted in a public cloud. • Community clouds. The cloud is characterized by a multi- administrative domain involving different deployment models (public, private, and hybrid), and it is specifically designed to address the needs of a specific industry.
  • 67. Public clouds • Public clouds constitute the first expression of cloud computing. • They are a realization of the canonical view of cloud computing in which the services offered are made available to anyone, from anywhere, and at any time through the Internet. • From a structural point of view they are a distributed system, most likely composed of one or more datacenters connected together, on top of which the specific services offered by the cloud are implemented. • Any customer can easily sign in with the cloud provider, enter her credential and billing details, and use the services offered. • Historically, public clouds were the first class of cloud that were implemented and offered. They offer solutions for minimizing IT infrastructure costs and serve as a viable option for handling peak loads on the local infrastructure. They have become an interesting option for small enterprises, which are able to start their businesses without large up-front investments by completely relying on public infrastructure for their IT needs.
  • 68. • A fundamental characteristic of public clouds is multitenancy. A public cloud is meant to serve a multitude of users, not a single customer. • Any customer requires a virtual computing environment that is separated, and most likely isolated, from other users. This is a fundamental requirement to provide effective monitoring of user activities and guarantee the desired performance and the other QoS attributes negotiated with users. • QoS management is a very important aspect of public clouds. Hence, a significant portion of the software infrastructure is devoted to monitoring the cloud resources, to bill them according to the contract made with the user, and to keep a complete history of cloud usage for each customer. • These features are fundamental to public clouds because they help providers offer services to users with full accountability.
  • 69. • A public cloud can offer any kind of service: infrastructure, platform, or applications. For example, Amazon EC2 is a public cloud that provides infrastructure as a service; Google AppEngine is a public cloud that provides an application development platform as a service; and SalesForce.com is a public cloud that provides software as a service. • From an architectural point of view there is no restriction concerning the type of distributed system implemented to support public clouds. Most likely, one or more datacenters constitute the physical infrastructure on top of which the services are implemented and delivered. • Public clouds can be composed of geographically dispersed datacenters to share the load of users and better serve them according to their locations. • For example, Amazon Web Services has datacenters installed in the United States, Europe, Singapore, and Australia; they allow their customers to choose between three different regions: us-west-1, us-east-1, or eu-west-1. Such regions are priced differently and are further divided into availability zones, which map to specific datacenters. According to the specific class of services delivered by the cloud, a different software stack is installed to manage the infrastructure: virtual machine managers, distributed middleware, or distributed applications
  • 70. Issues in public cloud: • Public clouds are appealing and provide a viable option to cut IT costs and reduce capital expenses, but they are not applicable in all scenarios. For example, a very common critique to the use of cloud computing in its canonical implementation is the loss of control. • In particular, institutions such as government and military agencies will not consider public clouds as an option for processing or storing their sensitive data. The risk of a breach in the security infrastructure of the provider could expose such information to others; this could simply be considered unacceptable. • In other cases, the loss of control of where your virtual IT infrastructure resides could open the way to other problematic situations. More precisely, the geographical location of a datacenter generally determines the regulations that are applied to management of digital information. As a result, according to the specific location of data, some sensitive information can be made accessible to government agencies or even considered outside the law if processed with specific cryptographic techniques.
  • 71. Private clouds • Private clouds are virtual distributed systems that rely on a private infrastructure and provide internal users with dynamic provisioning of computing resources. • Instead of a pay-as-you-go model as in public clouds, there could be other schemes in place, taking into account the usage of the cloud and proportionally billing the different departments or sections of an enterprise. • Private clouds have the advantage of keeping the core business operations in- house by relying on the existing IT infrastructure and reducing the burden of maintaining it once the cloud has been set up. In this scenario, security concerns are less critical, since sensitive information does not flow out of the private infrastructure. • Moreover, existing IT resources can be better utilized because the private cloud can provide services to a different range of users. Another interesting opportunity that comes with private clouds is the possibility of testing applications and systems at a comparatively lower price rather than public clouds before deploying them on the public virtual infrastructure
  • 72. on the benefits of delivering in-house cloud computing solutions for enterprises highlighted some of the key advantages of using a private cloud computing infrastructure: • Customer information protection. Despite assurances by the public cloud leaders about security, few provide satisfactory disclosure or have long enough histories with their cloud offerings to provide warranties about the specific level of security put in place on their systems. In-house security is easier to maintain and rely on. • Infrastructure ensuring SLAs. Quality of service implies specific operations such as appropriate clustering and failover, data replication, system monitoring and maintenance, and disaster recovery, and other uptime services can be commensurate to the application needs. Although public cloud vendors provide some of these features, not all of them are available as needed. • Compliance with standard procedures and operations. If organizations are subject to third-party compliance standards, specific procedures have to be put in place when deploying and executing applications. This could be not possible in the case of the virtual public infrastructure. All these aspects make the use of cloud-based infrastructures in private premises an interesting option.
  • 73. • From an architectural point of view, private clouds can be implemented on more heterogeneous hardware: They generally rely on the existing IT infrastructure already deployed on the private premises. This could be a datacenter, a cluster, an enterprise desktop grid, or a combination of them. The physical layer is complemented with infrastructure management software (i.e., IaaS ) or a PaaS solution, according to the service delivered to the users of the cloud. • Different options can be adopted to implement private clouds
  • 74. Figure provides a comprehensive view of the solutions together with some reference to the most popular software used to deploy private clouds
  • 75. • At the bottom layer of the software stack, virtual machine technologies such as Xen , KVM , and VMware serve as the foundations of the cloud. • Virtual machine management technologies such as VMware vCloud, Eucalyptus , and OpenNebula can be used to control the virtual infrastructure and provide an IaaS solution.  VMware vCloud is a proprietary solution, but Eucalyptus provides full compatibility with Amazon Web Services interfaces and supports different virtual machine technologies such as Xen, KVM, and VMware.  Like Eucalyptus, OpenNebula is an open-source solution for virtual infrastructure management that supports KVM, Xen, and VMware, which has been designed to easily integrate third-party IaaS providers.  Its modular architecture allows extending the software with additional features such as the capability of reserving virtual machine instances by using Haizea as scheduler
  • 76. • Solutions that rely on the previous virtual machine managers and provide added value are OpenPEX and InterGrid .  OpenPEX is Web-based system that allows the reservation of virtual machine instances and is designed to support different back ends (at the moment only the support for Xen is implemented).  InterGrid provides added value on top of OpenNebula and Amazon EC2 by allowing the reservation of virtual machine instances and managing multiadministrative domain clouds. • PaaS solutions can provide an additional layer and deliver a highlevel service for private clouds. Among the options available for private deployment of clouds we can consider DataSynapse, Zimory Pools, Elastra, andAneka.  DataSynapse is a global provider of application virtualization software. By relying on the VMware virtualization technology, DataSynapse provides a flexible environment for building private clouds on top of datacenters.  Elastra Cloud Server is a platform for easily configuring and deploying distributed application infrastructures on clouds.
  • 77.  Zimory provides a software infrastructure layer that automates the use of resource pools based on Xen, KVM, and VMware virtualization technologies. It allows creating an internal cloud composed of sparse private and public resources and provides facilities for migrating applications within the existing infrastructure.  Aneka is a software development platform that can be used to deploy a cloud infrastructure on top of heterogeneous hardware: datacenters, clusters, and desktop grids. It provides a pluggable service-oriented architecture that’s mainly devoted to supporting the execution of distributed applications with different programming models: bag of tasks, MapReduce, and others. • Private clouds can provide in-house solutions for cloud computing, but if compared to public clouds they exhibit more limited capability to scale elastically on demand.
  • 78. Hybrid clouds Motivation for Hybrid cloud: • Public clouds are large software and hardware infrastructures that have a capability that is huge enough to serve the needs of multiple users, but they suffer from security threats and administrative pitfalls. • Private clouds are the perfect solution when it is necessary to keep the processing of information within an enterprise’s premises or it is necessary to use the existing hardware and software infrastructure. • One of the major drawbacks of private deployments is the inability to scale on demand and to efficiently address peak loads. In this case, it is important to leverage capabilities of public clouds as needed. • Hence, a hybrid solution could be an interesting opportunity for taking advantage of the best of the private and public worlds. This led to the development and diffusion of hybrid clouds
  • 79. Hybrid clouds • Hybrid clouds allow enterprises to exploit existing IT infrastructures, maintain sensitive information within the premises, and naturally grow and shrink by provisioning external resources and releasing them when they’re no longer needed. • Security concerns are then only limited to the public portion of the cloud that can be used to perform operations with less stringent constraints but that are still part of the system workload
  • 80.
  • 81. Figure provides a general overview of a hybrid cloud: • It is a heterogeneous distributed system resulting from a private cloud that integrates additional services or resources from one or more public clouds. For this reason they are also called heterogeneous clouds. • As depicted in the diagram, dynamic provisioning is a fundamental component in this scenario. • Hybrid clouds address scalability issues by leveraging external resources for exceeding capacity demand. • These resources or services are temporarily leased for the time required and then released. This practice is also known as cloudbursting
  • 82. • Whereas the concept of hybrid cloud is general, it mostly applies to IT infrastructure rather than software services. • Service-oriented computing already introduces the concept of integration of paid software services with existing application deployed in the private premises. • In an IaaS scenario, dynamic provisioning refers to the ability to acquire on demand virtual machines in order to increase the capability of the resulting distributed system and then release them. • Infrastructure management software and PaaS solutions are the building blocks for deploying and managing hybrid clouds. • In particular, with respect to private clouds, dynamic provisioning introduces a more complex scheduling algorithm and policies, the goal of which is also to optimize the budget spent to rent public resources.
  • 83. • Dynamic provisioning is most commonly implemented in PaaS solutions that support hybrid clouds. • It is one of the fundamental components of PaaS middleware is the mapping of distributed applications onto the cloud infrastructure. • In this scenario, the role of dynamic provisioning becomes fundamental to ensuring the execution of applications under the QoS agreed on with the user • For example, Aneka provides a provisioning service that leverages different IaaS providers for scaling the existing cloud infrastructure . The provisioning service cooperates with the scheduler, which is in charge of guaranteeing a specific QoS for applications. In particular, each user application has a budget attached, and the scheduler uses that budget to optimize the execution of the application by renting virtual nodes if needed.
  • 84. Community clouds Community clouds are distributed systems created by integrating the services of different clouds to address the specific needs of an industry, a community, or a business sector. The National Institute of Standards and Technologies (NIST) [43] characterizes community clouds as follows: The infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations).It may be managed by the organizations or a third party and may exist on premise or off premise.
  • 85.
  • 86. • Figure provides a general view of the usage scenario of community clouds, together with reference architecture. • The users of a specific community cloud fall into a well-identified community, sharing the same concerns or needs; they can be government bodies, industries, or even simple users, but all of them focus on the same issues for their interaction with the cloud. • This is a different scenario than public clouds, which serve a multitude of users with different needs. Community clouds are also different from private clouds, where the services are generally delivered within the institution that owns the cloud. • From an architectural point of view, a community cloud is most likely implemented over multiple administrative domains. This means that different organizations such as government bodies, private enterprises, research organizations, and even public virtual infrastructure providers contribute with their resources to build the cloud infrastructure
  • 87. Candidate sectors for community clouds are as follows: Media industry- Community clouds can provide a shared environment where services can facilitate business-to-business collaboration and offer the horsepower in terms of aggregate bandwidth, CPU, and storage required to efficiently support media production. Healthcare industry-The naturally hybrid deployment model of community clouds can easily support the storing of patient-related data in a private cloud while using the shared infrastructure for noncritical services and automating processes within hospitals. Energy and other core industries-In these sectors, community clouds can bundle the comprehensive set of solutions that together vertically address management, deployment, and orchestration of services and operations
  • 88. Public sector. Legal and political restrictions in the public sector can limit the adoption of public cloud offerings. Moreover, governmental processes involve several institutions and agencies and are aimed at providing strategic solutions at local, national, and international administrative levels. They involve business-to-administration, citizen-to-administration, and possibly business-to-business processes. Some examples include invoice approval, infrastructure planning, and public hearings. A community cloud can constitute the optimal venue to provide a distributed environment in which to create a communication platform for performing such operations. Scientific research. Science clouds are an interesting example of community clouds. In this case, the common interest driving different organizations sharing a large distributed infrastructure is scientific computing.
  • 89. The benefits of these community clouds are the following: • Openness. By removing the dependency on cloud vendors, community clouds are open systems in which fair competition between different solutions can happen. • Community. Being based on a collective that provides resources and services, the infrastructure turns out to be more scalable because the system can grow simply by expanding its user base. • Graceful failures. Since there is no single provider or vendor in control of the infrastructure,there is no single point of failure. • Convenience and control. Within a community cloud there is no conflict between convenience and control because the cloud is shared and owned by the community, which makes all the decisions through a collective democratic process. • Environmental sustainability. The community cloud is supposed to have a smaller carbon footprint because it harnesses underutilized resources. Moreover, these clouds tend to be more organic by growing and shrinking in a symbiotic relationship to support the demand of the community, which in turn sustains it
  • 90. Architectural Design Challenges Challenge 1—Service Availability and Data Lock-in Problem • The management of a cloud service by a single company is often the source of single points of failure. To achieve HA, one can consider using multiple cloud providers. Even if a company has multiple data centers located in different geographic regions, it may have common software infrastructure and accounting systems. Therefore, using multiple cloud providers may provide more protection from failures. Another availability obstacle is distributed denial of service (DDoS) attacks. Criminals threaten to cut off the incomes of SaaS providers by making their services unavailable. Some utility computing services offer SaaS providers the opportunity to defend against DDoS attacks by using quick scale-ups. • Software stacks have improved interoperability among different cloud platforms, but the APIs itself are still proprietary. Thus, customers cannot easily extract their data and programs from one site to run on another. The obvious solution is to standardize the APIs so that a SaaS developer can deploy services and data across multiple cloud providers. This will rescue the loss of all data due to the failure of a single company. In addition to mitigating data lock-in concerns, standardization of APIs enables a new usage model in which the same software infrastructure can be used in both public and private clouds. Such an option could enable “surge computing,” in which the public cloud is used to capture the extra tasks that cannot be easily run in the data center of a private cloud.
  • 91. Architectural Design Challenges Challenge 2—Data Privacy and Security Concerns • Current cloud offerings are essentially public (rather than private) networks, exposing the system to more attacks. Many obstacles can be overcome immediately with well-understood technologies such as encrypted storage, virtual LANs, and network middleboxes (e.g., firewalls, packet filters). • For example, you could encrypt your data before placing it in a cloud. Many nations have laws requiring SaaS providers to keep customer data and copyrighted material within national boundaries. Traditional network attacks include buffer overflows, DoS attacks, spyware, malware, rootkits, Trojan horses, and worms. In a cloud environment, newer attacks may result from hypervisor malware, guest hopping and hijacking, or VM rootkits. • Another type of attack is the man-in-the-middle attack for VM migrations. In general, passive attacks steal sensitive data or passwords. Active attacks may manipulate kernel data structures which will cause major damage to cloud servers.
  • 92. Architectural Design Challenges Challenge 3—Unpredictable Performance and Bottlenecks • Multiple VMs can share CPUs and main memory in cloud computing, but I/O sharing is problematic. For example, to run 75 EC2 instances with the STREAM benchmark requires a mean bandwidth of 1,355 MB/second. However, for each of the 75 EC2 instances to write 1 GB files to the local disk requires a mean disk write bandwidth of only 55 MB/second. This demonstrates the problem of I/O interference between VMs. One solution is to improve I/O architectures and operating systems to efficiently virtualize interrupts and I/O channels. • Internet applications continue to become more data-intensive. If we assume applications to be “pulled apart” across the boundaries of clouds, this may complicate data placement and transport. Cloud users and providers have to think about the implications of placement and traffic at every level of the system, if they want to minimize costs. This kind of reasoning can be seen in Amazon’s development of its new CloudFront service. Therefore, data transfer bottlenecks must be removed, bottleneck links must be widened, and weak servers should be removed.
  • 93. Architectural Design Challenges Challenge 4—Distributed Storage and Widespread Software Bugs • The database is always growing in cloud applications. The opportunity is to create a storage system that will not only meet this growth, but also combine it with the cloud advantage of scaling arbitrarily up and down on demand. This demands the design of efficient distributed SANs. Data centers must meet programmers’ expectations in terms of scalability, data durability, and HA. Data consistence checking in SAN-connected data centers is a major challenge in cloud computing. • Large-scale distributed bugs cannot be reproduced, so the debugging must occur at a scale in the production data centers. No data center will provide such a convenience. One solution may be a reliance on using VMs in cloud computing. The level of virtualization may make it possible to capture valuable information in ways that are impossible without using VMs. Debugging over simulators is another approach to attacking the problem, if the simulator is well designed.
  • 94. Architectural Design Challenges Challenge 5—Cloud Scalability, Interoperability, and Standardization • The pay-as-you-go model applies to storage and network bandwidth; both are counted in terms of the number of bytes used. Computation is different depending on virtualization level. GAE automatically scales in response to load increases and decreases; users are charged by the cycles used. AWS charges by the hour for the number of VM instances used, even if the machine is idle. The opportunity here is to scale quickly up and down in response to load variation, in order to save money, but without violating SLAs. • Open Virtualization Format (OVF) describes an open, secure, portable, efficient, and extensible format for the packaging and distribution of VMs. It also defines a format for distributing software to be deployed in VMs. This VM format does not rely on the use of a specific host platform, virtualization platform, or guest operating system. The approach is to address virtual platform-agnostic packaging with certification and integrity of packaged software. The package supports virtual appliances to span more than one VM.
  • 95. Architectural Design Challenges Challenge 6—Software Licensing and Reputation Sharing • Many cloud computing providers originally relied on open source software because the licensing model for commercial software is not ideal for utility computing. The primary opportunity is either for open source to remain popular or simply for commercial software companies to change their licensing structure to better fit cloud computing. One can consider using both pay-for-use and bulk-use licensing schemes to widen the business coverage. • One customer’s bad behavior can affect the reputation of the entire cloud. For instance, blacklisting of EC2 IP addresses by spam-prevention services may limit smooth VM installation. An opportunity would be to create reputation-guarding services similar to the “trusted e-mail” services currently offered (for a fee) to services hosted on smaller ISPs. Another legal issue concerns the transfer of legal liability. Cloud providers want legal liability to remain with the customer, and vice versa. This problem must be solved at the SLA level. We will study reputation systems for protecting data centers in the next section.
  • 96. Cloud Storage • Storage as a service (SaaS) is a business model in which a company leases or rents its storage infrastructure to another company or individuals to store data. Small companies and individuals often find this to be a convenient methodology for managing backups, and providing cost savings in personnel, hardware and physical space. • Cloud storage has given users the ability to share and access les remotely without access to their local storage systems. • While this has opened up many doors for video teams there are some considerations that need to be made before implementing cloud storage into your video workflow
  • 98. Cloud Storage These are the forms of data storage provided by Storage as a Service via the cloud: Object-based storage • Object-based storage is the most common form of cloud storage. It can be sold and configured as a standalone service offering without a VM. Object storage uses a specialized technique of writing data and metadata used for long-term data storage, archiving, and unique applications that benefit from this technology. • Public cloud providers sell object storage under various marketing brand names, for customers that want backup, archiving, and file storage services. Many popular desktop and server backup and storage applications sold to consumers are just frontend interfaces to object-based storage systems hosted by a cloud provider.
  • 99. Cloud Storage Block storage • Block storage requires a host server or VM and is similar to a local hard drive or the default storage included with every VM ordered. You can add the storage to existing VMs or you can add it as independent volumes that the VM OS formats and manages. • Block storage is typically capable of higher performance and is more sensitive to latency. It used as the primary volume for VMs and applications within a datacenter and within the cloud provider. Block storage is also ideal for heavy read/write functionality versus object storage, which is more adept with write once/read many use cases. It is less ideal to map a block-storage volume across the Internet or slower, higher latency network connection.
  • 100. Cloud Storage File storage • File storage is akin to a NAS on-premise. It stores files in a generally accessible shared drive. File storage is commonly for ‘end users’ and the documents or files they need to perform their jobs. Cloud providers will provide dedicated File Storage systems under various marketing labels. File Store systems store the files at the operating system level [as does block storage]. AWS has EFS for example, Azure offers Azure File Storage. SaaS offerings including O365, Sharepoint, Dropbox, Box, Google Docs and others offer a SaaS platform to manage users file storage needs. Pricing • Pricing for storage is usually by the gigabyte (GB) or terabyte (TB) depending on the cloud service provider and the quantity of storage purchased. Because this is a cloud-based offering, providers normally charge only for the amount of data you have utilized rather than pre-allocated amounts. This pay-as-you-use storage model is one of the fundamental characteristics of cloud computing.
  • 101. Advantages of Cloud Storage Cost Purchasing physical storage can be expensive. Without the need for hardware cloud storage is exceptionally cheaper per GB than using external drives. Accessibility Using the cloud for storage gives you access to your les from anywhere that has an internet connection. Recovery In the event of a hard drive failure or other hardware malfunction, you can access your les on the cloud. It acts as a backup solution for your local storage on physical drives. Syncing and Updating When you are working with cloud storage, every time you make changes to a le it will be synced and updated across all of your devices that you access the cloud from. Security Cloud storage providers add additional layers of security to their services. Since there are many people with les stored on the cloud, these providers go to added lengths to make sure your les don't get accessed by someone who shouldn't
  • 102. Disadvantages of Cloud Storage Internet Connection Cloud based storage is dependent on having an internet connection. If you are on a slow network you may have issues accessing your storage. Costs There are additional costs for uploading and downloading les from the cloud. These can quickly add up if you are trying to access lots of files often. Hard Drives Cloud storage is supposed to eliminate our dependency on hard drives right? Well some business cloud storage providers require physical hard drives as well. Support Support for cloud storage isn't the best, especially if you are using a free version of a cloud provider. Many providers refer you to a knowledge base or FAQs. Privacy When you use a cloud provider, your data is no longer on your physical storage. So who is responsible for making sure that data is secure? That's a gray area that is still being figured out.
  • 103. Amazon S3 • Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance. This means customers of all sizes and industries can use it to store and protect any amount of data for a range of use cases, such as websites, mobile applications, backup and restore, archive, enterprise applications, IoT devices, and big data analytics. • Amazon S3 provides easy-to-use management features so you can organize your data and configure finely- tuned access controls to meet your specific business, organizational, and compliance requirements. Amazon S3 is designed for 99.999999999% (11 9's) of durability, and stores data for millions of applications for companies all around the world.