birth of cloud computing dr. raihan ur rasool assistant professor nust school of electrical...

Post on 21-Dec-2015

215 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Dr. Raihan ur RasoolNUST School of Electrical Engineering and Computer Sciences

Birth of Cloud Computing

Dr. Raihan Ur Rasool Assistant Professor

NUST School of Electrical Engineering and Computer Scienceraihan.rasaool@seecs.edu.pk, vitalfact@{IEEE, acm}.org

Cloud Study Group

Plan

Each week, we will– Pick a different cloud computing topic– Discuss general issues on the topic– Read one or two latest research paper on that

topic

Outline

• A short journey of computing towards Clouds

• Cloud architectures and IaaS, PaaS, SaaS

• Building your own cloud: Tools and Techniques

If one ox could not do the job they did not try to grow a bigger

ox, but used two oxen.

- Grace Murray Hopper

A useful thought

How many of you did not shutdown the computer and are now here in this room?

• Assume we are 15 people running a screensaver without performing real work. The talk lasts one hour.

• Opportunity loss for one hour: Speed: 15 * 0.8 GFlops = 12 GFlopsComp: 12GFlops * 1h = 43‘200 billion of floating point operations

• Costs for one hour:Power consumption: 15 * 300 W =

4500 W during one hour = 4.5 kWh Money: 4.5kWh ~~ 0.9 $Oil needed: 0.36 liter (Gasoline: 12.3 kWh/kg)CO2 emissions: 0.81 kg CO2 (Gasoline: 2.27 kg CO2 / liter)

During one year (15 people)…

• Opportunity loss for one year: Speed: 15 * 0.8 GFlops = 12 GFlopsComp: 12GFlops * 1y = 378 432 000 billion of floating point ops

• Costs for one year:Power consumption: 15 * 300 W =

4500 W during one year = 39.42 MWh Money: 39.42 MWh => 525.6 $ per headOil needed: 3153.6 liter (Gasoline: 12.3 kWh/kg)CO2 emissions: 7 t CO2 (Gasoline: 2.27 kg CO2 / liter)

Distributed Computing

• Distributed computing is a science which solves a large problem by giving small parts of the problem to many computers to solve and then combining the solutions for the parts into a solution for the problem.

• Recent distributed computing projects have been designed to use the computers of hundreds of thousands of volunteers all over the world, via the Internet, to look for extra-terrestrial radio signals, to look for prime numbers so large that they have more than ten million digits, and to find more effective drugs to fight cancer and the AIDS virus.

• These projects run when the computer is idle

(from distributedcomputing.info)

Grid Computing

• Grid Computing– Computational Grid are a hardware and software infrastructure that

provides dependable, consistent, and pervasive access to high-end computational capabilities. (Ian Foster, Carl Kesselman-1998)

– Grid computing is concerned with coordinated resource sharing and problem solving in dynamic, multi-institutional virtual organizations. (2000)

– Grid computing enables the virtualization of distributed computing and data resources such as processing, network bandwidth and storage capacity to create a single system image, granting users and applications seamless access to vast IT capabilities. Just as an Internet user views a unified instance of content via the Web, a grid user essentially sees a single, large virtual computer. (IBM)

Internet and Grid ?

Virtualization

• Virtualization– Virtualization is the process of presenting computing resources

in ways that users and applications can easily get value out of them.

• In other words, it provides a logical rather than physical view of data, computing power, storage capacity, and other resources. Until now we have been delivering this benefit of virtualization to users somehow, but not to applications.

– The virtualized infrastructure allows applications to exploit heterogeneous resources in a seamless fashion.

Virtualization

• Virtualization– An example

Figure 1: Abstracting system hardware to resources

What is Cloud Computing?

Ragib Hasan: http://www.ragibhasan.com/

Let’s hear from the “experts”

What is Cloud Computing?

The infinite wisdom of the crowds (via Google Suggest)

What is Cloud Computing?

Larry Ellison, founder of Oracle

We’ve redefined Cloud Computing to include everything that we already do. . . . I don’t understand what we would do differently in the light of Cloud Computing other than change the wording of some of our ads.

What is Cloud Computing?

Richard StallmanGNU

It’s stupidity. It’s worse than stupidity: it’s a marketing hype campaign

What is Cloud Computing?

Ron RivestThe R of RSA

Cloud Computing will become a focal point of our work in security. I’m optimistic …

So, What really is Cloud Computing?

Cloud computing is a new computing paradigm, involving data and/or computation outsourcing, with

– Infinite and elastic resource scalability– On demand “just-in-time” provisioning– No upfront cost … pay-as-you-go

