SlideShare a Scribd company logo
1
Exploring Magnum and Senlin integration
for autoscaling containers
Hongbin Lu (Huawei)
Jay Lau, Ton Ngo (IBM)
Qiming Teng, Julio Ruano (IBM)
Exploring Magnum and Senlin integration
Contributors
Exploring Magnum and Senlin integration2
Zilian Ji, Linjuan Xia, Shijia E, Peiyu Lin, Tianyuan Zhuang, Ji Jiang, Yongkui Wang
Talk Outline
1. Use cases
2. Magnum
3. Senlin
4. How it works
5. Demo
Exploring Magnum and Senlin integration3
Use cases
Exploring Magnum and Senlin integration4
Use case
• Shared COE cluster
– Autoscale on some policies (utilization, etc.)
– Scale number of nodes
• Multiple apps on cluster
– Autoscale on some policies (request rate, etc.)
– Scale number of containers
• Example:
– 2, 3-tiered web apps: handle requests
– SLA determines policy
Exploring Magnum and Senlin integration5
Scaling scenarios (1)
Exploring Magnum and Senlin integration6
node
c c c
node
c cc
node
c scale app
scale cluster
Single app on cluster
• scale out containers as needed
• scale cluster by utilization
• coordination = utilization
Scaling scenarios (2)
Exploring Magnum and Senlin integration7
node
c
node
c c
node
c c c c scale 2 apps
Two apps on cluster
• scale out containers as needed
• scale cluster by utilization
• coordination = utilization
scale cluster
unlimited
scale cluster
limited
Scaling scenarios (3)
Exploring Magnum and Senlin integration8
node
c c
node
scale 2 apps
scale cluster
limited
c
node
c c c c c c
Two apps on cluster, limited cluster size
• blue scales first, retains containers
• red scales later, fails
• maybe acceptable
• what if red is critical and blue is not
• inverted priority: blue < red
Scaling scenarios (4)
Exploring Magnum and Senlin integration9
node
c c scale 2 apps
Limit on apps
• Place max on blue
• blue scales, red does not scale
• cannot use full resources
scale cluster
limited
c
nodenode
c
limited
Scaling scenarios (5)
Exploring Magnum and Senlin integration10
node
c c
node
scale 2 apps
scale cluster
limited
c
node
c c c c c cc c c c
Priority on apps
• blue scales first, red scales later
• blue scales back to free up resource for red
• 2 ways linkage: container cluster host cluster
Magnum
Exploring Magnum and Senlin integration11
Instance
Magnum Overview
Exploring Magnum and Senlin integration12
• Provision
• Kubernetes
• Docker Swarm
• Mesos
• Scale
• Add instances
• Remove instances
• Manage
• Pod
• Service
• Replication Controller
• Container
Nova Instance
container
container
Magnum CLI
Magnum
Heat
Magnum Architecture
Exploring Magnum and Senlin integration13
Magnum: Autoscale Bay
1. Raw data: Magnum pulls raw
data from Bays.
2. Metrics: Metrics, like memory
utilization, are computed and sent
them to Ceilometer.
3. Alarm: Ceilometer triggers alarms
based on user-specified scenario
and metrics.
4. Scale: Heat scales the bays.
Exploring Magnum and Senlin integration14
Ceilometer
Magnum Heat
Bay
1) Raw data
2) Metrics 3) Alarm
4) Scale
Kubernetes: Autoscale Pod
1. Metrics: The autoscaler
periodically queries pods’ metrics.
2. Scale: Based on collected
metrics, the autoscaler uses a
built-in algorithm to trigger the
scaling.
3. Resize: Replication Controller
resize the pods.
Exploring Magnum and Senlin integration15
Horizontal
Pod
Autoscaler
Pods
1) Metrics
3) Resize
Replication
Controller
2) Scale
Future direction
• Magnum AutoScaler
– A new component in Magnum
• Scaling Bays
• Scaling Applications
– Interacts with AutoScaler from COEs
• Kubernetes AutoScaler as a driver for container-level scaling
• Magnum responsible for scaling RCs without Kubernetes autoscaler
– Customizability
• data sources
• metrics and thresholds
• standby bay nodes (i.e. resource pool)
Exploring Magnum and Senlin integration16
Two-Levels of AutoScaling
Exploring Magnum and Senlin integration17
Working
K8S Bay
NodeNode
K8S
Master
Heapster
Kublet
cAdvisor
Kublet
cAdvisor
Storage
Backend
RC AutoScaler
Pod
Magnum AutoScaler Service
K8S Driver
Collector
Analyzer
Operator
Swarm
Driver
Mesos
Driver
Senlin
Magnum
Conductor
Standby
Senlin
Exploring Magnum and Senlin integration18
Clustering - A Missing Service in OpenStack
Exploring Magnum and Senlin integration19
Scalable
Load-Balanced
Highly-Available
Manageable
......
of any (OpenStack) objects
Senlin Architecture
Exploring Magnum and Senlin integration20
REST RPC
Senlin
Database
Policies
Profiles
Clustering/AutoScaling/LoadBalancing
Exploring Magnum and Senlin integration21
Nova
Kubernetes
Heat
Ironic BareMetal
VMs
Stacks
Containers
Senlin
placement
deletion
scaling
health
load-balance
batching
Scaling A Cluster using Senlin
Exploring Magnum and Senlin integration22
type: os.nova.server
version: 1.0
properties:
image: fedora-21
flavor: 3
networks:
- network: private
userdata:
...
Profile
Cluster
type: senlin.policy.scaling
version: 1.0
properties:
event: CLUSTER_SCALE_IN
adjustment:
type: CHANGE_IN_CAPACITY
number: 1
min_step: 1
best_effort: True
attach
Policy
type: senlin.policy.scaling
version: 1.0
properties:
event: CLUSTER_SCALE_OUT
adjustment:
. . .
attach
Policy
webhook
RESIZE
Policies
Exploring Magnum and Senlin integration23
type: senlin.policy.scaling
version: 1.0
properties:
adjustment:
min_step: 1
best_effort: true
number: 1
type: CHANGE_IN_CAPACITY
event: CLUSTER_SCALE_OUT
• Declarative
• Can be mapped to from a standard
• Example: SUR_Cluster
(Add k8s Minion / Add Spark worker node)
Trigger
Exploring Magnum and Senlin integration24
type: CeilometerThresholdAlarm
version: 1.0
rule:
meter_name: memory_util
comparison_operator: gt
threshold: 70
period: 60
evaluation_periods: 1
statistic: avg
query:
- field: resource_metadata.cluster
op: eq
value: SUR_Cluster
• Generic abstraction
• alarms in OpenStack
monitoring services
• e.g. Ceilometer Alarm
How it works
Exploring Magnum and Senlin integration25
Design goals
1. Coordinate scaling at apps and cluster level
• Control flows in both direction
• Apps -> Cluster: utilization, other methods
• Cluster -> Apps: priority, other methods
2. Integrate scaling support from COE if available
• Kubernetes autoscaler
3. Policy driven
• Easy to express, manage complex cases
Exploring Magnum and Senlin integration26
template
Outer Stack
Autoscaling: OpenStack-Only Solution (Today)
27 Exploring Magnum and Senlin integration
AutoScalingGroup Stack
Heat
Ceilometer
AH
PUp PDn
AL
ASGS1 S2 S3
update
ASG
Senlin
profile
Autoscaling: OpenStack-Only Solution (New)
28 Exploring Magnum and Senlin integration
Cluster
Ceilometer
AH
PUp
PDn
AL
SCALE_IN
SCALE_OUT
Node1 Node2 Node3
webhookspolicies triggers
Demo
Exploring Magnum and Senlin integration29
Autoscaling with Kubernetes
30 Exploring Magnum and Senlin integration
VMs
K8S Bay
NodeNode
Heapster
Kublet
cAdvisor
Kublet
cAdvisor
Pod
Senlin
Magnum
profile
CeilometerWorkload
policy
Questions
Exploring Magnum and Senlin integration31
Thank You
Exploring Magnum and Senlin integration32

