Petcu-PartII - contrail

advertisement
BRIEFING ABOUT MOSAIC
Dana Petcu
Institute e-Austria Timisoara, West University of
Timisoara
http://web.info.uvt.ro/~petcu
MOSAIC:
OPEN SOURCE API & PLATFORM FOR MULTIPLE CLOUDS
MARKETING MOTTO: “FLYING THROUGH THE CLOUDS”
7/25/2013
API
spec
API
spec
0101
1001
0101
1001
Cloud Summer School, Almere
1. a tool for developing portable Cloud-applications which can consume
hardware and software resources offered by multiple Cloud providers;
2. a brokerage system to support the decision of Cloud service provider
selection at the deployment stage.
3. an open-source PaaS that can be easily deployable by service providers
and which can be customized and enhanced by service providers;
Application
Portability!
2
MOSAIC AS R&D COLLABORATION EFFORT
www.mosaic-cloud.eu
Second University of Naples, Italy
2.
Institute e-Austria Timisoara, Romania
3.
European Space Agency, France
4.
Terradue SRL, Italy
5.
AITIA International Informatics, Hungary
6.
Tecnalia, Spain
7.
Xlab, Slovenia
8.
University of Ljubljana, Slovenia
9.
Brno University of Technology, Czech Republic
September 2011: 1st API implementat. (Java)
September 2012: 1st stable PaaS,
2nd API impl. (Python)
March 2013:
Full software package
Cloud Summer School, Almere
1.
7/25/2013
Consortium:
3
SCENARIO FOR MULTIPLE
CLOUDS
7/25/2013
Select 1 IaaS-Cloud at a time
Deploy
01011
Control appl & resources
01011
001
001
4
Cloud Summer School, Almere
Component based application
Communications via messages
Event-driven programming style
OVERVIEW PAPER
7/25/2013
Cloud Summer School, Almere
Experiences in Building a mOSAIC of Clouds
Petcu et al,
Journal of Cloud Computing:
Advances, Systems and Applications 2013, 2:12
doi:10.1186/2192-113X-2-12, May 24, 2013
http://www.journalofcloudcomputing.com/content/2/
1/12/abstract
Part of the FINAL REPORT!
5
Cloud-enabled applications
mOSAIC’s proof-of-the-concept applications
Intelligent maintenance
syst
Information extraction
Model exploration service
Analysis of structures
Earth Observation
applications
mOSAIC PaaS and IaaS
Workbench
Semantic engine
Python APIs
Frontends (cmdl, wui)
Erlang APIs
Eclipse plug-ins
Matchmacker&Mapp
er
Annotator of Clouds
Examples
Cloud Agency Client
Ontology
Templates
Portable Testbed
Clust
Semantic extractor
Platform’s core
components
Controller
Infrastructure support
Application service
components
Cloud Agency
Mediator
SLA framework
Component hub
Meter
Benchmark
Resource allocator
Naming service
Application support
components
Deployable COTS
Credential service
Drivers
mOS
DFS & HDFS support
Execution engine
Cloud Summer School, Almere
https://bitbucket.org/mosaic/
Semantic tools
Java APIs
Software platform support
7/25/2013
Application support
Application tools
API implementations
Archiver
Brokering system
Broker mechanisms
XCloud SLA lookup
Vendor modules
Cloud adaptors
Hosting services support
Deployable services support
Amazon
CloudSigma
CloudStack
Eucalyptus
Flexiscale
GoGrid
OpenStack
OpenNebula
NIIFI
OnApp
VMware
DeltaCloud
6
LAYERS OF MOSAIC’ SET OF APIS
(P) Connector
API
Interoperability API
Driver
API
API
Driver
API
API
Component reacting to
events
Operations with standard
type of resources
Proxies generator
Driver
API
Classical components
of applications
Cloud Summer School, Almere
(J) Connector API
7/25/2013
(P)(P)
Component
Component
(P) Cloudlet API
(J)Component
(J)Component
(J) Cloudlet API
API for same type of
resource
API
7
D.Petcu et al, Portable Cloud applications—From theory to practice, FGCS
2012
CLOUDLET AND CONNECTOR
Cloudlet:

Ensure language
independence
 protocol syntax and
semantic enforcements.
 RPC solution that abstracts
addressing
 stubs to Driver API and
proxies to Connector
Behavior: event-driven,
stateless
 Automated elasticity: no.
of Cloudlet instances
controlled by Container
 Programmable elasticity:
no. of containers
 Functionality do not
depend on no. instances


Connector:
Behavior: RPC
Interface defining the set
of events
to which the Cloudlet
should react
 Abstract the access to
Cloud resources



Driver API
 wraps the native API
 all resources of the same
type are exposed
with the same interface
 eg. HBase vs. Riak keyvalue store:
a matter of configuration.
Cloud Summer School, Almere

Interoperability API
7/25/2013

8
HOW TO USE IT?
Write component-based application



Debug application on the desktop or on-premise server(s)



Within Eclipse
Use Personal Testbed Cluster using VirtualBox for the VMs
Deploy application in a Cloud



Languages: Java, Python, [Erlang, Node.js]
Communications through message passing
Respect the event-driven style of programming
Cloud Summer School, Almere

7/25/2013

Assisted by Cloud Agency and Broker (with SLAs) OR
Use Resource Allocator
Control the application

Control the life-cycle of the components (start/stop/replace)
9
TUTORIAL & DOCUMENTATION
Cloud Summer School, Almere
Documentation:
http://developers.mosaic-cloud.eu
7/25/2013
Tutorial for the installations and first example:
http://wiki.volution.ro/Mosaic/Notes/Platform/Tutorial
10
APPLICATIONS VIDEOS

Note:
1. Information extraction on the open-source repository
2. Sensor data in the Intelligence Maintenance use case
3. Extra: Olaii (www.olaii.com ) RightScale + Amazon
Cloud Summer School, Almere

7/25/2013

Civil engineering (Matlab @ Cloud):
http://youtu.be/EztdyThs39w
Earth Observation (ESA&Terradue):
https://vimeo.com/64316032
Model exploration: http://youtu.be/fU8VONfg6Z0
11
EXAMPLE VIDEOS
Hello example (one Cloudlet):

Hello run and debug on PTC: http://youtu.be/pDrktFOMZWA
Hello run on AWS: http://youtu.be/GW1WjZhJXH8
Real time feeds example (multiple Components & Cloudlets):


Deploy manually component by component in AWS:
http://youtu.be/uYD8sxMStz8
Package send to S3 and start of the appl:
http://youtu.be/AK1LqAMjvfU
Cloud Summer School, Almere


7/25/2013

12
TOOLS VIDEOS

Use PTC:

Vendor selection:



Vendor offers: http://youtu.be/T54qh0cWroY
XCloud: http://youtu.be/r3kXeBHSVF8
SLA



negotiation: http://youtu.be/3X5Kih-Oi6E
SLAgw & security: http://youtu.be/ZKcWhl1WG14
Usage of Cloud Agency & OpenNebula:
http://youtu.be/6SBGYc7fCWA
Cloud Summer School, Almere

How to start the [desktop] platform:
http://youtu.be/TPHHXg1ggvU
How to start application on AWS:
http://youtu.be/oGf2wDce-sk
7/25/2013

13
BENCHMARKS
Shell scripts:

CPU

Network

Message queues

Data stores
Cloud Summer School, Almere

7/25/2013
http://developers.mosaiccloud.eu/confluence/display/MOSAIC/Benchmarks
14
Download