0% found this document useful (0 votes)
34 views

Unit 2 Lec 1 Cloud Computing

The document discusses cloud enabling technologies including service-oriented architecture, REST, and systems of systems. Key technologies that enable clouds are fast deployment, virtual clusters, multitenant techniques, massive data processing, web-scale communication, and distributed storage. Service-oriented architecture aims to design software systems using services through published interfaces. REST is a software architecture style for distributed hypermedia systems and aims for simplicity, scalability, and other properties.

Uploaded by

Manvendra
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views

Unit 2 Lec 1 Cloud Computing

The document discusses cloud enabling technologies including service-oriented architecture, REST, and systems of systems. Key technologies that enable clouds are fast deployment, virtual clusters, multitenant techniques, massive data processing, web-scale communication, and distributed storage. Service-oriented architecture aims to design software systems using services through published interfaces. REST is a software architecture style for distributed hypermedia systems and aims for simplicity, scalability, and other properties.

Uploaded by

Manvendra
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

Subject Name:- Cloud Computing

Subject Code:- KCS-713


Unit No.:- 2
Lecture No.:- 1
Topic Name: Cloud Enabling Technologies

1
Content
1:- Cloud Enabling Technologies
2:-Service- Oriented Architecture
3:-REST and Systems of Systems

2
Cloud Enabling Technologies
• The key driving forces behind cloud computing
are the
– ubiquity of broadband and wireless networking,
– falling storage costs,
– progressive improvements in Internet computing
software.

3
• Cloud users are able to demand
– more capacity at peak demand,
– reduce costs,
– experiment with new services,
– and remove unneeded capacity,
• whereas service providers can increase
system utilization via multiplexing,
virtualization, and dynamic resource
provisioning.

4
Clouds are enabled by the progress in hardware,
software, and networking technologies

1. Fast platform deployment: Fast, efficient, and


flexible deployment of cloud resources to
provide dynamic computing environment to
users
2. Virtual clusters on demand: Virtualized cluster
of VMs provisioned to satisfy user demand and
virtual cluster reconfigured as workload changes

5
3. Multitenant techniques: SaaS for distributing
software to a large number of users for their
simultaneous use and resource sharing if so
desired
4. Massive data processing: Internet search and
web services which often require massive data
processing, especially to support personalized
services

6
5. Web-scale communication: Support for
e-commerce, distance education,
telemedicine, social networking, digital
government, and digital entertainment
applications
6. Distributed storage: Large-scale storage of
personal records and public archive
information which demands distributed
storage over the clouds
7
7. Licensing and billing services: License
management and billing services which greatly
benefit all types of cloud services in utility
computing

8
• These technologies play instrumental roles in
making cloud computing a reality.
• Most of these technologies are mature today
to meet increasing demand.
• In the hardware area, the rapid progress in
multicore CPUs, memory chips, and disk
arrays has made it possible to build faster data
centers with huge amounts of storage space.

9
• Resource virtualization enables rapid cloud
deployment and disaster recovery.
• Service-oriented architecture (SOA) also plays
a vital role.
• Progress in providing SaaS, Web 2.0
standards, and Internet performance have all
contributed to the emergence of cloud
services.

10
• Today’s clouds are designed to serve a large
number of tenants over massive volumes of data.
• The availability of large-scale, distributed storage
systems is the foundation of today’s data centers.
• Of course, cloud computing is greatly benefitted
by the progress made in license management and
automatic billing techniques in recent years.

11
Service- Oriented Architecture
• Technology has advanced at breakneck speeds
over the past decade, and many changes are still
occurring. However, in this chaos, the value of
building systems in terms of services has grown in
acceptance and it has become a core idea of most
distributed systems.
• we cover two major service-oriented architecture
styles, namely
– REST (Representational State Transfer) and
– WS (Web Services) and their extensions.

12
Continued…
• SOA is about how to design a software system
that makes use of services of new or legacy
applications through their published or
discoverable interfaces.
• These applications are often distributed over the
networks.
• SOA also aims to make service interoperability
extensible and effective. It prompts architecture
styles such as loose coupling, published interfaces,
and a standard communication model in order to
support this goal.

13
W3C definition: SOA
• The World Wide Web Consortium (W3C) defines
SOA as a form of distributed systems architecture
characterized by the following properties
• Logical view: The SOA is an abstracted, logical
view of actual programs, databases, business
processes, and so on, defined in terms of what it
does, typically carrying out a business-level
operation. The service is formally defined in terms
of the messages exchanged between provider
agents and requester agents.

14
• Message orientation: The internal structure of
providers and requesters include the implementation
language, process structure, and even database
structure. These features are deliberately abstracted
away in the SOA: Using the SOA discipline one does
not and should not need to know how an agent
implementing a service is constructed. A key benefit of
this concerns legacy systems. By avoiding any
knowledge of the internal structure of an agent, one
can incorporate any software component or
application to adhere to the formal service definition.

15
• Description orientation: A service is described by
machine-executable metadata. The description
supports the public nature of the SOA: Only those
details that are exposed to the public and are
important for the use of the service should be
included in the description. The semantics of a
service should be documented, either directly or
indirectly, by its description.

• Granularity Services tend to use a small number


of operations with relatively large and complex
messages.

16
• Network orientation Services tend to be
oriented toward use over a network, though
this is not an absolute requirement.
• Platform-neutral Messages are sent in a
platform-neutral, standardized format
delivered through the interfaces. XML is the
most obvious format that meets this
constraint.

17
SOA versus Component based
model
• Unlike the component-based model, which is based on
design and development of tightly coupled
components for processes within an enterprise, using
different protocols and technologies such as CORBA
and DCOM, SOA focuses on loosely coupled software
applications running across different administrative
domains, based on common protocols and
technologies, such as HTTP and XML.
• SOA is related to early efforts on the architecture style
of large-scale distributed systems, particularly
Representational State Transfer (REST).