That is, use as much or as less you need, use only when you want, and pay only what you use,

Cloud computing is Internet-based computing, whereby shared resources, software and information are provided to computers and other devices on-demand, like a public utility. (Wikipedia)

The real story

Mid to late ’90s, Grid computing was proposed to link and share computing resources

The real story … continued

Post-dot-com bust, big companies ended up with large data centers, with low utilization

Solution: Throw in virtualization technology, and sell the excess computing power

And thus, Cloud Computing was born …

Cloud computing provides numerous economic advantages

For clients:– No upfront commitment in buying/leasing

hardware– Can scale usage according to demand– Barriers to entry lowered for startups

For providers:– Increased utilization of datacenter resources

http://oos.cc/login.html

http://www.eyeos.info/

http://www.cloudo.com/

Cloud computing means selling “X as a service”

IaaS: Infrastructure as a Service– Selling virtualized hardware

PaaS: Platform as a service– Access to a configurable platform/API

SaaS: Software as a service– Software that runs on top of a cloud

Cloud computing architecture

e.g., Web browser

SaaS , e.g., Google Docs

PaaS, e.g., Google AppEngine

IaaS, e.g., Amazon EC2

So, if cloud computing is so great, why aren’t everyone doing it?

Clouds are still subject to traditional data confidentiality, integrity, availability, and privacy issues, plus some additional attacks

Anatomy of an open source cloud

Virtualization introduces the ability to migrate virtual machines (VMs) between physical servers for the purposes of load balancing.

IBM DeveloperWorks http://www.ibm.com/developerworks/opensource/library/os-cloud-anatomy/index.html?S_TACT=105AGX54&S_CMP=D0311&ca=dnw-1110&ca=dth-cloud

Although virtualization is not a requirement, it provides undisputed capabilities for scalable and power-efficient architectures.

Core open source technologies

• Hypervisor– The Linux Kernel Virtual Machine (KVM) KVM is the

official hypervisor solution, being deployed into production environments.

– Lguest: It is a Linux-focused solution that runs only Linux VMs, but is integrated into the kernel

– User-Mode Linux (UML) : It modifies a guest Linux kernel to run on top of another Linux operating system (without hypervisor extensions).

Core open source technologies (2/4)

• Device emulation– QEMU : A popular open source package that supports

a number of hypervisors

• Virtual networking– Open vSwitch

The vSwitch behaves like a physical switch

Core open source technologies (3/4)

• VM tools and technologies– Ovftool: used for VMI conversion (for example, to convert

from the VMware Virtual Disk Development Kit [VMDK] format into OVF

– Clonezilla: converts a physical server into VMI– Libvirt: for migration of VMs between platforms

• I/O Technologies:– TrafficServer: session management, authentication,

filtering, load balancing, and routing

Core open source technologies (3/4)

• Infrastructure management:– oVirt: VM management tool: Web based console

that, in addition to traditional management, supports the automation of clustering and load balancing.

– VirtManager: graphically rich display (for live performance and resource utilization) and includes a VNC client viewer

– Puppet: simplifies the management of large infrastructures by abstracting the details of the peer operating system.

Integrated IaaS solutions

• Eucalyptus: supports KVM/Linux and Xen for hypervisors and includes the Rocks cluster distribution for cluster management.

• OpenNebula: supports the idea of hybrid clouds. It supports Xen, KVM/Linux, and VMware and relies on elements like libvirt for management and introspection.

• Nimbus:lease remote resources (i.e. EC2) and manage them locally (config., deploy VMs, monitor, etc.).

32

Further Reading

Armbrust et al., Above the Clouds: A Berkeley View of Cloud Computing, UC Berkeley Tech Report UCB/EECS-2009-28, February 2009.

Chow et al., Cloud Computing: Outsourcing Computation without Outsourcing Control, 1st ACM Cloud Computing Security Workshop, November 2009.

Commercial clouds

Salesforce.com

Coghead

Google App Engine Yahoo Pipes

Amazon

Cloud articles

http://blogs.zdnet.com/Hinchcliffe/?p=488&tag=btxcsimhttp://blogs.zdnet.com/Howlett/?p=558&tag=btxcsimhttp://blogs.zdnet.com/BTL/?p=9560&tag=btxcsimhttp://www.businessweek.com/technology/content/

aug2008/tc2008082_445669_page_3.htmhttp://www.ibm.com/developerworks/websphere/

techjournal/0904_amrhein/0904_amrhein.htmlhttp://cloudcomputing.sys-con.com/

top related