SlideShare a Scribd company logo
Unleashing K8S to reduce
complexities of an entire middleware
platform
Director - Architecture, WSO2
Afkham Azeez
Director - Cloud Architecture, WSO2
Lakmal Warusawithana
WSO2 Helps Build a Connected Business
Enterprise middleware platform
WSO2 Carbon
So what has this session got to do with Kubernetes?
Why are these guys at KubeCon?
Credits: http://texas-blooms.com/valentines-day-flowers-a-guys-guide/`
Kubernetes use cases for WSO2
o Multi-tenancy
o Microservices
o Scaling
WSO2 Carbon Multitenancy
● User management
● Data isolation
● Execution isolation
Shared process multitenancy in Carbon
8
Issues with Shared Process MT
● Difficult to control how much resources a tenant can use
● Complex Java Security management
● Too many security restrictions at runtime
Kubernetes to the rescue!
● K8S Namespaces
● K8S Quota
● K8S Health Monitoring
● K8S Rolling Update
● K8S Secret Sharing and Volume Mounting
● K8S Autoscaling
● K8S Identity and Access Management
Execution Isolation with K8S Namespaces
● Tenant mapped to a k8s namespace
● Namespace provides the scope for pods, services, and
replication controllers in the cluster
● Users of tenant interacting with one namespace do not
see the content in another namespace
● Different authorization rules for each namespace.
K8S Resource Controlling using Quota
● Tenant creation assigned a Resource Quota for each
namespace
● Compute Resource Quota
○ Total cpu limits of containers
○ Total memory limits of containers
● Object Count Quota
○ Total number of pods
○ Total number of services
○ Total number of replication controllers
○ Total number of secrets
○ Total number of persistent volume claims
K8S Resource Controlling using Quota
$ kubectl describe quota quota
Name: quota
Resource Used Hard
-------- ---- ----
cpu 0m 20
memory 0 1Gi
pods 5 10
replicationcontrollers 5 20
resourcequotas 1 1
services 3 5
K8S Health Monitoring
● Process Health Checking
○ The Kubelet constantly asks the Docker daemon if the container
process is still running, and if not, the container process is restarted
● Application Health Checking
○ HTTP Health Checks - The Kubelet will call a web hook. If it returns
between 200 and 399, it is considered success, failure otherwise.
○ Container Exec - The Kubelet will execute a command inside your
container. If it exits with status 0 it will be considered a success
○ TCP Socket - The Kubelet will attempt to open a socket to your
container. If it can establish a connection, the container is considered
healthy, if it can't it is considered a failure.
K8S Rolling Update
● Tenant's application artifacts are burned into the docker
image
● New artifacts create new docker images with new
versioning/tag number
● Update replication controller using rolling-update
○ It will create new rc with a pod template that uses
the new docker image
○ Scale the old and new replication controllers until the
new controller replaces the old. This will kill the
current pods one at a time, spinning up new ones to
replace them
K8S Secret Sharing
● Objects of type secret are intended to hold sensitive information, such as
passwords, OAuth tokens, and ssh keys
● Secret volumes are backed by tmpfs (a RAM-backed filesystem) so they
are never written to non-volatile
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
password: dmFsdWUtMg0K
username: dmFsdWUtMQ0K
K8S Autoscaling
K8s Identity and Access Management with WSO2
Identity Server
● User Roles
○ Carbon Super Admin - k8s Admin
○ Carbon Tenant Admin - k8s project administrator
○ Carbon Tenant Users - k8s developer
● User Store - LDAP
● Authentication
● Authorization
Ops work
● Planing to use kubectl for deploying and managing
WSO2 multitenant Products
● We believed all necessary ops functionality is available
in kubectl
● If we see some gaps will hoping to contribute back to
the community
WSO2 Microservices Server (MSS)
● Lightweight & fast Java microservices server
● Default deployment mode is based on Docker &
Kubernetes
● GitHub: https://github.com/wso2/product-mss
● 1.0-alpha available for download https://github.
com/wso2/product-mss/releases
WSO2 Microservices Server - TPS
WSO2 Microservices Server - Memory Usage
Pet store sample
Pet store sample - deployment view
2
Contact us !

More Related Content