18
REST and Systems of Systems
• REST is a software architecture style for
distributed systems, particularly distributed
hypermedia systems, such as the World Wide
Web.
• It has recently gained popularity among
enterprises such as Google, Amazon, Yahoo!, and
especially social networks such as Facebook and
Twitter because of its simplicity, and its ease of
being published and consumed by clients.

19
What REST actually aims for?

Scalability
Simplicity

Modifiability
Usability
Portability
Reliability

20
• REST, was introduced and explained by Roy
Thomas Fielding, one of the principal authors
of the HTTP specification, in his doctoral
dissertation in 2000 and was developed in
parallel with the HTTP/1.1 protocol. The REST
architectural style is based on four principles:

21
Figure: A simple REST interaction between user and server in
HTTP specification.

22
1. Uniform Resource Identifier
• Resource Identification through URIs: The
RESTful web service exposes a set of resources
which identify targets of interaction with its
clients. The key abstraction of information in
REST is a resource. Any information that can
be named can be a resource, such as a
document or image or a temporal service. A
resource is a conceptual mapping to a set of
entities.
23
• Each particular resource is identified by a
unique name, or more precisely, a Uniform
Resource Identifier (URI) which is of type URL,
providing a global addressing space for
resources involved in an interaction between
components as well as facilitating service
discovery. The URIs can be bookmarked or
exchanged via hyperlinks, providing more
readability and the potential for
advertisement.
24
2. Uniform, Constrained Interface
• Uniform, Constrained Interface: Interaction with
RESTful web services is done via the HTTP
standard, client/server cacheable protocol.
Resources are manipulated using a fixed set of
four
• CRUD (create, read, update, delete) verbs or
operations: PUT, GET, POST, and DELETE.
• PUT creates a new resource, which can then be
destroyed by using DELETE.
• GET retrieves the current state of a resource.
POST transfers a new state onto a resource.

25
3. Self-Descriptive Message
• Self-Descriptive Message: A REST message includes enough
information to describe how to process the message.
• In REST, resources are decoupled from their representation
so that their content can be accessed in a variety of
standard formats (e.g., HTML, XML, MIME, plain text, PDF,
JPEG, JSON, etc.).
• REST provides multiple/alternate representations of each
resource.
• Metadata about the resource is available and can be used
for various purposes, such as cache control, transmission
error detection, authentication or authorization, and access
control.

26
4. Stateless Interactions

• Stateless Interactions: The REST interactions


are “stateless” in the sense that the meaning
of a message does not depend on the state of
the conversation.

27
28
RESTful Web Services
• Platform independent.
• Language independent.
• Work on HTTP protocol.
• Flexible and easily extendible.
• They also have some constraints or principles.
▪ Client-Server
▪ Stateless
▪ Cacheable
▪ Uniform Interface
▪ Layered System
▪ Code on Demand

29
Client-Server
• Seperation of concerns.
• Client and server are independent from eachother.
• Client doesn’t know anything about the resource which is kept in the
server.
• Server responds as long as the right requests come in.
• Goal: Platform independency and to improve scalability.

30
Stateless
• Each request is independent from other requests.
• No client session data or any context stored on the server.
• Every request from client stores the required information, so that the
server can respond.
• If there are needs for session-specific data, it should be held and
maintained by the client and transferred to the server with each request
as needed.

31
Cacheable
• HTTP responses must be cacheable by the clients.
• Important for performance.
• If a new request for the resources comes within a while, then the
cached response will be returned.

32
Uniform Interface
• All resources are accessed with a generic interface (HTTP-based).
• This makes it easier to manage the communication.
• By the help of a uniform interface, client and server
evolve independently from eachother.

33
Layered System
• There can be many intermediaries between you and the
server you are connecting to.
• Actually, a client does not know if it is connected to
the last server or an intermediary server.
• Intermediaries may improve performance by caching and
message passing.
• Intermediary servers can increase scalability by
load-balancing and can force clients to form some sort of
security policies.
• This structure can be used when encapsulation is needed.

34
Code on Demand
• Servers can send some kind of executable scripts to
the client-side in order to increase or change the
functionality on the client side.
• This may cause low visibility, so it is the only optional
• constraint.
• EXAMPLE
• ...
• <head>
• <script src="utility.js"
type="text/javascript"
> 35
Example: RESTful Web Service in Amazon S3 Interface
• A good example of RESTful web service application in
high-performance computing systems is the Amazon
Simple Storage Service (S3) interface.
• Amazon S3 is data storage for Internet applications.
• It provides simple web services to store and retrieve
data from anywhere at any time via the web.
• S3 keeps fundamental entities, “objects,” which are
named pieces of data accompanied by some metadata
to be stored in containers called “buckets,” each
identified by a unique key.

36
• Buckets serve several purposes:
• They organize the Amazon S3 namespace at the
highest level, identify the account responsible for
storage and data transfer charges, play a role in
access control, and serve as the unit of
aggregation for usage reporting.
• Amazon S3 provides three types of resources: a
list of user buckets, a particular bucket, and a
particular S3 object, accessible through
https://s3.amazonaws.com/{name-of-bucket}/{na
me-of-object}.

37
Important Questions
Q1. List the different cloud enabling technologies.
Q2. What is Service Oriented Architecure(SOA).
Q3. Write a note on REST(Representational State
Transfer)

38
References
• Text Books:-
• 1. Kai Hwang, Geoffrey C. Fox, Jack G.
Dongarra, “Distributed and Cloud Computing,
From Parallel Processing to the Internet of
Things”, Morgan Kaufmann Publishers, 2012.

39
Thank You

40

You might also like