AWS Community Day CPH - Three problems of Terraform
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