PPTX
Containers kuberenetes
PDF
Containers kuberenetes
PDF
Getting started with kubernetes
PPTX
Deploying WSO2 Middleware on Kubernetes
PDF
Everything you want to know about Ingress
PDF
Kubernetes Webinar - Using ConfigMaps & Secrets
PDF
Swarm migration
PDF
Kubernetes dealing with storage and persistence
Containers kuberenetes
Containers kuberenetes
Getting started with kubernetes
Deploying WSO2 Middleware on Kubernetes
Everything you want to know about Ingress
Kubernetes Webinar - Using ConfigMaps & Secrets
Swarm migration
Kubernetes dealing with storage and persistence

What's hot (20)

PPTX
Desplegar en la nube y no morir en el intento - Plain Concepts Dev Day
PDF
Heketi Functionality into Glusterd2
PDF
Container Attached Storage - Chennai Kubernetes Meetup #2 - April 21st 2018
PDF
Scalability and Performance of CNS 3.6
PDF
Gluster as Native Storage for Containers - past, present and future
PDF
Extending Kubernetes
PDF
KubeCon EU 2016: Kubernetes Storage 101
PDF
KubeCon Prometheus Salon -- Kubernetes metrics deep dive
PDF
Gluster: a SWOT Analysis
PDF
Monitoring hybrid container environments
PDF
Elasticsearch on Kubernetes
ODP
GlusterFS and Openstack Storage
PDF
Containers @ Google
PPTX
ACDKOCHI19 - Turbocharge Developer productivity with platform build on K8S an...
PDF
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup
PDF
OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...
 
PDF
How to build a Kubernetes networking solution from scratch
PDF
Kubernetes Webinar Series - Exploring Daemon Sets and Jobs
PDF
How to deal second interface service discovery and load balancer in kubernetes
PDF
K8s storage-glusterfs-20180210
Desplegar en la nube y no morir en el intento - Plain Concepts Dev Day
Heketi Functionality into Glusterd2
Container Attached Storage - Chennai Kubernetes Meetup #2 - April 21st 2018
Scalability and Performance of CNS 3.6
Gluster as Native Storage for Containers - past, present and future
Extending Kubernetes
KubeCon EU 2016: Kubernetes Storage 101
KubeCon Prometheus Salon -- Kubernetes metrics deep dive
Gluster: a SWOT Analysis
Monitoring hybrid container environments
Elasticsearch on Kubernetes
GlusterFS and Openstack Storage
Containers @ Google
ACDKOCHI19 - Turbocharge Developer productivity with platform build on K8S an...
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup
OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...
 
How to build a Kubernetes networking solution from scratch
Kubernetes Webinar Series - Exploring Daemon Sets and Jobs
How to deal second interface service discovery and load balancer in kubernetes
K8s storage-glusterfs-20180210
Ad

Viewers also liked (13)

PDF
What's new in kubernetes 1.3?
PPTX
Edge 2016 Session 1886 Building your own docker container cloud on ibm power...
PPTX
Cloud-Scale Kubernetes at eBay
PDF
The Cloud Convergence: OpenStack and Kubernetes.
PDF
Enhancing Kubernetes with Autoscaling & Hybrid Cloud IaaS
PDF
Kubernetes intro public - kubernetes meetup 4-21-2015
PDF
Containerizing MongoDB with kubernetes
PPTX
Tectonic Summit 2016: Networking for Kubernetes
PDF
Autoscaling Kubernetes
PDF
Container Network Interface: Network Plugins for Kubernetes and beyond
PPTX
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
PDF
Moving from Monolith to Microservices
PDF
Kubernetes Basics & Monitoring
What's new in kubernetes 1.3?
Edge 2016 Session 1886 Building your own docker container cloud on ibm power...
Cloud-Scale Kubernetes at eBay
The Cloud Convergence: OpenStack and Kubernetes.
Enhancing Kubernetes with Autoscaling & Hybrid Cloud IaaS
Kubernetes intro public - kubernetes meetup 4-21-2015
Containerizing MongoDB with kubernetes
Tectonic Summit 2016: Networking for Kubernetes
Autoscaling Kubernetes
Container Network Interface: Network Plugins for Kubernetes and beyond
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
Moving from Monolith to Microservices
Kubernetes Basics & Monitoring
Ad

Similar to Unleashing k8 s to reduce complexities of an entire middleware platform (20)

