WSO2Con EU 2016: WSO2 Cloud and Platform as a Service Strategy
- 1. WSO2 Cloud & Platform as a
Service Strategy
Imesh Gunaratne
Software Architect, WSO2
- 2. Agenda
• WSO2 Cloud
• WSO2 Managed Cloud
• WSO2 Platform as a Service Solutions
– Kubernetes
– OpenShift
– Mesos DC/OS
– Cloud Foundry
- 4. WSO2 Cloud
API Cloud
Device Cloud
App Cloud
Identity CloudAnalytics Cloud
Integration Cloud
Cloud image source: Freepik
The WSO2 public cloud offering for hosting applications, managing APIs,
integrations, analytics, identity and devices.
- 19. WSO2 Managed Cloud
On Premise Data
Center
US East | US West | EU | Asia Pacific | South America
Hosted and managed
by WSO2
Datacenter icon source: Martial Red
- 22. Problems Solved
• Configuration management
• Virtual machine/container image creation
• Deployment automation
• Carbon cluster discovery
• Internal/external load balancing
• Rolling out updates
- 24. An Introduction to Kubernetes
Borg
Google’s first container
cluster manager
Omega
Google’s second container
cluster manager
Kubernetes
Google’s initiative to build
a general purpose
container cluster manager
- 26. Reference Architecture 1 for Kubernetes
Pod 1 Pod 2
Manager Cluster
Services
Pod 3 Pod 4 Pod n
Worker Cluster
Services
Manager
Replication
Controller
Worker Replication
Controller
Client
Gov
Reg
Conf
Reg
User
Store
- 27. Reference Architecture 2 for Kubernetes
Pod 1
Gateway Mgr
Services
Pod 2 Pod 3
Gateway Worker
Services
Client
Pod 4 Pod 5
Key Manager
Services
Pod 6 Pod 7
Store Services
Gateway
Mgr RC
Gateway
Worker RC
Key
Manager RC
Store RCGov
Reg
Conf
Reg
User
Store
API-M
DB
A volume mount for
synchronizing API
artifacts
Pod 8 Pod 9
Publisher Services
Publisher
RC
- 29. The Solution Stack for Kubernetes
Configuration Management WSO2 Puppet modules:
https://github.com/wso2/puppet-modules
Virtual Machine/Container
images
WSO2 Dockerfiles:
https://github.com/wso2/dockerfiles
Deployment Automation Replication controllers, services, bash scripts:
https://github.com/wso2/kubernetes-artifacts
Cluster Discovery WSO2 Kubernetes membership scheme:
https://github.com/wso2/kubernetes-artifacts
Internal/External Load
Balancing
Services, service load balancers:
https://github.com/wso2/kubernetes-artifacts
- 31. An Introduction to OpenShift
OpenShift V3 = Kubernetes + Following;
source code management, builds, deployments, managing container images, team and user tracking
https://docs.openshift.org/latest/architecture/index.html
- 33. The Solution Stack for OpenShift
Configuration Management WSO2 Puppet modules:
https://github.com/wso2/puppet-modules
Virtual Machine/Container
images
WSO2 Dockerfiles:
https://github.com/wso2/dockerfiles
Deployment Automation Replication controllers, services, bash scripts:
https://github.com/wso2/kubernetes-artifacts
Cluster Discovery WSO2 Kubernetes membership scheme:
https://github.com/wso2/kubernetes-artifacts
Internal/External Load
Balancing
Services, service load balancers:
https://github.com/wso2/kubernetes-artifacts
- 35. An Introduction to Apache Mesos
Image source: Anton Kirillov, Data processing platforms architectures [1]
- 36. An Introduction to Mesos DC/OS
Cluster Manager
PaaS UI | CLI | Package RepositoryBatch Job Scheduler
- 38. Reference Architecture for Mesos DC/OS
C 1 C 2
Manager Marathon
Applicatio
C 3 C 4 C n
Worker Marathon
Application
Marathon Load
Balancer
Gov
Reg
Conf
Reg
User
Store
Client
Manager Marathon
Application
Worker Marathon
Application
- 39. The Solution Stack for Mesos DC/OS
Configuration Management WSO2 Puppet modules:
https://github.com/wso2/puppet-modules/tree/mesos-
platform-dev
Virtual Machine/Container
images
WSO2 Dockerfiles:
https://github.com/wso2/dockerfiles
Deployment Automation Marathon applications, bash scripts:
https://github.com/wso2-incubator/mesos-artifacts
Cluster Discovery WSO2 Mesos membership scheme:
https://github.com/wso2-incubator/mesos-artifacts
Internal/External Load
Balancing
Marathon load balancer:
https://github.com/wso2-incubator/mesos-artifacts
- 43. Limitations in the Current Architecture
• A container can only expose one transport/port.
• Only HTTP traffic can be routed via the router.
• SSL get terminated at the router.
• Internal routing rules cannot be defined.
• Autoscaling can only be done based on CPU usage.
Warning icon source: http://www.flaticon.com/free-icon/warning-triangle_10190
- 44. Reference Architecture for Cloud Foundry
C 1 C 2
Manager Marathon
Applicatio
C 3 C 4 C n
Worker Marathon
Application
CF Router
Gov
Reg
Conf
Reg
User
Store
Client
Manager CF
Application
Worker CF
Application
- 48. The Solution Stack for Cloud Foundry
Configuration Management WSO2 Puppet modules:
https://github.com/wso2/puppet-modules
Virtual Machine/Container
images
Not required (managed by CF)
Deployment Automation CF applications + binary buildpack:
cf push wso2esb -c "/bin/bash bin/wso2server.sh" -b https:
//github.com/cloudfoundry/binary-buildpack.git
Cluster Discovery WSO2 Cloud Foundry membership scheme:
https://github.com/isurulucky/cloudfoundry-membership-
scheme-for-carbon
Internal/External Load
Balancing
CF router, Nginx
- 49. References
[1] Anton Kirillov, Data Processing Platforms Architectures: http://www.
slideshare.net/akirillov/data-processing-platforms-architectures-with-
spark-mesos-akka-cassandra-and-kafka