Building an Enterprise Cloud with WSO2 Private PaaS
1. Enterprise
Cloud
with
WSO2
Private
PaaS
Pradeep
Fernando
Associate
Technical
Lead,
WSO2
Inc.
06th
Feb
2014
2. About
the
Presenter
๏
๏
WSO2
Carbon
๏
CommiFer
and
PPMC
at
Apache
Stratos(IncubaIng)
๏
2
Pradeep
Fernando
Experience
in
enterprise
integraIon
3. About
WSO2
๏
๏
Global
enterprise,
founded
in
2005
by
acknowledged
leaders
in
XML,
web
services
technologies,
standards
and
open
source
Provides
only
open
source
plaTorm-‐as-‐
a-‐service
for
private,
public
and
hybrid
cloud
deployments
๏
๏
3
All
WSO2
products
are
100%
open
source
and
released
under
the
Apache
License
Version
2.0.
Is
an
AcIve
Member
of
OASIS,
Cloud
Security
Alliance,
OSGi
Alliance,
AMQP
Working
Group,
OpenID
FoundaIon
and
W3C.
๏
Driven
by
InnovaIon
๏
Launched
first
open
source
API
Management
soluIon
in
2012
๏
Launched
App
Factory
in
2Q
2013
๏
Launched
Enterprise
Store
and
first
open
source
Mobile
soluIon
in
4Q
2013
5. Todays
Webinar…
๏
What/Why
is
PlaTorm
as
a
Service
(PaaS)
๏
Understanding
the
WSO2
private
PaaS
architecture
๏
Auto
scaling
and
deployment
policies
๏
Cloud
bursIng
๏
Towards
your
very
own
enterprise
cloud
6. Why
you
need
a
PaaS
๏
๏
Provision
allowed
applicaIon
types
within
minutes
๏
Let
the
PaaS
worry
about
auto
scaling
of
your
applicaIon
๏
6
OrganizaIon
wide
visibility
through
monitoring/
billing
and
metering
Build
your
own
service
plaTorm
on
top
the
PaaS.
7. At
the
Very
Heart
of
PaaS
๏
Create
a
VM
image
that
runs
on
a
specific
IaaS
๏
This
image
contains
the
applicaIon
you
want
to
run
–
e.g.:
Tomcat
๏
When
you
subscribes
the
PaaS
will
spawn
an
instance
from
that
image
๏
It
will
assign
a
load
balancer
and
gives
you re
an
IP
to
access
๏
When
the
load
increases
the
PaaS
will
spawn
another
instance
and
assign
it
to
the
same
load
balancer
8. What
is
WSO2
Private
PaaS
๏
๏
Provides
WSO2
Carbon
servers
as
cartridges
๏
Instance
level
mulI-‐tenancy
๏
Closely
integrates
with
the
Stratos
tenants
๏
Billing
and
metering
๏
8
Based
on
Apache
Stratos(IncubaIng)
Centralized
Log
processing
10. Extensible
via
Cartridges/Polyglot
๏
๏
WriIng
a
new
one
is
trivial
๏
Load
balancer
itself
can
be
a
cartridge
๏
10
We
ship
number
of
cartridge
types
Plug-‐in
your
own
load
balancer
11. Auto
Scaling
๏
๏
Write
scaling
rules
using
a
policy
language
๏
Or
use
the
default
ones
๏
11
Set
you
scaling
parameters
Watch
your
applicaIon
scales
12. Supports
number
IaaS
es/Polyhost
๏
WSO2
private
PaaS
support
number
of
IaaS
es.
๏
EC2,
OpenStack,
Vcloud
to
name
a
few
12
13. Cloud
BursIng
๏
Enterprises
do
capacity
planning
๏
AllocaIng
resources
generously
would
solve
the
issue,
but
not
the
most
wisest
of
soluIons.
๏
It
is
possible
to
extend
the
my
private
cloud
to
protected
public
cloud
infrastructure
(IaaS)
13
14. Make
the
Most
out
of
MulI-‐tenancy
๏
๏
Tenancy
at
the
container
level
–
LXCs
and
VM
instances
๏
Tenancy
at
the
applicaIon
level
–
mulI-‐tenant
cartridges
๏
14
PaaS
level
tenancy
One
tenant
model
across
the
plaTorm
15. Orchestrate
using
puppet
๏
A
base
VM
image
gets
provisioned
by
puppet
๏
All
the
default
shipped
Cartridges
are
provisioned
using
puppet
๏
Push
updates
and
applicaIon
patches
15
16. The
REST
API
๏
๏
Use
Curl
to
perform
operaIons
๏
Use
the
CLI
tool
๏
16
REST
API
Use
the
web-‐based
management
console
20. Architecture
101
๏
๏
Common
bus
–
Any
JMS
compaIble
message
broker.
WSO2
MB
is
preferred
๏
Plug
in
your
own
load
balancer
–
Stratos
LB
and
HA
Proxy
supported
at
the
moment.
๏
20
JCloud
abstracIon
for
IaaS
es.
Cartridges
are
VM
images
that
runs
on
an
IaaS.
22. Cartridges
๏
Bring
your
applicaIon
to
cloud
๏
Can
be
a
applicaIon
cartridge/
framework
cartridge
such
as
tomcat
๏
Cartridge
is
dependent
on
the
underlying
IaaS
๏
Actual
unit
of
execuIon
VM Cartridge
Application/Framework
LXC Cartridge
Application/
Framework
Stratos
Agent
Stratos
Agent
Guest OS
Host OS
22
23. Auto
scaling
๏
๏
Policy
language
to
define
scaling
rules
๏
Bring
in
your
own
scaling
factor
to
the
framework
–
no
code
changes
required
๏
23
Make
use
of
real
Ime
events
Deployment
policies
–
where
to
spawn
my
instance
24. Auto
Scaling
๏
๏
All
the
enIIes
publish
their
runIme
events
to
CEP
๏
CEP
aggregates
them
and
coarse
grained
events
get
pushed
in
to
auto
scalar
๏
24
WSO2
CEP
as
the
event
aggregator
Auto
scaling
rules
act
upon
them.
25. Cloud
BursIng
๏
๏
Spawn
new
instances
in
public
IaaS
only
if
run
out
of
on
premise
resources
๏
25
Way
of
defining
deployment
policies
Good
for
seasonal
load
handling
26. How
You
can
Extend
the
WSO2
PaaS
๏
๏
Deploy
over
your
preferred
IaaS
๏
Write
agents
that
publish
your
very
own
scaling
parameters
๏
26
Bring
in
your
own
cartridge
types
Write
scaling
rules
and
CEP
rules
27. Mix
and
Match
๏
๏
Bring
in
your
own
event
processor
๏
Plug
your
own
load
balancer
๏
27
Use
your
preferred
message
broker
Integrate
to
your
own
dashboards
28. Cartridges
–
4
Types
๏
ApplicaIon
:
WordPress
,
Drupal
๏
Framework
–
PHP,
Tomcat,
JBoss
AS,
Node
๏
Data
-‐
MySQL
๏
Load
balancer
–
HA
proxy,
WSO2
ELB
Come
up
with
your
own
cartridge,
its
not
difficult…
28
29. We
are
working
on…
๏
๏
First
Class
LXC
support
๏
SimulaIon
environment
based
on
LXC
s.
๏
More
control
over
IaaS
assigned
IPs
๏
More
control
over
instance
spin
up
locaIon
–
depends
on
the
underlying
IaaS
๏
29
Composite
applicaIons
–
dependency
among
cartridges
MulIple
network
interfaces
for
cartridge
instances