SlideShare a Scribd company logo
ID2210
Jim Dowling
Introduction to Cloud Computing
Cloud Computing
•Cloud computing is the
delivery of hosting
services that are provided
to a client over the
Internet.
- Enable large-scale services
without up-front investment.
VM’S LAUNCHING
VM LAUNCHING!
[XKCD Comic 303]
Clouds are Elastic
•NIST Definition of Cloud Computing
"Cloud computing is a model for enabling
convenient, on-demand network access to a shared
pool of configurable computing resources (e.g.,
networks, servers, storage, applications, and
services) that can be rapidly provisioned and
released with minimal management effort or service
provider interaction."
Supporting Technologies
•Enormous computer data-centres containing
commodity hardware.
•Virtualization of computation, storage, and
communication.
- Turn hardware and networking into software!
•Achieve economies of scale.
- Reduce costs of electricity, bandwidth, hardware, software and
use low-cost locations.
- Lower-cost than provisioning own hardware.
•Large-scale distributed systems services, such as
NoSQL datastores, object stores, and distributed
filesystems, have enabled developers to build scalable
cloud computing applications.
Cloud Computing Essentials
•Cloud computing is Utility Computing
- Cloud services are controlled and monitored by the cloud
provider through a pay-per-use business model.
•An ideal cloud computing platform is:
- efficient in its use of resources
- scalable
- elastic
- self-managing
- highly available and accessible
- inter-operable and portable
Cloud Properties
•Resource efficiency: computing and network
resources are pooled to provide services to multiple
users. Resource allocation is dynamically adapted
according to user demand.
•Elasticity: computing resources can be rapidly and
elastically provisioned to scale up, and released to
scale down based on consumer’s demand.
Cloud Properties
•Self-managing services: a consumer can provision
cloud services, such as web applications, server
time, processing, storage and network as needed
and automatically without requiring human
interaction with each service’s provider
•Accessible and highly available: cloud resources
are available over the network anytime and
anywhere and are accessed through standard
mechanisms that promote use by different types of
platform (e.g., mobile phones, laptops, and PDAs).
Over or Under-Provisioning
Shaded area is unused capability.
Shaded area represents
requests not served.
Less and
less
demand.
Dynamic Provisioning
•In traditional computing model, two common
problems :
- Underestimate system utilization which result in under
provision
Resources
Demand
Capacity
1 2 3
Resources
Demand
Capacity
1 2 3
Resources
Demand
Capacity
Time (days)
1 2 3
Loss Users
Loss Revenue
Dynamic Provisioning
•Overestimate system utilization which results in low
utilization
•How do we solve this problem?
- Dynamically provision resources
Unused resources
Demand
Capacity
Time
Resources
Real world estimates
•Average server utilization is 5% to 20%.
•Peak workload exceeds the average by factors of 2
to 10.
•Users provision for the peak.
•Peak loads may occur based on the time of day or
based on other factors (e.g. photo sharing after the
holidays, drop/add within two weeks of start of
term, etc.)
Public Clouds, Private Clouds
Deployment Model
•There are four primary cloud deployment models :
- Public Cloud
- Private Cloud
- Community Cloud
- Hybrid Cloud
Public Clouds
•Public clouds are owned by cloud service providers
who charge for the use of cloud resources.
•Basic characteristics:
- Homogeneous infrastructure, Common policies
- Shared resources and multi-tenancy
- Leased or rented infrastructure
- Economies of scale
•AWS/EC2 (Amazon)
•Azure (Microsoft)
•Google Cloud Platform.
•Rackspace.
Private Clouds
•The cloud infrastructure belongs to and is operated
by only one organization.
•Basic characteristics :
- Heterogeneous infrastructure; Customized policies
- Dedicated resources
- In-house infrastructure; End-to-end control
•Examples include:
Other types of Clouds
•Community cloud
- The cloud infrastructure is shared by several organizations
and supports a specific community that has shared
concerns (e.g., mission, security requirements, policy, and
compliance considerations).
•Hybrid cloud
- The cloud infrastructure is a composition of two or more
clouds (private, community, or public) that remain unique
entities but are bound together by standardized or
proprietary technology that enables data and application
portability.
IaaS, PaaS and SaaS
•Infrastructure as a Service (IaaS)
•Platform as a Service (PaaS)
•Software as a Service (SaaS)
Infrastructure
Servers · Storage
· Network
IaaS
Platform
OS & Application
Stack
Infrastructure
Servers · Storage
· Network
PaaS
Applications
Packaged Software
Platform
OS & Application
Stack
Infrastructure
Servers · Storage
· Network
SaaS
Spectrum of Cloud Users
Image credit:
http://blogs.msdn.com/b/seliot/archive/2010/03/04/what-the-heck-is-cloud-computing-another-re-look-with-
pretty-pictures.aspx
Virtualization
•Virtualization is the abstraction of logical resources
away from underlying physical resources.
•A hypervisor (or Virtual Machine Monitor (VMM))
virtualizes a platform’s operating system.
- The hypervisor manages OS’ as virtual machines (VMs) ,
enabling multiple OS’ to share the same physical hardware.
Hypervisor’s Trap and Emulate Model
•The hypervisor’s virtualization paradigm is trap and
emulate :
- Normal instructions of guest OS
• run directly on processor in user mode.
- System Calls
• CPU will trap to interrupt handler vector of Hypervisor.
• Hypervisor jump back into guest OS.
- Hardware Interrupts
• Hardware makes CPU trap to interrupt handler of Hypervisor.
• Hypervisor jumps to corresponding interrupt handler of guest OS.
- Privilege Instructions
• Running privilege instructions in guest OS will be trapped to
Hypervisor for instruction emulation.
• After emulation, the Hypervisor jumps back to guest OS.
Trap and Emulate Model (VMM=Hypervisor)
VM Context Switching
•The hypervisor context switches virtual machines:
1. Timer Interrupt in running VM.
2. Context switch to Hypervisor.
3. Hypervisor saves state of running VM.
4. Hypervisor determines next VM to execute.
5. Hypervisor sets timer interrupt.
6. Hypervisor restores state of next VM.
7. Hypervisor sets the program counter to timer interrupt
handler of next VM.
8. Next VM active.
VM Context Switching
Hypervisor Models
[https://en.wikipedia.org/wiki/Hypervisor]
KVM (Kernel-based Virtual Machine)
•VMWare and Xen are the best-known virtualization
platforms.
•KVM (Kernel-based Virtual Machine) is an open-
source virtualization platform
- Linux host OS
- Run multiple virtual machines (Windows, MAC, etc) on your
linux box
- IO is virtualized using a device model in KVM
- KVM requires a modified QEMU (open-source processor
emulator) for its IO virtualization framework.
- Type 1 Hypervisor, as it is a kernel-level module.
Virtualization using KVM in Linux
•KVM is a loadable kernel module
- kvm.ko
• provides the core virtualization infrastructure
- kvm-intel.ko / kvm-amd.ko
• processor specific modules
Virtual Machines are software – APIs to drive them.
OpenStack Compute REST API Features
•Authentication
•Servers
- List Servers IPs
- Create Server
- Delete Server
- Reboot Server
•Flavors (hardware config)
- List Flavors
- Get Flavor Details
• Images
- List Images
- Create Image/Snapshot
- Get Image Details
- Delete Image
• Backup Schedules
- List Backup Schedules
- Create/Update
- Disable
Platform-as-a-Service (PaaS)
IaaS is not Enough
•IaaS provides virtual machines, but it cannot provide
elastic computing by itself, where services scale up
and down to meet user demand.
- Dynamic provisioning
•Existing IaaS’ do not provide support for the sharing
middleware platforms among different VMs
- Multi-tenancy
Multi-tenancy
•Multi-tenancy is where a single instance of the
software runs on a server, serving multiple clients.
- Think multiple users in a MySQL database
- Java 9 should support multi-tenancy (many java programs
running in the same JVM)
•The software should be able to provide a single
service to all customers by setting configurations
- More efficient use of server resources
AMIs
IaaS - what you get
Ubuntu
CentOS
Windows
Redhat
Infrastructure-as-a-Service
AMIs
Pre-Baked
AMIs
You might prefer this...
A Platform-as-a-Service
HDFS
YARN
Configured stack of servers, dependencies, and firewalls and your app installed.
Spark
Flink Tez
Running on lots of machines…
PaaS PaaS PaaS
PaaS PaaS PaaS
PaaS PaaS PaaS
Data Center
Platform-as-a-Service (PaaS)
•Platform as a Service (PaaS) is a computing
platform that abstracts the infrastructure, OS, and
middleware to drive developer productivity.
•PaaS leverages dynamic provisioning
•PaaS leverages multi-tenancy
Closed PaaS
•A closed PaaS provides a fixed set of services you
can use. You cannot install your own services.
•They are typically hosted at some IaaS provider.
Closed PaaS Supported Langs/Services
Heroku Ruby, Node.js, JVM-langs,
Python, SQL-DB, KV-Store
AppFog PHP, Ruby, Node.js, Python,
SQL-DB, KV-Store
AppEngine (Google) Python, JVM-langs, GoLang
AWS Beanstalk, RightScale,
EngineYard, CloudBees, …
….……
Open PaaS
•An open PaaS provides support for you to develop
your own automated service deployments.
Kubernetes
Automated Installation: Chef/Puppet/Salt/Ansible
Agent Agent Agent
Master
Recipes
Recipes
Recipes
Karamel/Chef
•Cluster definition in YAML
•Virtualization using JClouds
- Support for AWS/EC2, Google Cloud Platform, OpenStack
•Karamelfile to Orchestrate Chef Recipes
•Chef-solo to execute recipes
•Standalone thick-client application
- Ability to store user credentials
- Ability to use discover the user’s own ssh keys
Karamel
Karamel/Chef
SSH SSH SSH
JClouds API
GitHub API
GitHub AWC-EC2
Validate
Chef Cookbooks Create VMs
Chef Cookbooks cloned from GitHub
Chef-Solo installs software – no agents.
Karamel installs Chef Recipes.
Case Study: Installing Hadoop
Cloudera Manager Cloud Express Wizard*
Go to “EC2” in AWS web console and select “Instances”
Use the default “N. Virginia (us-east-1)” region.
Click on “Launch Instance”
On the next page, pick the “Ubuntu Server 12.04 LTS” 64-bit image.
select “Create a new Key Pair.”
click “Create and Download your key pair.”
save this file or you won’t be able to SSH into the instance we’re
about to launch.
$ wget http://archive.cloudera.com/cm4/installer/latest/cloudera-
manager-installer.bin
$ chmod +x cloudera-manager-installer.bin
$ sudo ./cloudera-manager-installer.bin
*http://blog.cloudera.com/blog/2013/03/how-to-create-a-cdh-cluster-on-amazon-ec2-via-cloudera-manager/
Abridged EC2-specific installation instructions*
Karamel Cluster Definition
name: ApacheHadoop
ec2:
type: m3.medium
region: eu-west-1
cookbooks:
hadoop:
github: "hopshadoop/apache-hadoop-chef"
version: "v0.1"
groups:
namenode:
size: 1
recipes:
- hadoop::namenode
- hadoop::resourcemanager
datanodes:
size: 2
recipes:
- hadoop::datanode
- hadoop::nodemanager
Karamel Hadoop Cluster - WebUI
Other Cluster-Definition Driven PaaSes
•Amazon Web Services OpsWorks
- JSON cluster definition
- Virtualization using EC2
- Custom Orchestration
- Chef-solo as provisioner
•Google Kubernetes
- JSON cluster definition
- “Virtualization” using Docker Containers
• Extended Linux Containers
- Orchestration support for Docker Containers
- No built in support for orchestration
Software-as-a-Service (SaaS)
Software as a Service
•Software as a Service - SaaS
- Run applications on a provider’s on a cloud infrastructure.
- Applications are accessible from various client devices
through a thin client interface such as a web browser.
- User is oblivious to the underlying cloud infrastructure
•Examples
- Dropbox
- Google Apps (e.g., Gmail, Google Docs, Google sites,..)
- SalesForce.com
Software as a Service
Obstacles To Cloud Computing
•Data Lock-in
•Data Confidentiality/Auditability
•Data transfer bottlenecks/costs
•Performance unpredictability for systems apps
•Legislative Compliance Concerns in Europe
Summary of Cloud Computing Architecture
Conclusions
•Cloud computing has enabled an explosion in large-
scale computing services and applications.
•Clouds provide services at three main levels: IaaS,
PaaS, SaaS.
•New programming models enable easier
development of large-scale applications.
•Hadoop is the open-source enabling technology for
Big Data
- Hadoop is rapidly becoming the operating system for the
Data Center
References
•Dean et. Al, “MapReduce: Simplified Data Processing
on Large Clusters”, OSDI’04.
•Schvachko, “HDFS Scalability: The limits to growth”,
Usenix, :login, April 2010.
•Murthy et al, “Apache Hadoop YARN: Yet Another
Resource Negotiator”, SOCC’13.
•“Processing a Trillion Cells per Mouse Click”,
VLDB’12
References
Dean et al., MapReduce: simplified data processing on large
clusters, Comms of ACM, vol 51(1), 2008.
Armburst et al., “Above the Clouds: A Berkeley View of
Cloud Computing”
“Cloud Computing: Principles and Paradigms,” R. Buyya et al.
(eds.), Wiley, 2010.
“Cloud Computing: Principles, Systems and Applications,” L.
Gillam et al. (eds.) Springer, 2010.
Jeffrey Dean and Sanjay Ghemawat: “MapReduce: Simplified
Data Processing on Large Clusters” in OSDI 2004
Senjay Ghemawat, : “The Google File System”. SIGOPS
Operating Systems Review 37(5), 2003
M. Isard et al.: “Dryad: Distributed Data-parallel Programs
from Sequential Building Blocks” in EuroSys 2007

More Related Content

Similar to 9-cloud-computing.pdf (20)

PPT
CLOUD
pavani krishna
 
PPT
Cloud computing-2 (1)
JUDYFLAVIAB
 
PPT
Cloud Environment (Cloud Computing Course)
DennyHermawan15
 
PPTX
Virtualization and cloud computing
Deep Gupta
 
PPT
Cloud introduction
Dr.Neeraj Kumar Pandey
 
PPT
Cloud computing by Bharat Bodage
Bharat Bodage
 
PPT
Cloud models and platforms
purplesea
 
PPT
cloud computng
Krishna Gali
 
PPT
cloud computing
anshu verma
 
PDF
Cloud computing
Selvaraj Kesavan
 
DOCX
Cloud Computing presentation . docx
anandmahto1820
 
PPT
Cloud computing
Srinivasa Rao
 
PPT
A Complete Guide Cloud Computing
Sripati Mahapatra
 
PDF
introductiontocloudcomputing-150109043607-conversion-gate02.pdf
mohaaalsa
 
PPTX
Introduction to cloud computing
Vipin Batra
 
PPTX
presentation_introduction_to_cloud_computing_1565085358_46246.pptx
SimmyNayak
 
PPTX
cloude computing
Krishnalal Kj
 
PPT
Fundamentals of Cloud Computing Basics.ppt
AniruddhaDatta9
 
PPTX
Introduction To Cloud Computing
kevnikool
 
PPTX
A Journey To The Cloud - An Introduction To Cloud Computing
Haim Ateya
 
Cloud computing-2 (1)
JUDYFLAVIAB
 
Cloud Environment (Cloud Computing Course)
DennyHermawan15
 
Virtualization and cloud computing
Deep Gupta
 
Cloud introduction
Dr.Neeraj Kumar Pandey
 
Cloud computing by Bharat Bodage
Bharat Bodage
 
Cloud models and platforms
purplesea
 
cloud computng
Krishna Gali
 
cloud computing
anshu verma
 
Cloud computing
Selvaraj Kesavan
 
Cloud Computing presentation . docx
anandmahto1820
 
Cloud computing
Srinivasa Rao
 
A Complete Guide Cloud Computing
Sripati Mahapatra
 
introductiontocloudcomputing-150109043607-conversion-gate02.pdf
mohaaalsa
 
Introduction to cloud computing
Vipin Batra
 
presentation_introduction_to_cloud_computing_1565085358_46246.pptx
SimmyNayak
 
cloude computing
Krishnalal Kj
 
Fundamentals of Cloud Computing Basics.ppt
AniruddhaDatta9
 
Introduction To Cloud Computing
kevnikool
 
A Journey To The Cloud - An Introduction To Cloud Computing
Haim Ateya
 

Recently uploaded (20)

PPTX
Continental Accounting in Odoo 18 - Odoo Slides
Celine George
 
PPTX
20250924 Navigating the Future: How to tell the difference between an emergen...
McGuinness Institute
 
DOCX
Modul Ajar Deep Learning Bahasa Inggris Kelas 11 Terbaru 2025
wahyurestu63
 
PDF
Tips for Writing the Research Title with Examples
Thelma Villaflores
 
PPTX
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
PPTX
Translation_ Definition, Scope & Historical Development.pptx
DhatriParmar
 
PPTX
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
PDF
TOP 10 AI TOOLS YOU MUST LEARN TO SURVIVE IN 2025 AND ABOVE
digilearnings.com
 
PPTX
Unlock the Power of Cursor AI: MuleSoft Integrations
Veera Pallapu
 
PPTX
PROTIEN ENERGY MALNUTRITION: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
PPTX
Command Palatte in Odoo 18.1 Spreadsheet - Odoo Slides
Celine George
 
PPTX
Electrophysiology_of_Heart. Electrophysiology studies in Cardiovascular syste...
Rajshri Ghogare
 
PPTX
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
PPTX
Basics and rules of probability with real-life uses
ravatkaran694
 
PPTX
INTESTINALPARASITES OR WORM INFESTATIONS.pptx
PRADEEP ABOTHU
 
PPTX
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
PDF
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
PPTX
YSPH VMOC Special Report - Measles Outbreak Southwest US 7-20-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
PPTX
K-Circle-Weekly-Quiz12121212-May2025.pptx
Pankaj Rodey
 
DOCX
pgdei-UNIT -V Neurological Disorders & developmental disabilities
JELLA VISHNU DURGA PRASAD
 
Continental Accounting in Odoo 18 - Odoo Slides
Celine George
 
20250924 Navigating the Future: How to tell the difference between an emergen...
McGuinness Institute
 
Modul Ajar Deep Learning Bahasa Inggris Kelas 11 Terbaru 2025
wahyurestu63
 
Tips for Writing the Research Title with Examples
Thelma Villaflores
 
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
Translation_ Definition, Scope & Historical Development.pptx
DhatriParmar
 
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
TOP 10 AI TOOLS YOU MUST LEARN TO SURVIVE IN 2025 AND ABOVE
digilearnings.com
 
Unlock the Power of Cursor AI: MuleSoft Integrations
Veera Pallapu
 
PROTIEN ENERGY MALNUTRITION: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
Command Palatte in Odoo 18.1 Spreadsheet - Odoo Slides
Celine George
 
Electrophysiology_of_Heart. Electrophysiology studies in Cardiovascular syste...
Rajshri Ghogare
 
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
Basics and rules of probability with real-life uses
ravatkaran694
 
INTESTINALPARASITES OR WORM INFESTATIONS.pptx
PRADEEP ABOTHU
 
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 7-20-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
K-Circle-Weekly-Quiz12121212-May2025.pptx
Pankaj Rodey
 
pgdei-UNIT -V Neurological Disorders & developmental disabilities
JELLA VISHNU DURGA PRASAD
 
Ad

9-cloud-computing.pdf

  • 2. Cloud Computing •Cloud computing is the delivery of hosting services that are provided to a client over the Internet. - Enable large-scale services without up-front investment.
  • 4. Clouds are Elastic •NIST Definition of Cloud Computing "Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction."
  • 5. Supporting Technologies •Enormous computer data-centres containing commodity hardware. •Virtualization of computation, storage, and communication. - Turn hardware and networking into software! •Achieve economies of scale. - Reduce costs of electricity, bandwidth, hardware, software and use low-cost locations. - Lower-cost than provisioning own hardware. •Large-scale distributed systems services, such as NoSQL datastores, object stores, and distributed filesystems, have enabled developers to build scalable cloud computing applications.
  • 6. Cloud Computing Essentials •Cloud computing is Utility Computing - Cloud services are controlled and monitored by the cloud provider through a pay-per-use business model. •An ideal cloud computing platform is: - efficient in its use of resources - scalable - elastic - self-managing - highly available and accessible - inter-operable and portable
  • 7. Cloud Properties •Resource efficiency: computing and network resources are pooled to provide services to multiple users. Resource allocation is dynamically adapted according to user demand. •Elasticity: computing resources can be rapidly and elastically provisioned to scale up, and released to scale down based on consumer’s demand.
  • 8. Cloud Properties •Self-managing services: a consumer can provision cloud services, such as web applications, server time, processing, storage and network as needed and automatically without requiring human interaction with each service’s provider •Accessible and highly available: cloud resources are available over the network anytime and anywhere and are accessed through standard mechanisms that promote use by different types of platform (e.g., mobile phones, laptops, and PDAs).
  • 9. Over or Under-Provisioning Shaded area is unused capability. Shaded area represents requests not served. Less and less demand.
  • 10. Dynamic Provisioning •In traditional computing model, two common problems : - Underestimate system utilization which result in under provision Resources Demand Capacity 1 2 3 Resources Demand Capacity 1 2 3 Resources Demand Capacity Time (days) 1 2 3 Loss Users Loss Revenue
  • 11. Dynamic Provisioning •Overestimate system utilization which results in low utilization •How do we solve this problem? - Dynamically provision resources Unused resources Demand Capacity Time Resources
  • 12. Real world estimates •Average server utilization is 5% to 20%. •Peak workload exceeds the average by factors of 2 to 10. •Users provision for the peak. •Peak loads may occur based on the time of day or based on other factors (e.g. photo sharing after the holidays, drop/add within two weeks of start of term, etc.)
  • 14. Deployment Model •There are four primary cloud deployment models : - Public Cloud - Private Cloud - Community Cloud - Hybrid Cloud
  • 15. Public Clouds •Public clouds are owned by cloud service providers who charge for the use of cloud resources. •Basic characteristics: - Homogeneous infrastructure, Common policies - Shared resources and multi-tenancy - Leased or rented infrastructure - Economies of scale •AWS/EC2 (Amazon) •Azure (Microsoft) •Google Cloud Platform. •Rackspace.
  • 16. Private Clouds •The cloud infrastructure belongs to and is operated by only one organization. •Basic characteristics : - Heterogeneous infrastructure; Customized policies - Dedicated resources - In-house infrastructure; End-to-end control •Examples include:
  • 17. Other types of Clouds •Community cloud - The cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations). •Hybrid cloud - The cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability.
  • 18. IaaS, PaaS and SaaS •Infrastructure as a Service (IaaS) •Platform as a Service (PaaS) •Software as a Service (SaaS) Infrastructure Servers · Storage · Network IaaS Platform OS & Application Stack Infrastructure Servers · Storage · Network PaaS Applications Packaged Software Platform OS & Application Stack Infrastructure Servers · Storage · Network SaaS
  • 19. Spectrum of Cloud Users Image credit: http://blogs.msdn.com/b/seliot/archive/2010/03/04/what-the-heck-is-cloud-computing-another-re-look-with- pretty-pictures.aspx
  • 20. Virtualization •Virtualization is the abstraction of logical resources away from underlying physical resources. •A hypervisor (or Virtual Machine Monitor (VMM)) virtualizes a platform’s operating system. - The hypervisor manages OS’ as virtual machines (VMs) , enabling multiple OS’ to share the same physical hardware.
  • 21. Hypervisor’s Trap and Emulate Model •The hypervisor’s virtualization paradigm is trap and emulate : - Normal instructions of guest OS • run directly on processor in user mode. - System Calls • CPU will trap to interrupt handler vector of Hypervisor. • Hypervisor jump back into guest OS. - Hardware Interrupts • Hardware makes CPU trap to interrupt handler of Hypervisor. • Hypervisor jumps to corresponding interrupt handler of guest OS. - Privilege Instructions • Running privilege instructions in guest OS will be trapped to Hypervisor for instruction emulation. • After emulation, the Hypervisor jumps back to guest OS.
  • 22. Trap and Emulate Model (VMM=Hypervisor)
  • 23. VM Context Switching •The hypervisor context switches virtual machines: 1. Timer Interrupt in running VM. 2. Context switch to Hypervisor. 3. Hypervisor saves state of running VM. 4. Hypervisor determines next VM to execute. 5. Hypervisor sets timer interrupt. 6. Hypervisor restores state of next VM. 7. Hypervisor sets the program counter to timer interrupt handler of next VM. 8. Next VM active.
  • 26. KVM (Kernel-based Virtual Machine) •VMWare and Xen are the best-known virtualization platforms. •KVM (Kernel-based Virtual Machine) is an open- source virtualization platform - Linux host OS - Run multiple virtual machines (Windows, MAC, etc) on your linux box - IO is virtualized using a device model in KVM - KVM requires a modified QEMU (open-source processor emulator) for its IO virtualization framework. - Type 1 Hypervisor, as it is a kernel-level module.
  • 27. Virtualization using KVM in Linux •KVM is a loadable kernel module - kvm.ko • provides the core virtualization infrastructure - kvm-intel.ko / kvm-amd.ko • processor specific modules
  • 28. Virtual Machines are software – APIs to drive them.
  • 29. OpenStack Compute REST API Features •Authentication •Servers - List Servers IPs - Create Server - Delete Server - Reboot Server •Flavors (hardware config) - List Flavors - Get Flavor Details • Images - List Images - Create Image/Snapshot - Get Image Details - Delete Image • Backup Schedules - List Backup Schedules - Create/Update - Disable
  • 31. IaaS is not Enough •IaaS provides virtual machines, but it cannot provide elastic computing by itself, where services scale up and down to meet user demand. - Dynamic provisioning •Existing IaaS’ do not provide support for the sharing middleware platforms among different VMs - Multi-tenancy
  • 32. Multi-tenancy •Multi-tenancy is where a single instance of the software runs on a server, serving multiple clients. - Think multiple users in a MySQL database - Java 9 should support multi-tenancy (many java programs running in the same JVM) •The software should be able to provide a single service to all customers by setting configurations - More efficient use of server resources
  • 33. AMIs IaaS - what you get Ubuntu CentOS Windows Redhat Infrastructure-as-a-Service AMIs Pre-Baked AMIs
  • 34. You might prefer this... A Platform-as-a-Service HDFS YARN Configured stack of servers, dependencies, and firewalls and your app installed. Spark Flink Tez
  • 35. Running on lots of machines… PaaS PaaS PaaS PaaS PaaS PaaS PaaS PaaS PaaS Data Center
  • 36. Platform-as-a-Service (PaaS) •Platform as a Service (PaaS) is a computing platform that abstracts the infrastructure, OS, and middleware to drive developer productivity. •PaaS leverages dynamic provisioning •PaaS leverages multi-tenancy
  • 37. Closed PaaS •A closed PaaS provides a fixed set of services you can use. You cannot install your own services. •They are typically hosted at some IaaS provider. Closed PaaS Supported Langs/Services Heroku Ruby, Node.js, JVM-langs, Python, SQL-DB, KV-Store AppFog PHP, Ruby, Node.js, Python, SQL-DB, KV-Store AppEngine (Google) Python, JVM-langs, GoLang AWS Beanstalk, RightScale, EngineYard, CloudBees, … ….……
  • 38. Open PaaS •An open PaaS provides support for you to develop your own automated service deployments. Kubernetes
  • 39. Automated Installation: Chef/Puppet/Salt/Ansible Agent Agent Agent Master Recipes Recipes Recipes
  • 40. Karamel/Chef •Cluster definition in YAML •Virtualization using JClouds - Support for AWS/EC2, Google Cloud Platform, OpenStack •Karamelfile to Orchestrate Chef Recipes •Chef-solo to execute recipes •Standalone thick-client application - Ability to store user credentials - Ability to use discover the user’s own ssh keys
  • 41. Karamel Karamel/Chef SSH SSH SSH JClouds API GitHub API GitHub AWC-EC2 Validate Chef Cookbooks Create VMs Chef Cookbooks cloned from GitHub Chef-Solo installs software – no agents. Karamel installs Chef Recipes.
  • 43. Cloudera Manager Cloud Express Wizard* Go to “EC2” in AWS web console and select “Instances” Use the default “N. Virginia (us-east-1)” region. Click on “Launch Instance” On the next page, pick the “Ubuntu Server 12.04 LTS” 64-bit image. select “Create a new Key Pair.” click “Create and Download your key pair.” save this file or you won’t be able to SSH into the instance we’re about to launch. $ wget http://archive.cloudera.com/cm4/installer/latest/cloudera- manager-installer.bin $ chmod +x cloudera-manager-installer.bin $ sudo ./cloudera-manager-installer.bin *http://blog.cloudera.com/blog/2013/03/how-to-create-a-cdh-cluster-on-amazon-ec2-via-cloudera-manager/ Abridged EC2-specific installation instructions*
  • 44. Karamel Cluster Definition name: ApacheHadoop ec2: type: m3.medium region: eu-west-1 cookbooks: hadoop: github: "hopshadoop/apache-hadoop-chef" version: "v0.1" groups: namenode: size: 1 recipes: - hadoop::namenode - hadoop::resourcemanager datanodes: size: 2 recipes: - hadoop::datanode - hadoop::nodemanager
  • 46. Other Cluster-Definition Driven PaaSes •Amazon Web Services OpsWorks - JSON cluster definition - Virtualization using EC2 - Custom Orchestration - Chef-solo as provisioner •Google Kubernetes - JSON cluster definition - “Virtualization” using Docker Containers • Extended Linux Containers - Orchestration support for Docker Containers - No built in support for orchestration
  • 48. Software as a Service •Software as a Service - SaaS - Run applications on a provider’s on a cloud infrastructure. - Applications are accessible from various client devices through a thin client interface such as a web browser. - User is oblivious to the underlying cloud infrastructure •Examples - Dropbox - Google Apps (e.g., Gmail, Google Docs, Google sites,..) - SalesForce.com
  • 49. Software as a Service
  • 50. Obstacles To Cloud Computing •Data Lock-in •Data Confidentiality/Auditability •Data transfer bottlenecks/costs •Performance unpredictability for systems apps •Legislative Compliance Concerns in Europe
  • 51. Summary of Cloud Computing Architecture
  • 52. Conclusions •Cloud computing has enabled an explosion in large- scale computing services and applications. •Clouds provide services at three main levels: IaaS, PaaS, SaaS. •New programming models enable easier development of large-scale applications. •Hadoop is the open-source enabling technology for Big Data - Hadoop is rapidly becoming the operating system for the Data Center
  • 53. References •Dean et. Al, “MapReduce: Simplified Data Processing on Large Clusters”, OSDI’04. •Schvachko, “HDFS Scalability: The limits to growth”, Usenix, :login, April 2010. •Murthy et al, “Apache Hadoop YARN: Yet Another Resource Negotiator”, SOCC’13. •“Processing a Trillion Cells per Mouse Click”, VLDB’12
  • 54. References Dean et al., MapReduce: simplified data processing on large clusters, Comms of ACM, vol 51(1), 2008. Armburst et al., “Above the Clouds: A Berkeley View of Cloud Computing” “Cloud Computing: Principles and Paradigms,” R. Buyya et al. (eds.), Wiley, 2010. “Cloud Computing: Principles, Systems and Applications,” L. Gillam et al. (eds.) Springer, 2010. Jeffrey Dean and Sanjay Ghemawat: “MapReduce: Simplified Data Processing on Large Clusters” in OSDI 2004 Senjay Ghemawat, : “The Google File System”. SIGOPS Operating Systems Review 37(5), 2003 M. Isard et al.: “Dryad: Distributed Data-parallel Programs from Sequential Building Blocks” in EuroSys 2007