More Related Content

What's hot

2016 08-30 Kubernetes talk for Waterloo DevOps
2016 08-30 Kubernetes talk for Waterloo DevOps2016 08-30 Kubernetes talk for Waterloo DevOps
2016 08-30 Kubernetes talk for Waterloo DevOps
craigbox
 
Spark day 2017 - Spark on Kubernetes
Spark day 2017 - Spark on KubernetesSpark day 2017 - Spark on Kubernetes
Spark day 2017 - Spark on Kubernetes
Yousun Jeong
 
IBM Platform Computing Products Connector for Apache Mesos
IBM Platform Computing Products Connector for Apache MesosIBM Platform Computing Products Connector for Apache Mesos
IBM Platform Computing Products Connector for Apache Mesos
Yong Feng
 
Containerizing Distributed Pipes
Containerizing Distributed PipesContainerizing Distributed Pipes
Containerizing Distributed Pipes
inside-BigData.com
 
[Spark Summit 2017 NA] Apache Spark on Kubernetes
[Spark Summit 2017 NA] Apache Spark on Kubernetes[Spark Summit 2017 NA] Apache Spark on Kubernetes
[Spark Summit 2017 NA] Apache Spark on Kubernetes
Timothy Chen
 
Solr Compute Cloud – An Elastic Solr Infrastructure: Presented by Nitin Sharm...
Solr Compute Cloud – An Elastic Solr Infrastructure: Presented by Nitin Sharm...Solr Compute Cloud – An Elastic Solr Infrastructure: Presented by Nitin Sharm...
Solr Compute Cloud – An Elastic Solr Infrastructure: Presented by Nitin Sharm...
Lucidworks
 
