What We Can Do in the Cloud (1)
-Tutorial for Cloud Computing Course-
Mikael Fernandus Simalango WISE Research Lab
Ajou University, South Korea
Overview
qToday’s highlight:
» Cloud Services and Cloud Management Services
» Virtualization Primer
» Perspectives of a Cloud Computing Project
» Detailed Views of Existing Cloud Solutions
» WISE on Cloud (only for Ajou students)
Cloud Services and Cloud
Management Services
Cloud Services
qCore: “API” cloud services
qeXtra: XaaS (X as a Service)
A
pplication serviceP
latform serviceI
nfrastructural serviceSaaS (Software as a Service)
PaaS (Platform as a Service)
IaaS (Infrastructure as a Service)
Privacy as a Service, Test a Service, Accounting as a Service, CRM as a Service, Repository as a Service,…, IT as a Service
Cloud Services (cont’d)
qCloud Services and Cloud Layers
Application layer Platform layer
Infrastructure layer
SaaS (Software as a Service)
PaaS (Platform as a Service)
IaaS (Infrastructure as a Service)
Cloud service types Cloud layers
HW
Virtualization layer
Cloud Services (cont’d)
qSaaS (Software as a Service):
» Software deployed as a hosted service and accessible by users over the internet
§ Used on-demand and charged on utility basis
» Examples of SaaS providers:
Cloud Services (cont’d)
qPaaS (Platform as a Service):
» Platforms built on top of virtualized infrastructure that can be used to deploy applications
» Examples of PaaS solutions:
§ Apache Hadoop
§ Google App Engine
§ Amazon Elastic MapReduce
Cloud Services (cont’d)
qIaaS (Infrastructure as a Service):
» Computing infrastructure (servers, storage,
network) delivered on-demand and charged on utility basis
» Examples of public IaaS providers:
§ Amazon EC2
§ Rackspace cloud
§ Joyent
§ Gogrid
Cloud Services (cont’d)
qHow about private IaaS providers?
» “Private” duality:
§ Single tenancy
§ Stricter SLA constraints
» Private cloud: a cloud formed on top of internal
infrastructure and/or privileged cloud infrastructure offered by public cloud provider
Internal infrastructure:
Server-network-storage
Provider infrastructure:
Server-network-storage
Private cloud
Cloud Services (cont’d)
qBuilding a private cloud:
» Virtualize legacy infrastructure
» Integrate with public cloud infrastructure for more elasticity
§ Requires cloud federation for resource orchestration
§ Cloud management services can be necessary
APP MW
OS HW
APP MW
OS HW
APP MW
OS HW
APP MW
OS
APP MW
OS
APP MW
OS Hypervisor
HW
…
Cloud Management Services
qCloud management services:
» Services that enable management functionalities to core cloud services
§ Mostly management of cloud infrastructure (IaaS management):
– VM management – Traffic management
– Load balancing and replication – Fault recovery
– High availability management – Performance monitoring
– etc
Cloud Management Services (cont’d)
qExamples of cloud infrastructure
management services:
» Open source solutions:
§ Open Nebula
§ Eucalyptus
» Commercial solutions:
§ Zeus
§ Platform computing
Virtualization Primer
Virtualization Primer
qVirtualization:
» Provides abstraction and encapsulation of physical resources
» Enables a pool of virtual machines that can be instantiated, terminated, migrated, suspended, deployed, copied, and destroyed
qVirtualization is not a cloud service but it is a
key enabler to cloud computing
Virtualization Primer
qVirtual Machine Manager or Hypervisor:
» A software-based actor that is responsible for virtualizing physical resources and managing communication between underlying hardware and instantiated virtual machines
qTypes of hypervisor:
» Type 1 hypervisor: runs directly on hardware
» Type 2 hypervisor: runs on a host operating system
Virtualization Primer
qType 1 hypervisor:
qExamples: Xen, KVM, VMWare ESXi, Citrix
XenServer, Microsoft Virtual Server
APP MW
OS HW
Hypervisor
+ =
HW Hypervisor APP
MW OS VM
APP MW
OS VM
APP MW
OS VM
Virtualization Primer
qType 2 hypervisor:
qExamples: Oracle VirtualBox, Vmware
Workstation, Microsoft Virtual PC, etc
APP MW
OS HW
Hypervisor
+ =
HW APP MW
OS VM
APP MW
OS VM
Hypervisor APP
MW OS
Perspectives of a Cloud
Computing Project
Perspectives of a Cloud Computing Project
qTwo sides of a coin:
+ Innovation + Optimization
+ Invention
+ Ingenious solution
Perspectives of a Cloud Computing Project
qPlanning the project:
Define the problem to attack Preliminary
survey
Define nature of project Innovative
project
Inventive project Set benchmark
solution Find holes,
missing features Develop solution
Testing Theoretical
model
Model validation
Invention
Benchmarking Innovation Performance and
gain validation
Perspectives of a Cloud Computing Project
qSample project: Project Dummy A
Problem: How can I know the topic that is hot on the net today?
Domain: Data mining and information retrieval
Benchmark solution: Twitter’s trending topic Nature of project: Innovation
Proposed solution:
-Combine Twitter’s trending topic with other sources: daily newspapers, social networking sites such as Facebook
-Use ensemble method to get better conjecture of today’s trending topic Test and deployment: Build Java code and deploy on GoogleAppEngine
Crawl analysis is conducted on Amazon EC2
Perspectives of a Cloud Computing Project
qProject Dummy A workflow:
Twitter’s trending topic
URL list:
1. cnn.com
2. news.com.au 3. bbc.co.uk 4. …
Crawler Word filter
Synonym-based classifier
Synonym-based classifier
Synonym-based classifier
{Term_i,rank}
{Term_i,rank}
{Term_i,rank}
Integrator classifier World’s trending
topic
Perspectives of a Cloud Computing Project
qSample project: Project Dummy B
Problem: How can we automate VM provisioning on hybrid cloud?
Domain: VM management
Theoretical model: Put the definitions, lemmas, and theorems here Nature of project: Invention
-Method and apparatus for automating VM provisioning on hybrid cloud using cloud supervising agent
Test and deployment: Build architectural design and implementation of cloud supervising agent using Java MPI and
test on existing IaaS clouds Proposed solution:
Perspectives of a Cloud Computing Project
qWhich way are you going?
» Reflect your current
understanding in cloud computing
» Beware of the timeline
» Match project complexity with your current knowledge,
development skill, and available time
Detailed Views of Existing
Cloud Solutions
Detailed Views of Existing Cloud Solutions
qMore in discussion:
» Amazon Web Services (IaaS and PaaS)
» Eucalyptus Community Cloud (IaaS)
» OpenNebula (IaaS)
» Google App Engine (PaaS)
» Apache Hadoop (PaaS)
» Github (SaaS)
Detailed Views of Existing Cloud Solutions:
Amazon Web Services
qFor first-timers:
» http://aws.amazon.com
Login Signup
Detailed Views of Existing Cloud Solutions:
Amazon Web Services (cont’d)
qAWS Management Console
Amazon cloud services
Detailed Views of Existing Cloud Solutions:
Amazon Web Services (cont’d)
qAmazon cloud services you may use in your
project:
» Amazon S3 (Simple Storage Service) -> bucket- based file storage system
» Amazon EC2 (Elastic Compute Cloud) -> virtual computing environment on Amazon’s
infrastructure
» Amazon Elastic MapReduce -> Amazon’s
platform for MapReduce implementation using Hadoop
Detailed Views of Existing Cloud Solutions:
Amazon Web Services (cont’d)
qAmazon EC2: Create a virtual computing
environment by using AMI (Amazon Machine Image)
Detailed Views of Existing Cloud Solutions:
Amazon Web Services (cont’d)
qAmazon EC2: Each running AMI instance will have a public IPv4 address and be accessible via SSH
Detailed Views of Existing Cloud Solutions:
Amazon Web Services (cont’d)
qAmazon Elastic MapReduce: Admin panel
Detailed Views of Existing Cloud Solutions:
Amazon Web Services (cont’d)
qAmazon Elastic MapReduce: Job flow wizard
Detailed Views of Existing Cloud Solutions:
Amazon Web Services (cont’d)
qBe careful with your financial expense when
using AWS:
» E.g. :Amazon EC2 standard Linux small on- demand instance, data in 10TB/m, data out 10TB/m in November 2010
§ $0.085/h or approx. 100 won/h (base)
§ ~$0.1/GB or approx. 120 won/GB (data in)
§ ~$0.15/GB or approx. 175 won/GB (data out)
§ Monthly price: 30*24*$0.085 + 10*1024*$0.1 + 10*1024*$0.15 = $2621.2 ~ 3.040.350 won
– Plus the price of data storage in S3
Detailed Views of Existing Cloud Solutions:
Eucalyptus Community Cloud
qEucalyptus: open-source cloud management
software that implementes IaaS-style cloud
computing using the existing Linux-based
infrastructure
qFor first-timers:
» http://open.eucalyptus.com
Detailed Views of Existing Cloud Solutions:
Eucalyptus Community Cloud
qEucalyptus Community Cloud:
» A sandbox environment that can be used to testdrive and experiment with Eucalyptus
» Free of charge (currently)
» Register at:
http://open.eucalyptus.com/CommunityCloud
Detailed Views of Existing Cloud Solutions:
Eucalyptus Community Cloud
qFeatures of Eucalyptus Community Cloud:
(20100913)
Detailed Views of Existing Cloud Solutions:
Eucalyptus Community Cloud
qECC administrative GUI:
Detailed Views of Existing Cloud Solutions:
Eucalyptus Community Cloud
qECC sample command line tool:
Detailed Views of Existing Cloud Solutions:
Eucalyptus Community Cloud
qWhen you may consider using Eucalyptus
Community Cloud:
» You want to get more familiar with IaaS cloud
» Data processing in your project is bursty and not really big (the testbed is limited to 5GB of
storage, 4 running instances, and 6 hours of instance lifetime)
Detailed Views of Existing Cloud Solutions:
Github
qGithub: version control system with social
capabilities such as commenting and tagging
qIf you have ever heard of CVS and SVN,
then Github also serves similar purpose but
with different flavor
qHosting an open source public project on
Github is free
qFor first timers:
» http://github.com
Detailed Views of Existing Cloud Solutions:
Github
qSample project hosted on Github (Jquery):
Detailed Views of Existing Cloud Solutions:
Github
qWhen you may consider using github for
your projects:
» You want feedback from others about your code
» You want your code to get more exposure
» You are a fan of social application
» You don’t like SVN or CVS
WISE on Cloud
This section is not available in this public release
Special Notice
q All company logos are copyrighted to the corresponding companies
q The images in the header of title slide were taken from quickstart.com and incomingit.com
q The image on the right top of each content slide was taken from sevensheaven.nl
q The coin figure was taken from ancients.info