PDF
WSO2 Kubernetes Reference Architecture - Nov 2017
PDF
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
PPTX
Introduction to kubernetes
PPTX
Meetup 12-12-2017 - Application Isolation on Kubernetes
PDF
kubernetes.pdf
PPTX
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
PDF
[WSO2Con Asia 2018] Deploying Applications in K8S and Docker
PDF
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 - 유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
PDF
Kubernetes Architecture and Introduction
PDF
Kubernetes - Starting with 1.2
PDF
Deploying WSO2 Middleware on Kubernetes
PPTX
Kubernetes Internals
PDF
What Does Kubernetes Look Like?: Performance Monitoring & Visualization with ...
PDF
Kubernetes Basics - ICP Workshop Batch II
PDF
WWCode Dallas - Kubernetes: Learning from Zero to Production
PDF
An Introduction to the Kubernetes API
PDF
Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦
PPTX
Kubernetes overview 101
PPTX
Kubernetes 101
PDF
Kubernetes One-Click Deployment: Hands-on Workshop (Munich)
WSO2 Kubernetes Reference Architecture - Nov 2017
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Introduction to kubernetes
Meetup 12-12-2017 - Application Isolation on Kubernetes
kubernetes.pdf
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
[WSO2Con Asia 2018] Deploying Applications in K8S and Docker
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 - 유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
Kubernetes Architecture and Introduction
Kubernetes - Starting with 1.2
Deploying WSO2 Middleware on Kubernetes
Kubernetes Internals
What Does Kubernetes Look Like?: Performance Monitoring & Visualization with ...
Kubernetes Basics - ICP Workshop Batch II
WWCode Dallas - Kubernetes: Learning from Zero to Production
An Introduction to the Kubernetes API
Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦
Kubernetes overview 101
Kubernetes 101
Kubernetes One-Click Deployment: Hands-on Workshop (Munich)

More from Lakmal Warusawithana (20)

PDF
[Lakmal] Automate Microservice to API
PDF
Api Management with Service Mesh
PDF
Microservices, Containers, and Beyond
PDF
Container Native Architecture
PDF
Future of Cloud Computing with Containers
PDF
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
PDF
DevOps & cloud : Lessons & Stories
PDF
WSO2 Virtual Hackathon Big Data in the Cloud Case Study
PDF
Containers in production with Docker, CoreOS, Kubernetes and Apache Stratos
PDF
Deploy in scale with Docker, CoreOS, Kubernetes and Apache Stratos
PDF
Deep dive into Apache Stratos & Private PaaS WSO2Con EU 2015
PDF
Introduction to docker
PDF
PaaS: An Introduction
PDF
How to deploy your own private cloud with openstack
PDF
Building a Paa s with CloudStack and Apache Stratos
PDF
Apache stratos roadmap and strategy
PDF
Wso2 con 2014-us-talk-deep dive into apache stratos & private paas
PDF
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
PDF
Containerizing the cloud with docker
PDF
Building a dev ops paas with puppet, docker, openstack and apache stratos
[Lakmal] Automate Microservice to API
Api Management with Service Mesh
Microservices, Containers, and Beyond
Container Native Architecture
Future of Cloud Computing with Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
DevOps & cloud : Lessons & Stories
WSO2 Virtual Hackathon Big Data in the Cloud Case Study
Containers in production with Docker, CoreOS, Kubernetes and Apache Stratos
Deploy in scale with Docker, CoreOS, Kubernetes and Apache Stratos
Deep dive into Apache Stratos & Private PaaS WSO2Con EU 2015
Introduction to docker
PaaS: An Introduction
How to deploy your own private cloud with openstack
Building a Paa s with CloudStack and Apache Stratos
Apache stratos roadmap and strategy
Wso2 con 2014-us-talk-deep dive into apache stratos & private paas
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
Containerizing the cloud with docker
Building a dev ops paas with puppet, docker, openstack and apache stratos

Recently uploaded (20)

PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
Transform Your Business with a Software ERP System
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Nekopoi APK 2025 free lastest update
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
medical staffing services at VALiNTRY
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Introduction to Artificial Intelligence
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
CHAPTER 2 - PM Management and IT Context
Design an Analysis of Algorithms I-SECS-1021-03
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Transform Your Business with a Software ERP System
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Internet Downloader Manager (IDM) Crack 6.42 Build 41
How Creative Agencies Leverage Project Management Software.pdf
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Design an Analysis of Algorithms II-SECS-1021-03
Nekopoi APK 2025 free lastest update
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
ISO 45001 Occupational Health and Safety Management System
medical staffing services at VALiNTRY
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PTS Company Brochure 2025 (1).pdf.......
Navsoft: AI-Powered Business Solutions & Custom Software Development
Introduction to Artificial Intelligence
VVF-Customer-Presentation2025-Ver1.9.pptx
Adobe Illustrator 28.6 Crack My Vision of Vector Design
CHAPTER 2 - PM Management and IT Context

