JAX London-Beyond-MultiTenancy copy.key

JAX London-Beyond-MultiTenancy copy.key

Damien METZLER | Nuxeo Beyond Multi-Tenancy: Introducing a New Container-Based Application Factory Nuxeo Platform • • Repository Services • • Wo...

6MB Sizes 0 Downloads 15 Views

Damien METZLER | Nuxeo

Beyond Multi-Tenancy: Introducing a New Container-Based Application Factory

Nuxeo Platform • •

Repository Services

• •

Workflow Conversion

VM / JVM

VM / JVM

VM / JVM

VM / JVM

VM / JVM

VM / JVM

Learn to... Docker !

BUILD Configuration

Ship

DATA

docker run --name cust8 -p 8080 nuxeo/cust8

dockerhost3:45393 dockerhost3:41393

dockerhost2:45693 dockerhost1:41383

dockerhost2:45209

dockerhost1:45693 dockerhost2:45170

dockerhost3:44393 dockerhost1:52393

cust6.nuxeo.io

cust9.nuxeo.io

cust8.nuxeo.io

cust7.nuxeo.io

cust4.nuxeo.io

cust2.nuxeo.io

cust5.nuxeo.io

cust1.nuxeo.io

cust3.nuxeo.io

Load Balancer (ELB)

io container CoreOSGogeta NXIO-0001

172.31.51.1



etcd







Cluster

systemd



io container CoreOS Gogeta NXIO-0098

172.31.51.20



etcd

systemd

Fleet etcd

/services/NXIO-0098/location:{host:172.31.51.20,port:49153}                 /status/current:started                       /expected:started /alive:1 /domains/mydomain.nuxeo.io/type:iocontainer                           /value:NXIO-0098

Load Balancer (ELB)

io container CoreOSGogeta NXIO-0001

172.31.51.1



etcd







Cluster

systemd



io container CoreOS Gogeta NXIO-0098

172.31.51.20



etcd

systemd

Fleet etcd

/services/NXIO-0001/location:{host:172.31.51.20,port:49153}                 /status/current:started                       /expected:started /alive:1 /domains/mydomain.nuxeo.io/type:iocontainer                           /value:NXIO-0001

Some Good results

All good ?

Almost

Almost

• Still lots of shell scripts • Shared storage doesn't scale well • Setup complexity • Only one deployment model

Arken v2

Remove as much code as we can !

CAAS ? • Avoid building a CaaS infrastructure • Focus on Application Customization & Templating

• Keep some flexibility on Cluster Orchestration

Nice Rest API

Nice GUI + Admin

Akren with Rancher

Direct gains

• • •

Decouple everything Infrastructure templating Dedicated physical infrastructure

• • •

Dynamic proxy

• •

State management

Passivation Management Passivation aware Routing

API & Adapter

Independent Go Based source

http://github.com/arkenio/arken

Multitenant ? Application level multi-tenancy data isolation only

Container level multi-tenancy nuxeo.io v1 processing isolation - shared data sources

Stack multi-tenancy nuxeo.io v2 Data / Process / Infrastructure isolation

Multitenant ? Data isolation

Multitenant ?

Process isolation

Software Defined configuration

A complete Multitenant Software Factory

Whats Next ? • Versatile resource provisioning (S3, MongoDB Atlas)

• End to end security • Shared services stack (converters)

ANY QUESTIONS ? Thank You ! Connect with @damienmetzler

We are hiring ! New York, Paris, Lisboa

http://www.nuxeo.com/careers/