Orchestrating Redis & K8s Operators
Orchestrating Redis & K8s OperatorsOrchestrating Redis & K8s Operators
Orchestrating Redis & K8s Operators
DoiT International
 
K8s cluster autoscaler
K8s cluster autoscaler K8s cluster autoscaler
K8s cluster autoscaler
k8s study
 
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
confluent
 
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G coreTối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
Vietnam Open Infrastructure User Group
 
K8S in prod
K8S in prodK8S in prod
Optimizing {Java} Application Performance on Kubernetes
Optimizing {Java} Application Performance on KubernetesOptimizing {Java} Application Performance on Kubernetes
Optimizing {Java} Application Performance on Kubernetes
Dinakar Guniguntala
 
A fun cup of joe with open liberty
A fun cup of joe with open libertyA fun cup of joe with open liberty
A fun cup of joe with open liberty
Andy Mauer
 
[GS네오텍] Google Kubernetes Engine
[GS네오텍]  Google Kubernetes Engine [GS네오텍]  Google Kubernetes Engine
[GS네오텍] Google Kubernetes Engine
GS Neotek
 
Kubernetes #6 advanced scheduling
Kubernetes #6   advanced schedulingKubernetes #6   advanced scheduling
Kubernetes #6 advanced scheduling
Terry Cho
 
Solr Lucene Conference 2014 - Nitin Presentation
Solr Lucene Conference 2014 - Nitin PresentationSolr Lucene Conference 2014 - Nitin Presentation
Solr Lucene Conference 2014 - Nitin Presentation
Nitin Sharma
 
Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...
Red Hat Developers
 
Kubernetes deployment strategies - CNCF Webinar
Kubernetes deployment strategies - CNCF WebinarKubernetes deployment strategies - CNCF Webinar
Kubernetes deployment strategies - CNCF Webinar
Etienne Tremel
 
The Kubernetes Operator Pattern - ContainerConf Nov 2017
The Kubernetes Operator Pattern - ContainerConf Nov 2017The Kubernetes Operator Pattern - ContainerConf Nov 2017
The Kubernetes Operator Pattern - ContainerConf Nov 2017
Jakob Karalus
 
Container Camp London (2016-09-09)
Container Camp London (2016-09-09)Container Camp London (2016-09-09)
Container Camp London (2016-09-09)
craigbox
 