Unleashing k8 s to reduce complexities of an entire middleware platform

  • 1. Unleashing K8S to reduce complexities of an entire middleware platform Director - Architecture, WSO2 Afkham Azeez Director - Cloud Architecture, WSO2 Lakmal Warusawithana
  • 2. WSO2 Helps Build a Connected Business
  • 5. So what has this session got to do with Kubernetes? Why are these guys at KubeCon? Credits: http://texas-blooms.com/valentines-day-flowers-a-guys-guide/`
  • 6. Kubernetes use cases for WSO2 o Multi-tenancy o Microservices o Scaling
  • 7. WSO2 Carbon Multitenancy ● User management ● Data isolation ● Execution isolation
  • 9. Issues with Shared Process MT ● Difficult to control how much resources a tenant can use ● Complex Java Security management ● Too many security restrictions at runtime
  • 10. Kubernetes to the rescue! ● K8S Namespaces ● K8S Quota ● K8S Health Monitoring ● K8S Rolling Update ● K8S Secret Sharing and Volume Mounting ● K8S Autoscaling ● K8S Identity and Access Management
  • 11. Execution Isolation with K8S Namespaces ● Tenant mapped to a k8s namespace ● Namespace provides the scope for pods, services, and replication controllers in the cluster ● Users of tenant interacting with one namespace do not see the content in another namespace ● Different authorization rules for each namespace.
  • 12. K8S Resource Controlling using Quota ● Tenant creation assigned a Resource Quota for each namespace ● Compute Resource Quota ○ Total cpu limits of containers ○ Total memory limits of containers ● Object Count Quota ○ Total number of pods ○ Total number of services ○ Total number of replication controllers ○ Total number of secrets ○ Total number of persistent volume claims
  • 13. K8S Resource Controlling using Quota $ kubectl describe quota quota Name: quota Resource Used Hard -------- ---- ---- cpu 0m 20 memory 0 1Gi pods 5 10 replicationcontrollers 5 20 resourcequotas 1 1 services 3 5
  • 14. K8S Health Monitoring ● Process Health Checking ○ The Kubelet constantly asks the Docker daemon if the container process is still running, and if not, the container process is restarted ● Application Health Checking ○ HTTP Health Checks - The Kubelet will call a web hook. If it returns between 200 and 399, it is considered success, failure otherwise. ○ Container Exec - The Kubelet will execute a command inside your container. If it exits with status 0 it will be considered a success ○ TCP Socket - The Kubelet will attempt to open a socket to your container. If it can establish a connection, the container is considered healthy, if it can't it is considered a failure.
  • 15. K8S Rolling Update ● Tenant's application artifacts are burned into the docker image ● New artifacts create new docker images with new versioning/tag number ● Update replication controller using rolling-update ○ It will create new rc with a pod template that uses the new docker image ○ Scale the old and new replication controllers until the new controller replaces the old. This will kill the current pods one at a time, spinning up new ones to replace them
  • 16. K8S Secret Sharing ● Objects of type secret are intended to hold sensitive information, such as passwords, OAuth tokens, and ssh keys ● Secret volumes are backed by tmpfs (a RAM-backed filesystem) so they are never written to non-volatile apiVersion: v1 kind: Secret metadata: name: mysecret type: Opaque data: password: dmFsdWUtMg0K username: dmFsdWUtMQ0K
  • 18. K8s Identity and Access Management with WSO2 Identity Server ● User Roles ○ Carbon Super Admin - k8s Admin ○ Carbon Tenant Admin - k8s project administrator ○ Carbon Tenant Users - k8s developer ● User Store - LDAP ● Authentication ● Authorization
  • 19. Ops work ● Planing to use kubectl for deploying and managing WSO2 multitenant Products ● We believed all necessary ops functionality is available in kubectl ● If we see some gaps will hoping to contribute back to the community
  • 20. WSO2 Microservices Server (MSS) ● Lightweight & fast Java microservices server ● Default deployment mode is based on Docker & Kubernetes ● GitHub: https://github.com/wso2/product-mss ● 1.0-alpha available for download https://github. com/wso2/product-mss/releases
  • 22. WSO2 Microservices Server - Memory Usage
  • 24. Pet store sample - deployment view 2