1
Open
‐
source
platform
‐
as
‐
a
‐
service
requirements
and
implementation
challenges
Dana
Petcu
West University of Timisoara
& Institute e‐Austria Timisoara
Romania
web.info.uvt.ro/~petcu
Overview
1.
The
problem:
vendor
‐
lock
‐
in
in
Clouds
2.
The
solution?
Interoperability
and
portability
3.
The
role
of
open
‐
source
platforms
4.
mOSAIC
case
study
5.
Research
challenges
6.
Further
steps
Vendor lock-in, due to proprietary
APIs
3
API
spec
API
spec
API
spec
API
spec
API
spec
API
spec
0101
1001
How
to
protect
my
application
from
lock
‐
in?
Market
Interoperability and portability: challenges
4
Federation
of Clouds
Scenarios
using
multiple
Clouds
01 01 1 01 01 1 01 01 1 01 01 1
Cloud
InterOp
DESIGN:
Abstract the programmatic
differences
RUNTIM
E:
Migration
support
POLICY:
Federate,
communicate
between providers
Multi
‐
dimensional
problem
01 01 1 01 01 1
Interoperability and portability:
approaches
5
Network
Image
&
data
Techs
&
infrastr
Management
Appl
&
service
Semantic
Business
E.g.
Strategies,
regulations,
mode
of
use
Function
calls
and
responses
Automation,
configuration
Standards
in
deployment
&
migration
Protocols
for
requests/responses
Pre
‐
deployment,
work
‐
loads
Allocation,
admission
Levels
Techs
Open
APIs
Open
protocols
Standards
Abstraction
layers
Semantic
repositories
Domain
specific
lang.
E.g.
Automated
translation
in
code
UCI
Mediators,
frame
‐
works
(SLA@SOI)
OVF/DMTF,
CDMI/SNIA
OCCI,
Deltacloud
jClouds,
libcloud,
OpenStack
Open
PaaS
– the
worst
case!
each
PaaS
provider
offers
a
special
flavor
in
its
design
not
all
the
features
that
are
expected
rarely
debug
facilities,
no
Security
‐
as
‐
a
‐
Service
often
not
for
private
clouds
portability
is
possible
only
between
a
small
no.PaaSs
in
case
of
open
‐
source
clones
of
the
proprietary
ones
the
problem
escalates
with
the
increase
of
no.PaaSs
increased
no.
in
last
two
years
Deployment
of
Cloud
techs
at
PaaS
level:
two
types
Platform
Service
|
Hosting
|
Integrated
solution
Well
knows
examples:
Google’s
AppEngine,
Microsoft’s
Azure,
RackSpace’s
CloudSites,
Amazon’s
Beanstalk,
Salesforce’s
Force.com,
Joyent’
SmartPlatform
Open
‐
source
only
to
develop
appls
to
allow
customization
Appl
support
– different
approaches:
Deploy
code
to
specific
VMs
(Azure,
Beanstalk)
Devolop
using
rules,
platform
deal
with
deployment
(AppEngine,
Heroku)
Create
metadata
to
be
interpreted
by
PaaS
at
run
‐
time
(Force.com,
OrangeScapes)
7
Platform
Software
|
Software
service
|
Deploy
‐
based
solution
Deployment
of
middleware
in
data
centers
Easy
way
to
deal
with
portability
and
interoperability
(framework
category)
Open‐source
have
the
potential
to
impact
the
market
as…
PVM/Parallel
Open
‐
source
Platform
Software
8
Product
AppScale
Cloud
Foundry
ConPaaS
mOSAIC
OpenShift
TyphoonAE
WaveMaker
Owner
Univ.
Ca
‐
lifornia
VMWare
Contrail
Consortia
mOSAIC
Consortia
RedHat
Tobias
Rodäbel
VMWare
Site
appscale.cs.
ucsb.edu
www.
cloud
foundry.com
www.
conpaas.
eu
www.
mosaic
‐
cloud.eu
open
shift.com
code.
google.
com/p/typho
onae
www.wave
maker.com
Repository
appscale.
googlecode.
com/svn/
github.
com/
cloud
foundry
www.
conpaas.
eu/
download/
bitbucket.
org/
mosaic
github.
com/
openshift
code.
google.
com/p/
typho
‐
onae/
downloads/
dev.wavema
ker.
com/wiki/
bin/
State
1.5/Jul
2011
0.x
,
Beta
0.1/Sep
2011
0.5/Jun’12,
Beta
Production
0.2/Dec
2010/beta
6.4.4/Dec
2011
Languages
Python,
Java,
Go
Java,
Ruby,Node.js
,
Groovy
PHP
Java,
Python
Java,
Python,
Perl,
PHP,
Ruby
Python
Java
Data
Support
HBase,
Hypertable,
Redis
MySQL
Cluster,
Cassandra,
Voldermort,
MongoDB,
Memcache
‐
DB
MongoDB,
SQLFire,
PotsgreSQL,
Redis
Scalaris,
MySQL,
XtreemFS
Riak,
Mem
‐
cacheDB,
Redis,
MySQL
MySQL,
MongoDB,
Amazon
RDS
MongoDB,
MySQL,
Berkeley
DB
JE
Amazon
S3,
Rackspace
OS
Ubuntu,
CentOS
on
Xen,
KVM
VMWare
image
image
XtreemOS
mOS
Linux
image,
Virtualization
Red
Hat
Debian,
Ubuntu
VMWare
image
Messaging
Channel
RabbitMQ
Own
design
RabbitMQ
Own
design
RabbitMQ,
ejabberd,
Channel
Own
design
Clouds
tested
Amazon
EC2,
Eucalyptus
VMWare
Own
testbed
Amazon
Eucalyptus,
EC2,
OpenNebula,
Flexiscale
RightScale
Rackspace,
Smart
‐
Cloud,
Amazon
EC2,
Rackspace,
OpSource,
Eucalyptus
Interface
CLI,
Web
CLI
Web
CLI,Web,RES
Open
‐
source
Platform
Software
9
Product
CloudFoundry
mOSAIC
OpenShift
Development
support
1
2
3
Dedicated
to
web
aps
or
general
Web
apps
General
Web
apps
Desktop
Cloud
Simulator
Yes
Yes
No
API
access
No
Yes
No
Support
standard
programming
libs
Yes
Yes
Yes
Impact
on
web
application
architecture
No
Yes
No
Complexity
of
porting
web
application
Medium
Low
Low
Standard
support
tools
Spring
Tools
No
JBoss,
Zend
Thread
access
Yes
No
Yes
MySQL
Yes
Yes
Yes
Allows
to
choose
stack
components
Yes
Yes
No
Allow
to
pull
data
out
Yes
Yes
Yes
Debugging
mode
Yes
Yes
Yes
Deployment
support
1
2
3
Lock
‐
in
when
building
own
Cloud
Yes
(VMWare)
No
Yes
(RHE)
Web
server
(e.g.
Tomcat)
Yes
Yes
Yes
Build
‐
in
‐
balancer
No
Yes
Yes
Auto
‐
scaling
app
server
No
Yes
Yes
Auto
‐
scaling
database
No
Yes
No
Performance
analytics
Yes
No
Yes
Support
multiple
Cloud
providers
Yes
Yes
Yes
Agreements
SLA
No
Yes
No
Deploy
with
a
special
tool
Yes
No
No
Support
Private
Cloud
Yes
Yes
No
Allows
to
add
third
party
components
Yes
Yes
Yes
Execution
support
1
2
3
Command
line
(CLI)
Yes
Yes
Yes
Web
console
No
Yes
Yes
Access
to
logs
via
web
No
Yes
Yes
Web
based
monitoring
No
Yes
Yes
mOSAIC’s
marketing
motto:
“Flying
through
the
Clouds”
API
spec
API
spec
API
spec
API
spec
API
spec
API
spec
Application
Portability!
0101
1001
0101
1001
mOSAIC
as
R&D
collaboration
effort
Consortium:
1.
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
Republ.
Consortium:
1.
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
Republ.
www.mosaic
‐
cloud.eu
www.mosaic‐cloud.eu
September
2011:
1
st
API
implement.
(Java)
September
2012:
1
st
stable
PaaS,
2
nd
API
impl.
(Python)
March
2013:
Full
software
package
September
2011:
1
st
API
implement.
(Java)
September
2012:
1
st
stable
PaaS,
2
nd
API
impl.
(Python)
March
2013:
Full
software
package
Layered architecture
12
Infrastructure support Infrastructure support Application support Application support mOSAIC PaaS and IaaS mOSAIC PaaS and IaaSSoftware platform support Software platform support API implementations API implementations Platform’s core components Platform’s core components Application tools Application tools Eclipse plug-ins Eclipse plug-ins Frontends (cmdl, web) Frontends (cmdl, web) Configuration tools Configuration tools Network backends Network backends
Scheduler & Scaler Scheduler & Scaler Operate & Maintain Operate & Maintain
Provisioner & Monitor Provisioner &
Monitor Packager & Deployer Packager & Deployer
Register & Discover Register & Discover
Application service components Application service components SLA SLA Network Network Java connectors Java connectors Python connectors Python connectors Java cloudlets Java cloudlets Semantic engine Semantic engine Service discoverer Service discoverer
Agents for Cloud Agency Agents for Cloud Agency
Broker Broker Vendor agents Vendor agents Cloud-enabled applications Cloud-enabled applications Cloud adaptors Cloud adaptors Python cloudlets Python cloudlets PortableTestbedClus ter PortableTestbedClus ter Demo applications Demo applications Benchmark Benchmark Application support components Application support components Deployable COTS Deployable COTS Interoperability support Interoperability support Drivers Drivers mOS mOS Cloud Agency Cloud Agency Mediator Mediator Meter Meter Tier agents Tier agents Archiver Archiver MTP MTP Ontologies Ontologies Hosting services support Hosting services support Deployable services support Deployable services support Other Cloud hosting, deployable services Other Cloud hosting, deployable services Eucalyptus Eucalyptus OpenNebula OpenNebula DeltaCloud DeltaCloud Amazon Amazon CloudBurst CloudBurst Flexiscale Flexiscale Rackspace Rackspace GoGrid GoGrid Arctur Arctur CloudSigma CloudSigma Hostko Hostko CHS CHS mOSAIC’s proof-of-the-concept applications mOSAIC’s proof-of-the-concept applications User community developed applications User community developed applications Earth Observatio n application s Earth Observatio n application s Intelligent maintenanc e system Intelligent maintenanc e system Model exploration service Model exploration service Informatio n extraction Informatio n extraction Analysis of structures Analysis of structures Reasoner Reasoner Maintainer Maintainer Semantic query builder Semantic query builder Pattern builder Pattern builder Search engine Search engine HDFS HDFS OpenStack OpenStack