What's hot (20)

2016 08-30 Kubernetes talk for Waterloo DevOps
2016 08-30 Kubernetes talk for Waterloo DevOps2016 08-30 Kubernetes talk for Waterloo DevOps
2016 08-30 Kubernetes talk for Waterloo DevOps
 
Spark day 2017 - Spark on Kubernetes
Spark day 2017 - Spark on KubernetesSpark day 2017 - Spark on Kubernetes
Spark day 2017 - Spark on Kubernetes
 
IBM Platform Computing Products Connector for Apache Mesos
IBM Platform Computing Products Connector for Apache MesosIBM Platform Computing Products Connector for Apache Mesos
IBM Platform Computing Products Connector for Apache Mesos
 
Containerizing Distributed Pipes
Containerizing Distributed PipesContainerizing Distributed Pipes
Containerizing Distributed Pipes
 
[Spark Summit 2017 NA] Apache Spark on Kubernetes
[Spark Summit 2017 NA] Apache Spark on Kubernetes[Spark Summit 2017 NA] Apache Spark on Kubernetes
[Spark Summit 2017 NA] Apache Spark on Kubernetes
 
Solr Compute Cloud – An Elastic Solr Infrastructure: Presented by Nitin Sharm...
Solr Compute Cloud – An Elastic Solr Infrastructure: Presented by Nitin Sharm...Solr Compute Cloud – An Elastic Solr Infrastructure: Presented by Nitin Sharm...
Solr Compute Cloud – An Elastic Solr Infrastructure: Presented by Nitin Sharm...
 
Orchestrating Redis & K8s Operators
Orchestrating Redis & K8s OperatorsOrchestrating Redis & K8s Operators
Orchestrating Redis & K8s Operators
 
K8s cluster autoscaler
K8s cluster autoscaler K8s cluster autoscaler
K8s cluster autoscaler
 
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
 
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G coreTối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
 
K8S in prod
K8S in prodK8S in prod
K8S in prod
 
Optimizing {Java} Application Performance on Kubernetes
Optimizing {Java} Application Performance on KubernetesOptimizing {Java} Application Performance on Kubernetes
Optimizing {Java} Application Performance on Kubernetes
 
A fun cup of joe with open liberty
A fun cup of joe with open libertyA fun cup of joe with open liberty
A fun cup of joe with open liberty
 
[GS네오텍] Google Kubernetes Engine
[GS네오텍]  Google Kubernetes Engine [GS네오텍]  Google Kubernetes Engine
[GS네오텍] Google Kubernetes Engine
 
Kubernetes #6 advanced scheduling
Kubernetes #6   advanced schedulingKubernetes #6   advanced scheduling
Kubernetes #6 advanced scheduling
 
Solr Lucene Conference 2014 - Nitin Presentation
Solr Lucene Conference 2014 - Nitin PresentationSolr Lucene Conference 2014 - Nitin Presentation
Solr Lucene Conference 2014 - Nitin Presentation
 
Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...
 
Kubernetes deployment strategies - CNCF Webinar
Kubernetes deployment strategies - CNCF WebinarKubernetes deployment strategies - CNCF Webinar
Kubernetes deployment strategies - CNCF Webinar
 
The Kubernetes Operator Pattern - ContainerConf Nov 2017
The Kubernetes Operator Pattern - ContainerConf Nov 2017The Kubernetes Operator Pattern - ContainerConf Nov 2017
The Kubernetes Operator Pattern - ContainerConf Nov 2017
 
Container Camp London (2016-09-09)
Container Camp London (2016-09-09)Container Camp London (2016-09-09)
Container Camp London (2016-09-09)
 

Similar to Autoscaling with magnum and senlin

Kubecon US 2019: Kubernetes Multitenancy WG Deep Dive
Kubecon US 2019: Kubernetes Multitenancy WG Deep DiveKubecon US 2019: Kubernetes Multitenancy WG Deep Dive
Kubecon US 2019: Kubernetes Multitenancy WG Deep Dive
Sanjeev Rampal
 
