Introduction to Cloud Computing and the Aneka Platform Dr. Rajkumar Buyya Cloud Computing and Distributed Systems (CLOUDS) Lab Dept. of Computing and Information Systems The University of Melbourne, Australia
www.cloudbus.org www.manjrasoft.com
Major Sponsors/ers
The Next Revolution in IT The Big Switch in IT
Classical Computing
Buy & Own
Every 18 months?
2
Hardware, System Software, Applications often to meet peak needs.
Install, Configure, Test, , Evaluate Manage .. Finally, use it $$$$....$(High CapEx)
Cloud Computing
Subscribe Use
$ - pay for what you use, based on QoS
Outline
“Computer Utilities”
Cloud Computing and Related Paradigms
3
Trends, Definition, Cloud Benefits and Challenges
Market-Oriented Cloud Architecture
Vision and Promising IT Paradigms/Platforms
SLA-oriented Resource Allocation Global Cloud Exchange
Aneka: Cloud Application Platform Summary and Thoughts for Future
“Computer Utilities” Vision: Implications of the Internet
1969 – Leonard Kleinrock, ARPANET project
4
“As of now, computer networks are still in their infancy, but as they grow up and become sophisticated, we will probably see the spread of “Computer Utilities”, which, like present electric and telephone utilities, will service individual homes and offices across the country”. During the last 40 years, several advances have taken place in both “computing” and “communications” areas that are turning the vision of “Computer Utilities” in to a reality.
Computing Paradigms and Attributes: Realizing the ‘Computer Utilities’ Vision
Paradigms
5
} ?
Web Data Centres Utility Computing Service Computing Grid Computing P2P Computing Market-Oriented Computing Cloud Computing …
+
-Ubiquitous -Reliable -Scalable -Autonomic -Dynamic discovery - Composable -QoS -SLA -…
-Trillion $ business
Attributes/Capabilities
Outline
“Computer Utilities”
Cloud Computing and Related Paradigms
6
Trends, Definition, Cloud Benefits and Challenges
Market-Oriented Cloud Architecture
Vision and Promising IT Paradigms/Platforms
SLA-oriented Resource Allocation Global Cloud Exchange
Aneka: Cloud Application Platform Summary and Thoughts for Future
Very popular: too many are “In Search” of Cloud Computing
7
Open Data Center Alliance (ODCA) for Cloud Computing
8
Defining Clouds: There are many views for what is cloud computing?
Over 20 definitions:
9
http://cloudcomputing.sys-con.com/read/612375_p.htm Renting “remote storage” backup Renting “remote server” hosting Web server Renting “remote more servers” to manage large workload
Buyya’s Scientific definition of Cloud Computing
“Cloud is a market-oriented distributed computing system consisting of a collection of inter-connected and virtualised computers that are dynamically provisioned and presented as one or more unified computing resources based on service-level agreements (SLAs) established through negotiation between the service provider and consumers.”
SLA = {negotiated and agreed QoS parameters + rewards + penalties for violation of agreement....}
Subscription-Oriented Cloud Services: X{compute, apps, data, ..} as a Service (..aaS) Public Cloud
Cloud Manager
Clients
Private Cloud
Other Cloud Services
10
Govt. Cloud Services
Rentable Cloud Services
Infrastructure as a Service (IaaS)
Platform as a Service (PaaS)
U, Storage: Amazon.com, Nirvanix, GoGrid…. Google App Engine, Microsoft Azure, Manjrasoft Aneka..
Software as a Service (SaaS)
Platform as a Service (PaaS)
Software as a Service (SaaS)
SalesForce.Com
Infrastructure as a Service (IaaS)
.... 11
Cloud Deployment Models
Public/Internet Clouds
3rd party, multi-tenant Cloud infrastructure & services: * available on subscription basis
12
Private/Enterprise Clouds
Cloud model run within a company’s own Data Center / infrastructure for internal and/or partners use.
Hybrid/Inter Clouds
Mixed usage of private and public Clouds: Leasing public cloud services when private cloud capacity is insufficient
Cloud Applications •Scientific/Tech Applications •Business Applications •Consumer/Social Applications
Science and Technical Applications
Business Applications 13
Consumer/Social Applications
When will Cloud spending become 50% of IT spending or reach to a trillion $ business/year? 2000
600? 30%
120?
2016 14
1000?
15%
2020? Buyya’s Guestimate!
2020?
50%
Cloud Computing Challenges: Dealing with too many issues Prici
Virt
zat uali
ion
Res our
Q oS
el v Le nts e e vic em r Se gre A
Scalability ce M eter
y
st Tru
Programming Env. & Application Dev. Software Eng. Complexity
15
Reliability
Ene r
l & ry a g to Le ula g Re
Privacy
ing
Billing
Provision ing on Deman d ur i t S ec
ng
gy E f
Utility & Risk Management
Uhm, I am not quite clear…Yet another complex IT paradigm?
ficie nc y
Outline
“Computer Utilities”
Cloud Computing and Related Paradigms
16
Trends, Definition, Cloud Benefits and Challenges
Market-Oriented Cloud Architecture
Vision and Promising IT Paradigms/Platforms
SLA-oriented Resource Allocation Global Cloud Exchange
Aneka: Cloud Application Platform Summary and Thoughts for Future
Market-Oriented Cloud Architecture: QoS negotiation and SLA-based Resource Allocation
17
Cloud to expand (lease more resources) with increase in demand
18
Cloud to shrink (unlease resources) with decrease in demand
19
Outline
“Computer Utilities”
Cloud Computing and Related Paradigms
20
Trends, Definition, Cloud Benefits and Challenges
Market-Oriented Cloud Architecture
Vision and Promising IT Paradigms/Platforms
SLA-oriented Resource Allocation Global Cloud Exchange
Aneka: Cloud Application Platform Summary and Thoughts for Future
Aneka: The Cloud Application Platform (CAP) for Resource-Intensive Apps (Available as Manjrasoft Product)
Lightweight Container hosting multiple services. All programming models available from within the same container (unlike others) SDK containing APIs for multiple programming models and tools Runtime Environment for managing application execution management Suitable for
Portability for Customer Apps:
21
Development of Enterprise Cloud Applications Cloud enabling legacy applications
Enterprise ↔ Public Clouds .NET/Win ↔ Mono/Linux
Multiple Applications Thread
Task
...
MapReduce
1. SDK
Aneka
2. Runtime Multi-core
Cluster 2100
2100
2100
2100
2100
2100
2100
2100
Grid
Cloud
Multiple Infrastructures
Aneka: The Cloud Application Platform (CAP) for Resource-Intensive Apps (Available as Manjrasoft Product)
Lightweight Container hosting multiple services. All programming models available from within the same container (unlike others) SDK containing APIs for multiple programming models and tools Patent Runtime Environment for (PCT) managing application execution management Suitable for
Portability for Customer Apps:
22
Development of Enterprise Cloud Applications Cloud enabling legacy applications
Enterprise ↔ Public Clouds .NET/Win ↔ Mono/Linux
Aneka as a Cloud Application Platform
Applications & Services
Application Development
Bag of Tasks
Dist. Threads
MapReduce
…
Cloud Middleware
Platform
SLA & QoS
Management
Aneka Scheduling & Execution
Application Management
Monitoring
Dynamic Provisioning
Billing
Infrastructure Datacenters
23
Clusters
Desktop PCs
Public Clouds
Aneka: components public DumbTask: ITask { … public void Execute() { …… i=0; i
Aneka enterprise Cloud
Executor
work units
Executor
Client Agent
Executor
internet work units
Scheduler
internet
Aneka Worker Service
Aneka Manager Executor
Client Agent Programming / Deployment Model
Aneka Agent 24
Aneka - Dynamic deployment of Application Tasks on Clouds
Application
Aneka Workker/Executor Aneka Application
Aneka Manager Manager / Executor Aneka Threads
25
Aneka for InterCloud / Federation of Resource Pools
XenServer Pool
VMWare Pool
Executor
Executor
Scheduler
private enterprise network internet
Private Cloud
publicly available resources (physical and virtual)
Scheduler
Aneka + public EC2
Windows Azure
26
Aneka + VMWare private Cloud
Executors
Amazon EC2 Pool
Aneka + Xen Server private Cloud
Aneka + public Azure
Client Libraries
VPN (virtual resources)
Executors/Schedulers Public Cloud
Aneka Case Studies
(GoFront: A unit of China Southern Railway Group) Application: Locomotive design CAD rendering Aneka Maya Renderer
GoFront Private Aneka Cloud Use private Aneka Cloud LAN network (Running Maya Batch Mode on demand) Case 2: Aneka Enterprise Cloud
Time (in hrs)
Case 1: Single Server Raw Locomotive Design Files (Using AutoDesk Maya)
Using Maya Graphical Mode Directly
Single Server 4 cores server
28
Aneka Cloud
Aneka utilizes idle desktops (30) to decrease task time from days to hours
A scalable architecture for TitanStrike online Gaming Portal
Aneka-based GameController
TitanStrike Private Aneka Cloud
The local scheduler interacts with Aneka and distributes the load in the cloud.
Case 2: Aneka Enterprise Cloud = Scalability Gamers profiles Players statistics Team playing Multiple games
Distributed log parsing
LAN network (Running Game plugins on Demand) logs
logs
Titan Strike On Line Gaming Portal
Case 1: Single Server = Huge Overload
logs
Centralized log parsing
29
Single GameController
Single scheduler controlling the execution of all the matches.
logs
Game Servers
Indian Space Research Organization (ISRO) - ADRIN
Distribution
Aneka Cloud
Receiving station processing 30
Private Cloud Citrix Xen
Archiving
Public Cloud Amazon AWS
Health Care: SaaS Cloud for ECG Sensor Data Analysis
31
IEEE Scalable Computing Challenge
at CCGrid 2010 Conference
32
Global Recognition for Aneka: Frost, Telstra….
-> 2010 Frost & Sullivan "New Product Innovation" Award -> 2011 Telstra Innovation Challenge, “People’s Choice” Award
33
Outline
“Computer Utilities”
Cloud Computing and Related Paradigms
34
Trends, Definition, Cloud Benefits and Challenges
Market-Oriented Cloud Architecture
Vision and Promising IT Paradigms/Platforms
SLA-oriented Resource Allocation Global Cloud Exchange
Aneka: Cloud Application Platform Summary and Thoughts for Future
Summary
Several Computing Paradigms have promised to deliver “Computing Utilities” vision:
Aneka is rapidly emerging as a platform for:
35
Cloud Computing is the most recent kid in the block promising to turn vision into reality Many exciting business and consumer applications enabled. Building Clouds (especially “private”) and their apps. Accelerating Applications and Managing their execution. Already used in engineering, life science, gaming, and business intelligence applications.
References
Quick Overview:
Aneka:
Rajkumar Buyya and Karthik Sukumar, Platforms for Building and Deploying Applicati ons for Cloud Computing , CSI Communications, Vol.35, No. 1, Pages: 6-11, ISSN 0970-647X, Computer Society of India (CSI), Mumbai, India, May 2011. C. Vecchiola, X. Chu, and R. Buyya, Aneka: A Software Platform for .NET-based Cl oud Computing , High Speed and Large Scale Scientific Computing, 267-295pp, IOS Press, Amsterdam, Netherlands, 2009.
Software – :
http://www.manjrasoft.com/
Wiley Press, New York, USA, Feb 2011 36