birth of cloud computing dr. raihan ur rasool assistant professor nust school of electrical...
Post on 21-Dec-2015
215 views
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 [email protected], 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/