Cloud Native Camel Design Patterns
Cloud Native Camel Design PatternsCloud Native Camel Design Patterns
Cloud Native Camel Design Patterns
Bilgin Ibryam
 
Automated Cluster Management and Recovery for Large Scale Multi-Tenant Sea...
  Automated Cluster Management and Recovery  for Large Scale Multi-Tenant Sea...  Automated Cluster Management and Recovery  for Large Scale Multi-Tenant Sea...
Automated Cluster Management and Recovery for Large Scale Multi-Tenant Sea...
Lucidworks
 
Kubernetes and Terraform in the Cloud: How RightScale Does DevOps
Kubernetes and Terraform in the Cloud: How RightScale Does DevOpsKubernetes and Terraform in the Cloud: How RightScale Does DevOps
Kubernetes and Terraform in the Cloud: How RightScale Does DevOps
RightScale
 
Introducing github.com/open-cluster-management – How to deliver apps across c...
Introducing github.com/open-cluster-management – How to deliver apps across c...Introducing github.com/open-cluster-management – How to deliver apps across c...
Introducing github.com/open-cluster-management – How to deliver apps across c...
Michael Elder
 
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCDDevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
DevOps_Fest
 
Open stack and k8s(v4)
Open stack and k8s(v4)Open stack and k8s(v4)
Open stack and k8s(v4)
H K Yoon
 
Solr Lucene Revolution 2014 - Solr Compute Cloud - Nitin
Solr Lucene Revolution 2014 - Solr Compute Cloud - NitinSolr Lucene Revolution 2014 - Solr Compute Cloud - Nitin
Solr Lucene Revolution 2014 - Solr Compute Cloud - Nitin
bloomreacheng
 
Operationalizing Amazon EKS
Operationalizing Amazon EKSOperationalizing Amazon EKS
Operationalizing Amazon EKS
Jim Bugwadia
 
Cloud Native ClickHouse at Scale--Using the Altinity Kubernetes Operator-2022...
Cloud Native ClickHouse at Scale--Using the Altinity Kubernetes Operator-2022...Cloud Native ClickHouse at Scale--Using the Altinity Kubernetes Operator-2022...
Cloud Native ClickHouse at Scale--Using the Altinity Kubernetes Operator-2022...
Altinity Ltd
 
Kubernetes Monitoring & Best Practices
Kubernetes Monitoring & Best PracticesKubernetes Monitoring & Best Practices
Kubernetes Monitoring & Best Practices
Ajeet Singh Raina
 
Solr Compute Cloud - An Elastic SolrCloud Infrastructure
Solr Compute Cloud - An Elastic SolrCloud Infrastructure Solr Compute Cloud - An Elastic SolrCloud Infrastructure
Solr Compute Cloud - An Elastic SolrCloud Infrastructure
Nitin S
 
From Code to Kubernetes
From Code to KubernetesFrom Code to Kubernetes
From Code to Kubernetes
Daniel Oliveira Filho
 
[RightScale Webinar] Architecting Databases in the cloud: How RightScale Doe...
[RightScale Webinar] Architecting Databases in the cloud:  How RightScale Doe...[RightScale Webinar] Architecting Databases in the cloud:  How RightScale Doe...
[RightScale Webinar] Architecting Databases in the cloud: How RightScale Doe...
RightScale
 
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster RecoveryStop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
DoKC
 
Unclouding Container Challenges
 Unclouding  Container Challenges Unclouding  Container Challenges
Unclouding Container Challenges
Rakuten Group, Inc.
 
Kubernetes Administration from Zero to Hero.pdf
Kubernetes Administration from Zero to Hero.pdfKubernetes Administration from Zero to Hero.pdf
Kubernetes Administration from Zero to Hero.pdf
ArzooGupta16
 
Getting Started with Docker on AWS
Getting Started with Docker on AWSGetting Started with Docker on AWS
Getting Started with Docker on AWS
Amazon Web Services
 
