57
Private PaaS for the Enterprise: Apache Stratos & WSO2 Private PaaS Lakmal Warusawithana Director Cloud Architecture, WSO2 Inc Vise President - Apache Stratos Imesh Gunaratne Senior Technical Lead, WSO2 Inc PMC Member - Apache Stratos

Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Embed Size (px)

Citation preview

Page 1: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Private PaaS for the Enterprise: Apache Stratos & WSO2 Private PaaS

Lakmal WarusawithanaDirector Cloud Architecture, WSO2 Inc

Vise President - Apache Stratos

Imesh GunaratneSenior Technical Lead, WSO2 Inc

PMC Member - Apache Stratos

Page 2: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Agenda

๏ Introduction to Apache Stratos

๏ Introduction to Containers

๏ Introduction to Docker

๏ Introduction to CoreOS and Flannel

๏ Introduction to Kubernetes

๏ Apache Stratos integration with Docker, CoreOS

and Kubernetes

๏ Introduction to WSO2 Private PaaS

๏ WSO2 Private PaaS Demo - Kubernetes, WSO2 ESB

Page 3: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Apache Stratos

๏ Apache Stratos is a highly-extensible Platform-as-a-Service (PaaS) framework that helps run Apache Tomcat, PHP, and MySQL applications and can be extended to support many more environments on all major cloud infrastructures

๏ Stratos initially developed by WSO2 and last year donated to Apache Software Foundation

๏ After successfully complete the incubating process Stratos now graduated as Top Level Project

Page 4: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Apache Stratos Layered Architecture

Page 5: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What are containers?

Page 6: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What are containers?

Page 7: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What are containers?

Page 8: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What are containers?

Page 9: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What are containers?

Page 10: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What are containers?

Page 11: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What are containers?

Page 12: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Docker?

Page 13: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Docker?

Page 14: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Docker?

Page 15: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Docker?

Page 16: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Docker?

Page 17: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Docker?

Page 18: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Docker?

Page 19: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Docker?

Page 20: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Docker?

Page 21: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Docker?

Page 22: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Docker?

Page 23: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Docker?

Page 24: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Docker?

Page 25: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Docker?

Page 26: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Docker?

Page 27: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Docker?

Page 28: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Docker?

Page 29: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Docker?

Page 30: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Docker?

Page 31: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

How does images are stored in Registry?

Page 32: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Docker File System

Page 33: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Demo - Basic Docker

๏ boot2docker

๏ Create basic container

๏ Write a dockerfile

๏ Build a docker Image

๏ Create a container using created docker image

๏ Access via host machine port

Page 34: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is CoreOS?

Page 35: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

CoreOS Cluster

Page 36: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

CoreOS update management

Page 37: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Flannel?

Page 38: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

What is Kubernetes?

๏ Kubernetes is a platform for hosting Docker containers in a clustered environment with multiple Docker hosts

๏ Provides container grouping, load balancing, auto-healing, manual scaling features ...etc

๏ Project was started by Google

๏ Contributors == Google, CodeOS, Redhat, Mesosphere, Microsoft, HP, IBM, VMWare, Pivotal, SaltStack, etc

Page 39: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Key Concepts of Kubernetes

๏ Pod - A group of Containers๏ Labels - Labels for identifying pods๏ Proxy/Service - A load balancer for Pods๏ etcd - A metadata service๏ cAdvisor - Container Advisor provides

resource usage/performance statistics๏ Replication Controller - Manages replication

of pods๏ Scheduler - Schedules pods in worker nodes๏ API Server - Kubernetes API server

Page 40: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Kubernetes Pods

Page 41: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Kubernetes Pods

Page 42: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Kubernetes Labels

Page 43: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Kubernetes Labels

Page 44: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Kubernetes Services

Page 45: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

CoreOS with Kubernetes

Page 46: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Apache Stratos L1 Architecture for Docker based Cartridges

Page 47: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Stratos Architecture with Docker Support

Page 48: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Kubernetes Resources Used by Stratos

● A Kubernetes Service is created for each transport/port mapping defined in the cartridge.

● Kubernetes Service is a load balancing service for Pods.

● A Kubernetes Pod is created for each member in a cluster.

● A Kubernetes Pod is a group of Docker containers.

● Kubernetes creates a separate Docker container for networking.

Page 49: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Introduction to WSO2 Private PaaS

Page 50: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Introduction to WSO2 Private PaaS

๏ The WSO2 Private PaaS is a complete, enterprise-grade solution, offering an open Platform as a Service (PaaS)

๏ At the core of WSO2 Private PaaS, lies Apache Stratos , providing cloud-native capabilities such as multi-tenancy, elastic scaling, self-service provisioning, metering, billing and resource pooling among several other functionalities

๏ More significantly, it also adds functionality to host pre-integrated, fully multi-tenant WSO2 Carbon middleware products as cartridges that deliver a range of cloud PaaS services

Page 51: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

WSO2 Cartridge Component Architecture

Page 52: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Configurator Component Architecture

Page 53: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

WSO2 Private PaaS/Kubernetes Deployment Architecture

Page 54: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Load Balancer Architecture

Page 55: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

WSO2 Private PaaS Demo

● ESB Docker Image Creation

● Deploying ESB in PPaaS on Kubernetes

● Artifact Distribution

● Autoscaling

● Load Balancing

Page 57: Private PaaS for the Enterprise - Apache Stratos & WSO2 Private PaaS

Thank You