Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop March 2012
1. Eclipse Gyrex
OSGi based PaaS-like programming stack
PHP InternetOfThings Native iPad App
WebApp Device App Mobile Apps
LoadBalancer
REST REST REST REST REST REST REST REST
API API API API API API API API
Gyrex Gyrex Gyrex Gyrex Gyrex Gyrex Gyrex Gyrex
Node Node Node Node Node Node Node Node
ZK ZK ZK • coordinates the cluster
Node Node Node • Holds the complete application- and cluster
configuration
ZK Cluster
data repositories
2. GYREX
lightweight application stack for building server applications using EclipseRT technologies.
o built-in clustering
o built-in web-based administration UI
o built-in multi tenancy
o enhancements for professional maintenance - centralized logging
- cluster provisioning UI
3. Stack
o Equinox
o Jetty
o p2
o ZooKeeper
o Solr
o Logback,
o Cassandra
o Memcached
5. GYREX Infrastructure Setup
For a High Traffic Application
with different frontends
PHP InternetOfThings Native iPad App
WebApp Device App Mobile Apps
LoadBalancer
REST REST REST REST REST REST REST REST
API API API API API API API API
Gyrex Gyrex Gyrex Gyrex Gyrex Gyrex Gyrex Gyrex
Node Node Node Node Node Node Node Node
p2 ZK ZK ZK • coordinates the cluster
repo Node Node Node • Holds the complete application- and
cluster configuration
data repositories ZK Cluster
6. GYREX Features
o light weight application stack PHP InternetOfThings Native iPad App
WebApp Device App Mobile Apps
o fast 100% OSGi runtime
LoadBalancer
REST REST REST REST REST REST REST REST
o central cluster configuration API
Gyrex
API
Gyrex
API
Gyrex
API
Gyrex
API
Gyrex
API
Gyrex Gyrex
API
Gyrex
API
Node Node Node Node Node Node Node Node
through zookeeper
ZK ZK ZK • coordinates the cluster
Node Node Node • Holds the complete application- and
o cluster aware job scheduling
cluster configuration
ZK Cluster
data repositories
o multi tenant application support
o automated deployment through p2
o support for cluster node roles, e.g. „job worker node“ and „api node“
7. ZooKeeper
o group/membership
o tag nodes (“webserver”, “worker”)
o associate bundle states and/or applications with tags
o configuration (using OSGi Preferences)
o distributed coordination
o automatic failover of singleton services
o node UP/DOWN events (EventAdmin)
8.
9. HTTP & OSGi
Requirements:
o Grouping (“application”)
o Multi-tenancy
o Run multiple instances of an “application” on
different URLs
11. HTTP & OSGi
osgi> http <cmd> [args]
ls … lists registered applications or providers
defineApp … defines an application
removeApp … removes an application definition
setAppProperty … sets/removes an application property
mount … mounts an application at the specified URL
unmount … unmounts the specified URL
start … starts an application
stop … stops an application