微服務與 Docker 深入探討
微服務與 Docker 深入探討微服務與 Docker 深入探討
微服務與 Docker 深入探討
Amazon Web Services
 
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
Amazon Web Services Korea
 

Similar to Autoscaling with magnum and senlin (20)

Kubecon US 2019: Kubernetes Multitenancy WG Deep Dive
Kubecon US 2019: Kubernetes Multitenancy WG Deep DiveKubecon US 2019: Kubernetes Multitenancy WG Deep Dive
Kubecon US 2019: Kubernetes Multitenancy WG Deep Dive
 
Cloud Native Camel Design Patterns
Cloud Native Camel Design PatternsCloud Native Camel Design Patterns
Cloud Native Camel Design Patterns
 
Automated Cluster Management and Recovery for Large Scale Multi-Tenant Sea...
  Automated Cluster Management and Recovery  for Large Scale Multi-Tenant Sea...  Automated Cluster Management and Recovery  for Large Scale Multi-Tenant Sea...
Automated Cluster Management and Recovery for Large Scale Multi-Tenant Sea...
 
Kubernetes and Terraform in the Cloud: How RightScale Does DevOps
Kubernetes and Terraform in the Cloud: How RightScale Does DevOpsKubernetes and Terraform in the Cloud: How RightScale Does DevOps
Kubernetes and Terraform in the Cloud: How RightScale Does DevOps
 
Introducing github.com/open-cluster-management – How to deliver apps across c...
Introducing github.com/open-cluster-management – How to deliver apps across c...Introducing github.com/open-cluster-management – How to deliver apps across c...
Introducing github.com/open-cluster-management – How to deliver apps across c...
 
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCDDevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
 
Open stack and k8s(v4)
Open stack and k8s(v4)Open stack and k8s(v4)
Open stack and k8s(v4)
 
Solr Lucene Revolution 2014 - Solr Compute Cloud - Nitin
Solr Lucene Revolution 2014 - Solr Compute Cloud - NitinSolr Lucene Revolution 2014 - Solr Compute Cloud - Nitin
Solr Lucene Revolution 2014 - Solr Compute Cloud - Nitin
 
Operationalizing Amazon EKS
Operationalizing Amazon EKSOperationalizing Amazon EKS
Operationalizing Amazon EKS
 
Cloud Native ClickHouse at Scale--Using the Altinity Kubernetes Operator-2022...
Cloud Native ClickHouse at Scale--Using the Altinity Kubernetes Operator-2022...Cloud Native ClickHouse at Scale--Using the Altinity Kubernetes Operator-2022...
Cloud Native ClickHouse at Scale--Using the Altinity Kubernetes Operator-2022...
 
Kubernetes Monitoring & Best Practices
Kubernetes Monitoring & Best PracticesKubernetes Monitoring & Best Practices
Kubernetes Monitoring & Best Practices
 
Solr Compute Cloud - An Elastic SolrCloud Infrastructure
Solr Compute Cloud - An Elastic SolrCloud Infrastructure Solr Compute Cloud - An Elastic SolrCloud Infrastructure
Solr Compute Cloud - An Elastic SolrCloud Infrastructure
 
From Code to Kubernetes
From Code to KubernetesFrom Code to Kubernetes
From Code to Kubernetes
 
[RightScale Webinar] Architecting Databases in the cloud: How RightScale Doe...
[RightScale Webinar] Architecting Databases in the cloud:  How RightScale Doe...[RightScale Webinar] Architecting Databases in the cloud:  How RightScale Doe...
[RightScale Webinar] Architecting Databases in the cloud: How RightScale Doe...
 
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster RecoveryStop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
 
Unclouding Container Challenges
 Unclouding  Container Challenges Unclouding  Container Challenges
Unclouding Container Challenges
 
Kubernetes Administration from Zero to Hero.pdf
Kubernetes Administration from Zero to Hero.pdfKubernetes Administration from Zero to Hero.pdf
Kubernetes Administration from Zero to Hero.pdf
 
Getting Started with Docker on AWS
Getting Started with Docker on AWSGetting Started with Docker on AWS
Getting Started with Docker on AWS
 
