deploying wso2 middleware on mesos

20
Deploying WSO2 Middleware on Mesos Imesh Gunaratne Senior Technical Lead, WSO2

Upload: imesh-gunaratne

Post on 16-Apr-2017

809 views

Category:

Technology


7 download

TRANSCRIPT

Page 1: Deploying WSO2 Middleware on Mesos

Deploying WSO2 Middleware on Mesos

Imesh GunaratneSenior Technical Lead, WSO2

Page 2: Deploying WSO2 Middleware on Mesos

Agenda● PaaS Solutions for WSO2 Middleware● Deploying WSO2 Middleware on Apache Mesos

○ Mesos Architecture○ Mesos Features Used○ WSO2 Docker Images○ WSO2 Carbon Reference Architectures for Mesos○ Deployment Workflow○ WSO2 Mesos Artifacts

Page 3: Deploying WSO2 Middleware on Mesos

PaaS Solutions forMiddleware

Page 4: Deploying WSO2 Middleware on Mesos

PaaS Solutions for WSO2 Middleware

Page 5: Deploying WSO2 Middleware on Mesos

Core PaaS Features Needed for a Production Deployment

● Auto healing● Autoscaling● Automatic cluster discovery● Dynamic load balancing● VM/Container support● Multi-tenancy● Configuration orchestration● Artifact distribution● Multi-region/cloud deployments

● Centralized logging● Monitoring● Metering

Page 6: Deploying WSO2 Middleware on Mesos

Deploying WSO2 Middleware on Apache Mesos

Page 7: Deploying WSO2 Middleware on Mesos

An Introduction to Apache Mesos

● An open-source cluster manager that was developed at the University of California, Berkeley

● It "provides efficient resource isolation and sharing across distributed applications, or frameworks

● Twitter, Airbnb, Apple and over 50 organizations use Mesos.

https://en.wikipedia.org/wiki/Apache_Mesos

Page 8: Deploying WSO2 Middleware on Mesos

Apache Mesos Features

● Scalability to 10,000s of nodes● Fault-tolerant replicated master and slaves using ZooKeeper● Support for Docker containers● Native isolation between tasks with Linux Containers● Multi-resource scheduling (memory, CPU, disk, and ports)● Java, Python and C++ APIs for developing new parallel

applications● Web UI for viewing cluster state

http://mesos.apache.org/

Page 9: Deploying WSO2 Middleware on Mesos

https://www.digitalocean.com/community/tutorials/an-introduction-to-mesosphere

Apache Mesos Architecture

Page 10: Deploying WSO2 Middleware on Mesos

Apache Mesos Resource Scheduling

http://mesos.apache.org/documentation/latest/architecture/

Page 11: Deploying WSO2 Middleware on Mesos

An Introduction to Mesosphere

https://mesosphere.com/

● Mesosphere = Apache Mesos + Marathon + Chronos + DOCS Services

Page 12: Deploying WSO2 Middleware on Mesos

Mesosphere High Level Architecture

Marathon

Mesos

Task 1

Task 2

Slave 1

Task 3

Task n

Slave 2 Slave m

Application 1 Application 2 Application n

Page 13: Deploying WSO2 Middleware on Mesos

Mesos Features used by WSO2 Middleware

● Docker● Marathon applications● Marathon load balancer● Manual scaling● Autoscaling

https://github.com/mesosphere/marathon-autoscale

Page 14: Deploying WSO2 Middleware on Mesos

WSO2 Docker Images

https://github.com/wso2/dockerfiles

Page 15: Deploying WSO2 Middleware on Mesos

WSO2 Carbon Reference Architecture for Mesos - 1

C1 C2 C3 C4 C5

Marathon Load Balancer

Manager Marathon Application

Worker Marathon Application

Client

Gov Reg

Conf Reg

User Store

Containers created by Mesos tasks

Page 16: Deploying WSO2 Middleware on Mesos

WSO2 Carbon Reference Architecture for Mesos - 2

C1 C2 C3

Client

C4 C5

Marathon Load Balancer

C6 C7Gateway Mgr MA

Gateway Worker MA

Key Manager MA

Store MA

Gov Reg

Conf Reg

User Store

API-M DB

A volume mount for synchronizing API artifacts

C8 C9

Publisher MA

Page 17: Deploying WSO2 Middleware on Mesos

Carbon Cluster Discovery on Mesos

C1 C2 Cn

Service

Server 1 Server 2 Server n

C1

Service

Server 1

C1 C2

Service

Server 1 Server 2

Hazelcast member initialization

Hazelcast member initialization

Hazelcast member initialization

1 2 n

Page 18: Deploying WSO2 Middleware on Mesos

Deployment Workflow

3

1 2Build Docker

ImageImport Docker Image

to Docker Registry

Application Artifacts

Mesos Membership

Scheme

Product Distribution

Docker Image (DI)

Puppet Module + Hiera FilesJDK Deploy Mesos

Artifacts Mesos Artifacts

Page 19: Deploying WSO2 Middleware on Mesos

WSO2 Mesos Artifacts

https://github.com/wso2-incubator/mesos-artifacts

● WSO2 Mesos Artifacts Git Repository○ Mesos Membership Scheme○ Marathon Applications

Page 20: Deploying WSO2 Middleware on Mesos

Thank you!