0% found this document useful (0 votes)
77 views22 pages

Cloud Computing - Lecture 2

This document provides an overview of cloud computing and its evolution from distributed systems, virtualization, Web 2.0, and utility computing. It discusses key technologies like virtualization, distributed systems, and service-oriented architectures that enabled cloud computing. The document also outlines some popular cloud platforms including Amazon Web Services, Google AppEngine, Microsoft Azure, and Hadoop and describes their core capabilities.

Uploaded by

Muhammad Fahad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
77 views22 pages

Cloud Computing - Lecture 2

This document provides an overview of cloud computing and its evolution from distributed systems, virtualization, Web 2.0, and utility computing. It discusses key technologies like virtualization, distributed systems, and service-oriented architectures that enabled cloud computing. The document also outlines some popular cloud platforms including Amazon Web Services, Google AppEngine, Microsoft Azure, and Hadoop and describes their core capabilities.

Uploaded by

Muhammad Fahad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 22

Cloud Computing

Lecture 02

Chapter 1 – Introduction

1
Historical developments
 Distributed systems
 Virtualization
 Web 2.0
 Service-oriented computing
 Utility-oriented computing

2
Distributed systems
 A distributed system is a collection of independent computers that
appears to its users as a single coherent system.
 The primary purpose of distributed systems is to share resources and
utilize them better.
 Three major milestones have led to cloud computing:
1. Mainframe Computing
– Large computational facilities utilizing multiple processing units, specialized for large data
movement, and massive I/O operations.
2. Cluster Computing
– Commodity machines connected by a high-bandwidth network and controlled by specific software
tools that manage them as a single system.
3. Grid Computing
– Developed as aggregations of geographically dispersed clusters by means of internet connections,
grid computing proposed a new approach of utility computing. 3
FIGURE 1.6 - The evolution of distributed computing
technologies, 1950s-2010s.

4
Virtualization
 Virtualization is essentially a technology that allows creation of different
computing environments by simulating the target interface.
 The most common example of virtualization is hardware virtualization
which simulates the hardware interface expected by an operating system.
• Allows the coexistence of different software stacks on top of the same
hardware.
• These stacks are contained inside virtual machine instances, which operate in
complete isolation from each other.
• High-performance servers can host several virtual machine instances.
 Virtualization is the base technology that enables cloud computing solutions
to deliver virtual servers on demand, such as Amazon EC2, VMware
vCloud, and others.
5
Web 2.0
 Web 2.0 brings interactivity and flexibility into web pages, providing
enhanced user experience by gaining web-based access to all the
functions that are normally found in desktop applications.
 These capabilities are obtained by integrating a collection of standards
and technologies such as XML, Asynchronous JavaScript and
XML(AJAX), Web Services, and others
 Examples of Web2.0 applications are Google Documents,
GoogleMaps, Facebook, Twitter, YouTube etc..

6
Service-oriented computing
 This approach adopts the concept of services as the main building blocks of
application and system development.
 Service-oriented computing (SOC) supports the development of rapid, low-
cost, flexible, interoperable, and evolvable applications and systems
 Service-oriented computing introduces and diffuses two important concepts,
which are also fundamental to cloud computing:
• Quality of service (QoS) identifies a set of functional and nonfunctional
attributes that can be used to evaluate the behavior of a service from different
perspectives.
• Software as a service (SaaS) is a software distribution model in which a third-
party provider hosts applications and makes them available to customers over
the Internet.
7
Utility-oriented computing
 Utility computing is a vision of computing that defines a service-
provisioning model for compute services in which resources such as
storage, compute power, applications, and infrastructure are packaged and
offered on a pay-per-use basis.
 The idea of providing computing as a utility like natural gas, water, power,
and telephone connection has a long history but has become a reality today
with the advent of cloud computing.

8
Building cloud computing environments
 Application development
 Infrastructure and system development
 Computing platforms and technologies

9
Application development
 Applications that leverage cloud computing benefit from its capability
to dynamically scale on demand.
 Different classes of applications:
• Web applications
– workload generated by varying user demands
• Enterprise applications
– sensible to inappropriate sizing of infrastructure and service deployment
• Resource-intensive applications
– resources are required to complete execution in a reasonable timeframe
– data-intensive or compute-intensive
– resources are not needed constantly or for a long duration

10
Application development
 Cloud computing provides a solution for on-demand and dynamic