微服務與 Docker 深入探討
微服務與 Docker 深入探討微服務與 Docker 深入探討
微服務與 Docker 深入探討
 
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
 

Recently uploaded

LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 

Recently uploaded (20)

LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 

Autoscaling with magnum and senlin

  • 1. 1 Exploring Magnum and Senlin integration for autoscaling containers Hongbin Lu (Huawei) Jay Lau, Ton Ngo (IBM) Qiming Teng, Julio Ruano (IBM) Exploring Magnum and Senlin integration
  • 2. Contributors Exploring Magnum and Senlin integration2 Zilian Ji, Linjuan Xia, Shijia E, Peiyu Lin, Tianyuan Zhuang, Ji Jiang, Yongkui Wang
  • 3. Talk Outline 1. Use cases 2. Magnum 3. Senlin 4. How it works 5. Demo Exploring Magnum and Senlin integration3
  • 4. Use cases Exploring Magnum and Senlin integration4
  • 5. Use case • Shared COE cluster – Autoscale on some policies (utilization, etc.) – Scale number of nodes • Multiple apps on cluster – Autoscale on some policies (request rate, etc.) – Scale number of containers • Example: – 2, 3-tiered web apps: handle requests – SLA determines policy Exploring Magnum and Senlin integration5
  • 6. Scaling scenarios (1) Exploring Magnum and Senlin integration6 node c c c node c cc node c scale app scale cluster Single app on cluster • scale out containers as needed • scale cluster by utilization • coordination = utilization
  • 7. Scaling scenarios (2) Exploring Magnum and Senlin integration7 node c node c c node c c c c scale 2 apps Two apps on cluster • scale out containers as needed • scale cluster by utilization • coordination = utilization scale cluster unlimited scale cluster limited
  • 8. Scaling scenarios (3) Exploring Magnum and Senlin integration8 node c c node scale 2 apps scale cluster limited c node c c c c c c Two apps on cluster, limited cluster size • blue scales first, retains containers • red scales later, fails • maybe acceptable • what if red is critical and blue is not • inverted priority: blue < red
  • 9. Scaling scenarios (4) Exploring Magnum and Senlin integration9 node c c scale 2 apps Limit on apps • Place max on blue • blue scales, red does not scale • cannot use full resources scale cluster limited c nodenode c limited
  • 10. Scaling scenarios (5) Exploring Magnum and Senlin integration10 node c c node scale 2 apps scale cluster limited c node c c c c c cc c c c Priority on apps • blue scales first, red scales later • blue scales back to free up resource for red • 2 ways linkage: container cluster host cluster
  • 11. Magnum Exploring Magnum and Senlin integration11
  • 12. Instance Magnum Overview Exploring Magnum and Senlin integration12 • Provision • Kubernetes • Docker Swarm • Mesos • Scale • Add instances • Remove instances • Manage • Pod • Service • Replication Controller • Container Nova Instance container container Magnum CLI Magnum Heat
  • 13. Magnum Architecture Exploring Magnum and Senlin integration13
  • 14. Magnum: Autoscale Bay 1. Raw data: Magnum pulls raw data from Bays. 2. Metrics: Metrics, like memory utilization, are computed and sent them to Ceilometer. 3. Alarm: Ceilometer triggers alarms based on user-specified scenario and metrics. 4. Scale: Heat scales the bays. Exploring Magnum and Senlin integration14 Ceilometer Magnum Heat Bay 1) Raw data 2) Metrics 3) Alarm 4) Scale
  • 15. Kubernetes: Autoscale Pod 1. Metrics: The autoscaler periodically queries pods’ metrics. 2. Scale: Based on collected metrics, the autoscaler uses a built-in algorithm to trigger the scaling. 3. Resize: Replication Controller resize the pods. Exploring Magnum and Senlin integration15 Horizontal Pod Autoscaler Pods 1) Metrics 3) Resize Replication Controller 2) Scale
  • 16. Future direction • Magnum AutoScaler – A new component in Magnum • Scaling Bays • Scaling Applications – Interacts with AutoScaler from COEs • Kubernetes AutoScaler as a driver for container-level scaling • Magnum responsible for scaling RCs without Kubernetes autoscaler – Customizability • data sources • metrics and thresholds • standby bay nodes (i.e. resource pool) Exploring Magnum and Senlin integration16
  • 17. Two-Levels of AutoScaling Exploring Magnum and Senlin integration17 Working K8S Bay NodeNode K8S Master Heapster Kublet cAdvisor Kublet cAdvisor Storage Backend RC AutoScaler Pod Magnum AutoScaler Service K8S Driver Collector Analyzer Operator Swarm Driver Mesos Driver Senlin Magnum Conductor Standby
  • 18. Senlin Exploring Magnum and Senlin integration18
  • 19. Clustering - A Missing Service in OpenStack Exploring Magnum and Senlin integration19 Scalable Load-Balanced Highly-Available Manageable ...... of any (OpenStack) objects
  • 20. Senlin Architecture Exploring Magnum and Senlin integration20 REST RPC Senlin Database Policies Profiles
  • 21. Clustering/AutoScaling/LoadBalancing Exploring Magnum and Senlin integration21 Nova Kubernetes Heat Ironic BareMetal VMs Stacks Containers Senlin placement deletion scaling health load-balance batching
  • 22. Scaling A Cluster using Senlin Exploring Magnum and Senlin integration22 type: os.nova.server version: 1.0 properties: image: fedora-21 flavor: 3 networks: - network: private userdata: ... Profile Cluster type: senlin.policy.scaling version: 1.0 properties: event: CLUSTER_SCALE_IN adjustment: type: CHANGE_IN_CAPACITY number: 1 min_step: 1 best_effort: True attach Policy type: senlin.policy.scaling version: 1.0 properties: event: CLUSTER_SCALE_OUT adjustment: . . . attach Policy webhook RESIZE
  • 23. Policies Exploring Magnum and Senlin integration23 type: senlin.policy.scaling version: 1.0 properties: adjustment: min_step: 1 best_effort: true number: 1 type: CHANGE_IN_CAPACITY event: CLUSTER_SCALE_OUT • Declarative • Can be mapped to from a standard • Example: SUR_Cluster (Add k8s Minion / Add Spark worker node)
  • 24. Trigger Exploring Magnum and Senlin integration24 type: CeilometerThresholdAlarm version: 1.0 rule: meter_name: memory_util comparison_operator: gt threshold: 70 period: 60 evaluation_periods: 1 statistic: avg query: - field: resource_metadata.cluster op: eq value: SUR_Cluster • Generic abstraction • alarms in OpenStack monitoring services • e.g. Ceilometer Alarm
  • 25. How it works Exploring Magnum and Senlin integration25
  • 26. Design goals 1. Coordinate scaling at apps and cluster level • Control flows in both direction • Apps -> Cluster: utilization, other methods • Cluster -> Apps: priority, other methods 2. Integrate scaling support from COE if available • Kubernetes autoscaler 3. Policy driven • Easy to express, manage complex cases Exploring Magnum and Senlin integration26
  • 27. template Outer Stack Autoscaling: OpenStack-Only Solution (Today) 27 Exploring Magnum and Senlin integration AutoScalingGroup Stack Heat Ceilometer AH PUp PDn AL ASGS1 S2 S3 update ASG
  • 28. Senlin profile Autoscaling: OpenStack-Only Solution (New) 28 Exploring Magnum and Senlin integration Cluster Ceilometer AH PUp PDn AL SCALE_IN SCALE_OUT Node1 Node2 Node3 webhookspolicies triggers
  • 29. Demo Exploring Magnum and Senlin integration29
  • 30. Autoscaling with Kubernetes 30 Exploring Magnum and Senlin integration VMs K8S Bay NodeNode Heapster Kublet cAdvisor Kublet cAdvisor Pod Senlin Magnum profile CeilometerWorkload policy
  • 31. Questions Exploring Magnum and Senlin integration31
  • 32. Thank You Exploring Magnum and Senlin integration32