Cloud&Compu)ng&and&Virtualisaon - University of...
Transcript of Cloud&Compu)ng&and&Virtualisaon - University of...
Cloud Compu)ng and Virtualisa)on
John Brooke ITS and IMG group in CS
February 26th 2013
Thanks to Ralf Ratering for material on slides 9-‐18
Structure and aims
• The lecture seeks to place the phenomenon of Cloud Compu)ng in its context.
• Cloud Compu)ng is a par)cular form of Distributed Compu)ng which is crucially dependent on the concept of Virtualisa)on.
• We first discuss previous forms of virtualised distributed compu)ng, in par)cular the Grid Programming Environment from Intel.
• Then we consider what dis)nguishes Cloud Compu)ng and why it arouses so much current interest.
CS6022 3
What is Computational Power?
• Power in physics is defined as energy/time.
• In computing we consider data-processing/time.
• The processing needs of an organisation may vary, with spikes in consumption.
• This leads to the concept of elastic computing, extra resource available as needed.
• Ultimately this is scheduling problem, with a sufficiently large pool of resources, the illusion of elasticity can be provided.
The power of scale
• Organisa)ons such as Amazon, Google, MicrosoW own a scale of resources that can be used to support elas)c compu)ng.
• However we must introduce uniformity in the compu)ng interfaces, we cannot go looking for libraries, storage spaces, etc.. as we move the compu)ng around the datacenter.
• It is necessary to run virtualised images or services which package all the necessary soWware dependencies.
CS6022 5
Costing computational resource
Cost vector
Job vector Cost
User Job
Scalar cost
in tokens
1
2
CS6022 6
Computational Resource
• Computational jobs ask questions about the internal structure of the provider of computational power in a manner that an electrically powered device does not.
• For example, do we require specific compilers, libraries, disk resource, visualization servers?
• What if it goes wrong, do we get support? If we transfer data and methods of analysis over the Internet is it secure?
CS6022 7
RR space
RP space
RP space
RP space RR space
request
request
Request referral
sync
Figure 1: Request from RR space at A mapped into resource providers at B and C, with C forwarding a request formulated in RR space to RP space at D. B and C synchronize at end of workflow before results returned to the initiator A.
A B
C D
RR and RP Spaces
CS6022 8
WSRF-‐ enabled Servers
WSRF-‐ enabled Storage
WSRF-‐ enabled Network
Web Service Resource Framework (WSRF)
Open Grid Services Architecture (OGSA)
Grid Programming Library GPE
High-level Grid API
Operations n Job management n File transfers n Brokering n Steering, etc.
Descriptions n Resources (CIM) n Jobs (JSDL) n Workflows (BPEL)
Grid SDK Grid Beans Client Framework
Applica)ons
Grid Compu)ng
CS6022 9
• JSDL (Job Submission Description Language) – High level job description that can be submitted to all target systems offering a JSDL interface
• CIM (Common Information Model) – Used to describe resources – Usage of CIM management interfaces for Grid administration
• BPEL (Business Process Execution Language) – Integration of Grid Bean services into larger business process workflows
• WS* (WS-Addressing, WSRF, WSN, etc.) – Interoperation with other Grid Middleware
• OGSA (Open Grid Services Architecture) – Share components with other architectures
Standards
CS6022 10
Grid Services GPE Client Framework
Expert Client
Application Portal
Web Client
Portlets
Application Client
GridBean
GridBean Service
Grid SDK
Plugins Plugins GridBeans
Registry
Workflow Engine
WSR
F Se
rvic
es
UN
ICO
RE,
Glo
bus,
OG
SA-D
AI,
etc.
Load GridBeans
Submit workflows
Query target system info
Invoke
Plugins Plugins GridBeans
Deploy
GridBe
ans
Register
Invoke
GPE Concept
CS6022 11
Atomic Services
GTK4 UNICORE
GPE Client Framework
Atomic Service Interfaces
GTK4 Implementa)on
UNICORE/GS Implementa)on
Common set of WSRF service interfaces
– Atomic service interfaces define basic set of operations and properties that have to be available on a Grid
– Different impementations of interfaces for different infrastructures
Java TSI
GPE Implementa)on
CS6022 12
Web Server
Client
Target System
File Export Service (FES)
File Import Service
(FIS)
File Management
Service (FMS)
Job Management
Service (JMS)
Target System Service (TSS)
Target System Interface
Invoke
GPE Atomic Services
Invoke
Manage target system
Manage jobs on target system
Manage files on storage
Manage imports to storage
Manage exports from storage
GPE Java TSI
CS6022 13
Job3
Operations Service Resource Type Properties
Target System Service (TSS)
Target System
Memory=1Gb Running Jobs=23 etc.
Extends WS-‐RP/LT Job-EPR submit(JSDL, InitialTT)
Job Management Service (JMS)
Job2
Status=Running OriginalJSDL=<JSDL..> ExecutionJSDL=<JSDL..> etc.
Extends WS-‐RP/LT start() abort() hold() resume()
File Management Service (FMS)
Storage1
Storage2
AvailableFileSpace=127kb SupportedProtocols= {GridFTP, UPL, scp} etc.
Extends WS-‐RP/LT listDirectory(path) createDirectory(path) changePermissions(path, perm) copy(path, path) rename(path, path) delete(path) import(path, protocol, isPipe) export(path, protocol, isPipe)
File Import Service (FIS)
File Import 1
File Import 2
Sourcefile=c:/tmp/test.txt DestFile=/tmp/test.txt Transferred=300kb etc.
Extends WS-‐RP/LT putChunk(offset, size)
File Export Service (FES)
File Export 1
File Export 2
Sourcefile=/tmp/output.txt DestFile=c:/tmp/output.txt Transferred=12kb etc.
Extends WS-‐RP/LT getChunk(offset, size)
GPE Atomic Service Interfaces
Job1
create
create
TS-Property
CS6022 14
Site A
Discovering services: the role of a registry
– Registry collects resource properties from target systems
– Target systems notify Registry about property changes
• WS-Notification – Registry may be
installed • per site • across different
organizations
Client
Target System Service (TSS)
Broker
Registry
Target System Service (TSS)
Site B
Registry
Registry
Register/Update
Query
CS6022 15
GPE Registry
– Registry may be installed on one site/system with the actual TSS, but also can be used across different organizations
– TSS contacts Registry on startup to register and update the information using notifications
Registry
TSS
TSS
TSS DataBase
TSS Static Properties
TSS installed Applications and application interfaces
TSS Dynamic Properties IDB
IDB: Static Properties
IDB: Incarnations
Register/ Update
Query
CS6022 16
Web Server
GPE Workflows
Web Server
File Export Service
File Import Service
File Management
Service
Job Management
Service
Target System Service
Workflow Instance
Target System Service
Plain Web
Service
orchestrate
Client
Workflow Engine
EPR submit(BPEL)
create
getStatus()
– Use BPEL to orchestrate WSRF services in complex workflows – Allows integration into larger business processes
CS6022 17
Virtualization in Grid Computing
Virtual Target System
Virtual Target System
Physical Hardware Resources
VMM (Virtual Machine Manager)
Virtual Machines are dynamically created and configured according to user request
• Protection of sensitive user data • Other partitions on the same machine will remain unaffected if one partition crashes • Virtual machines may even migrate during run-time
– for instance when the hosting hardware is needed from a different user with high priority, when the system needs to shut down, etc.
CS6022 18
C L I E N T
OS Image Repository
Real Machine
Management Interface
1. send resource request
7. reference to deployed VM
query, delete OS images
8. query, submit, store, shutdown, pause, migrate, ...
4. create VM with OS image
2. request matching OS image
5. request missing software for OS image
request missing software from job request
6. Install software
3. deploy OS image
Virtual Target System Factory
Application Deployment
Service
Virtual Target System Service
manage VM
store OS image
Virtual Machine
9. submit job
OS
TSI
Virtual Machine
OS
TSI
TSI = Target System Interface
Virtualization Architecture in GPE
CS6022 19
Characteristics of Cloud Computing
As defined by the US NIST • On-demand self service. • Broad network access. • Resource Pooling. • Rapid elasticity. • Measured service.
CS6022 20
Service oriented computing
NIST defines the following service models • Software as a Service (SaaS) – example
Office 365 • Platform as a Service (PaaS) – example
Google Apps. • Infrastructure as a Service (IaaS) –
example Amazon Web Services.
CS6022 21
Private and public clouds
Clouds can be classified by accessibility • Private Cloud, entirely owned by one
organisation – very like a private Grid • Community Cloud – pooled between
organisations, again like a Grid. • Public cloud widely available over the
Internet, payment models. • Hybrid cloud, private but allows
“Cloudbursting”
A model for portal access to Clouds
Virtual Node
Virtual Node
Virtual Node
Virtual Node
Virtual Node
Virtual Node
Virtual Node
Virtual Node
AutoPilot Gateway
AutoPilot Gateway
Accoun)ng Database
Cloud Client Library
Virtual Disks
Plaeorm Image
Plaeorm Image
Cloud
Portal
control, mount, exec
describe
1: request VMs by pagern
Service Interface
2: access VMs
Auto Pilot Engine
Plaeorm Descriptors
Taverna in the cloud
• Taverna is a widely used system for running workflows that process scien)fic data mainly from the life sciences.
• Taverna currently runs mainly on desktop machines, however they do not have the power to process the quan))es of data coming from modern genomics sequencing (called Next Genera)on Sequencing)
• A possible solu)on is to run Taverna in the Cloud via a server side component, Taverna Server
Server Host
Standard View of Taverna Server
Portal
Taverna Server Front End
TavServ Back End
TavServ Back End
TavServ Back End
Service
Service
Service
Server Host
Cloud Back-‐End Services
Portal
Taverna Server Front End
TavServ Back End
TavServ Back End
TavServ Back End
Service
Service
Service
Simple Taverna Cloud
Portal
Taverna Server Front End
TavServ Back End
TavServ Back End
TavServ Back End
Service
Service
Service
Cloud VM Instance
Discre)zed Taverna Cloud
Portal
Taverna Server Front End
TavServ Back End
TavServ Back End
TavServ Back End
Service
Service
Service
Cloud VMs
Cloud Controller/Messaging e.g. Amazon
Cloud Compu)ng and Mobile Compu)ng
• Cloud compu)ng and mobile compu)ng can be very complementary, Cloud is the server side and mobile is the the agile interface.
• Cloud allows data and applica)ons to be accessed from mul)ple devices and loca)ons without )me consuming and error prone data copying e.g Apple’s IoS links to the Apple Cloud.
• Cloud provides extra power to mobile devices, e.g. Siri.
29
Case study: supporting water engineers
Cloud Computing Infrastructure
Computa(onal Model
Real-World System Predic(ons of Future
Events/Condi(ons
Real-time Sensor Observations
On-demand Resource Allocation & Usage
Simulations Results
Wireless Sensor Network
• Sensor-‐Grid Compu)ng = WSN + Cloud Compu)ng
• Allows construc)ng real-‐)me models
• Applica)ons includes the monitoring and control of natural hazards, built environment and target/human surveillance
30
Cloud Computing Infrastructure
Wireless Sensor Network
Computa(onal Model
Real-World System
Real-time Sensor Observations
On-demand Resource Allocation & Usage
Predictions of Future Events and Conditions
Proactive and Reactive Operational Decisions
A Distributed System of
Human Workforce
Current State
Integration of a distributed workforce with mobile devices
31
Managing physical infrastructure • Focus of research work is on existing distributed Infrastructures:
§ cover longer distances
§ comprise of hundreds of thousands of elements
§ having complex topologies e.g. all-main models
§ operate for long period up to a century
• Examples of Distributed Infrastructure:
§ Water Distribution System
§ Electricity Grids
§ Oil and Gas Network
• UK water distribution and sewer pipes
§ Water pipes - 397,401 km (Earth - Moon: 384,403 km)
§ Sewer pipes - 354,066 km
Network of about 4000 nodes
34
Design of the functionality of the system
We build on current Grid
middleware for computation
(heavyweight Grid/Cloud) and link it
to mobile and roaming devices with a role-based
lightweight architecture based
on messaging protocols. In this
way we include the engineering
process.
35 Wireless Sensor Network
Data Acquisi(on & Processing Agent
SPRING Framework
Real-‐)me raw data
Data warehouse
Filtered/Processed Data
Extended Simula(on Toolkit
Conven(onal Computa(onal
Model
Grid/Cloud Compu(ng Resources
Asynchronous Messaging Queues
Concurrency Control
Mechanism
REST based API
Sensors Update
Scheduling of Future Decisions
Alerts
Queries/Results
Dynamic and
Predic(ve DST
Dynamic and
Predic(ve DST
Alerts
Queries, Planned Future Ac)ons, Alert Subscrip)ons
Results/Alerts
GIS Data
Web based Clients
36
Interac)on of DST with RESTfull Service Client- RESTful Service Simulation Service
XML-GIS_Data
GET-GIS_DATA()
createExperiment()
PlanWhatIfDecisions()POST-runExperiment()
XML-Simulation_Result
Data Warehouse
GetGISData()
runSimulation()
extractWhat-IfDecisions()
runSimulation()
GetCurrentStatus()
addSimTS()simulationResult()
PlanFutureDecisions()POST-Register_Decision()
GetScheduledDecisions()
AcquireResourceLock()If SimTS(Si)>WTS(Ri) then write PFAix
if SimTS(Si)>WTS(Ri) then SUCCESS else ERROR
Reasons for current success of Cloud Model
• Easy to understand business model. Payment by credit card or by subscrip)on.
• Organisa)ons with data centres that are on a scale where “elas)c compu)ng” and economies of scale become possible.
• A user is now represented by mul)ple devices, several of them mobile. A central virtual repository is needed to keep the user’s data consistent. Dropbox is the classic example of this.
Poten)al problems for Cloud Model
• Compared to Grid Compu)ng standards in the Cloud world are very undeveloped. Strong risk of vendor lock-‐in.
• With Cloud not only your soWware but also your data and even your iden)ty become locked to vendors. Controversies over Facebook show the the very high stakes here.
• For very high performance applica)ons, virtualisa)on is a performance hit.
• Network access is expensive and slow rela)ve to all other features of Cloud Compu)ng.
More informa)on
• Amazon AWS documenta)on gives a good descrip)on of how IaaS works.
• www.gridcafe.org a good source for Grid compu)ng informa)on.
• hgp://en.wikipedia.org/wiki/Cloud_compu)ng .
• There are lots of books, I have used Cloud Compu)ng Bible by Barry Sosinsky for general informa)on and Programming Amazon EC2 by van Vliet and Paganelli, O’Reilly books for hands-‐on.