scaling across the entire stack of computing.
• provides methods for renting compute power, storage, and networking
• offers runtime environments designed for scalability and dynamic sizing
• provides application services that mimic the behavior of desktop
applications but that are completely hosted and managed on the provider
side

11
Infrastructure and system development
 Distributed computing, virtualization, service orientation, and Web 2.0
form the core technologies enabling the provisioning of cloud services
from anywhere on the globe.
 Developing applications and systems that leverage the cloud requires
knowledge across all these technologies.

12
Distributed systems
 Cloud systems are distributed systems.
 On demand provisioning of new nodes and services constitutes the
major challenge for engineers and developers.
 Infrastructure-as-a-Service solutions provide the capabilities to add
and remove resources, but it is up to those who deploy systems on this
scalable infrastructure to make use of such opportunities with wisdom
and effectiveness.
 Platform-as-a-Service solutions embed into their core offering
algorithms and rules that control the provisioning process and the lease
of resources.

13
Web 2.0 technologies
 Constitute the interface through which cloud computing services are
delivered, managed, and provisioned.
 Web services have become the primary access point to cloud
computing systems from a programmatic standpoint. Therefore,
service orientation is the underlying paradigm that defines the
architecture of a cloud computing system.
 Cloud computing is often summarized with the acronym XaaS—
Everything-as-a-Service—that clearly underlines the central role of
service orientation.

14
Virtualization
 Virtualization is a core feature of the infrastructure used by cloud
providers.
 The virtualization concept is more than 40 years old, but cloud
computing introduces new challenges.
 Developers of cloud applications need to be aware of the limitations of
the selected virtualization technology and the implications on the
volatility of some components of their systems.
 Cloud computing essentially provides mechanisms to address surges in
demand by replicating the required components of computing systems
under stress.

15
Computing platforms and technologies
 Amazon web services (AWS)
 Google AppEngine
 Microsoft Azure
 Hadoop
 Force.com and Salesforce.com
 Manjrasoft Aneka

16
Amazon web services (AWS)
 AWS offers comprehensive cloud IaaS services ranging from virtual
compute, storage, and networking to complete computing stacks.
 AWS is mostly known for its Elastic Compute Cloud (EC2) and
Simple Storage Service (S3).
• EC2 provides users with customizable virtual hardware that can be used
as the base infrastructure for deploying computing systems on the cloud.
• S3 delivers persistent storage on demand service. S3 is organized into
buckets; these are containers of objects that are stored in binary form and
can be enriched with attributes. Users can store objects of any size, from
simple files to entire disk images, and have them accessible from
everywhere.

17
Google AppEngine
 Google AppEngine is a scalable runtime environment for developing and
hosting web applications in Google-managed data centers.
 AppEngine provides both a secure execution environment and a
collection of services that simplify the development of highly- scalable
and high-performance applications supporting popular programming
languages like PHP, C#, Java, and Python.
 Developers can build and test applications on their own machines using
the AppEngine software development kit (SDK), which replicates the
production runtime environment.
 Once development is complete, developers can easily migrate their
application to AppEngine and make the application available to the
world.
18
Microsoft Azure
 Microsoft Azure is a cloud computing platform ]that provides a
scalable runtime environment for building, hosting, and managing
services and applications using Microsoft-managed data centers.
 Azure provides a set of additional services that complement
application execution, such as support for storage (relational data and
blobs), networking, caching, content delivery, and others.

19
Hadoop
 Apache Hadoop is an open-source framework that is suited for
processing large data sets on commodity hardware.
 Hadoop is an implementation of MapReduce, an application
programming model developed by Google, which provides two
fundamental operations for data processing: map and reduce. Map
transforms and synthesizes the input data provided by the user. Reduce
aggregates the output obtained by the map operations.
 Hadoop provides the runtime environment, and developers need only
provide the input data and specify the map and reduce functions that
need to be executed.

20
Force.com and Salesforce.com
 Force.com is a cloud computing platform (PaaS) for developing social
enterprise applications.
 SalesForce.com is built on Force.com which provides the solution for
customer relationship management (SaaS).

21
Manjrasoft Aneka
 Manjrasoft Aneka is a cloud application platform for rapid creation of
scalable applications and their deployment on various types of clouds
in a seamless and elastic manner.
 It supports a collection of programming abstractions for developing
applications and a distributed runtime environment that can be
deployed on heterogeneous hardware (clusters, networked desktop
computers, and cloud resources).
 These applications are then executed on the distributed service-
oriented runtime environment, which can dynamically integrate
additional resource on demand.

22

You might also like