SlideShare a Scribd company logo
1 of 34
Download to read offline
L.T.H.
Automating	auto-scaled	load	balancer	
based	on	linux and
vm orchestrator
Andrew Yongjoon Kong
Base network model for the VM infrastructure
32bit subnet, VRF, BGP and single NIC ( Introduced Tokyo 2016)
kakao
eth0
Compute node
nova-compute
neutron-
linuxbridge-
agent
neutron-dhcp-
agent
Gateway
10.10.100.1
linux bridge
vm
IP:10.10.100.2/32
Routing Table
1 10.10.100.2/32 via 192.1.1.201
BGP
192.1.1.202 BGP
Virtual Switch block
Process block
vlan.60
vlan.0
Virtual Router
Service Route Table
1
192.1.1.202
What we solved?
Compute node2
nova-compute
neutron-
linuxbridge-agent
neutron-dhcp-agentlinux bridge
Switch Namespace
global name space
Compute node1
nova-compute
neutron-
linuxbridge-agent
neutron-dhcp-agentlinux bridge
Switch Namespace
global name space
AZ1
Compute node2
nova-compute
neutron-
linuxbridge-agent
neutron-dhcp-agentlinux bridge
Switch Namespace
global name space
Compute node1
nova-compute
neutron-
linuxbridge-agent
neutron-dhcp-agentlinux bridge
Switch Namespace
global name space
AZ2
Compute node2
nova-compute
neutron-
linuxbridge-agent
neutron-dhcp-agentlinux bridge
Switch Namespace
global name space
Compute node1
nova-compute
neutron-
linuxbridge-agent
neutron-dhcp-agentlinux bridge
Switch Namespace
global name space
AZ3
tor1 tor2 tor3
vm10.10.100.2/32
Routing Table
1 10.100.10.2/32 via tor1
rt1
rt2
Routing Table
1 10.100.10.2/32 via RT1
rt3
rt4
rt5
rt6
Routing Table
1 10.100.10.2/32 via RT3
Routing Table
1 10.100.10.2/32 via tor2
What we solve?
Simple IP planning
– only IP ranges matter. (no more VLAN, IP subnet, Router planning)
Resource imbalancing
– No chance of IP imbalancing.
Fault Resilience
– If one router gone, it propagated by Dynamic routing protocol to other router
Distributed
– deciding routing path is very distributed. No single point of failure.
– scale out nature.
1563projects
632
pull request since 2014.9
88about
VMs are created/deleted per day
8703
vms
2,xxxprojects
913
pull request since 2014.9
100about
VMs are created/deleted per day
20,xxx
vms
2016.8 2017.11
1xx,xxx active cores
The Result is Stunning
The Dev to Prod Ratio
What is container?
¡ Container comprises multiple namespaces
¡ Standardized resource
¡ Brick or Lego of Process
kakaoNetdevconf
Typical container orchestrator’s network
¡ Nothing different from anything, In terms of
Networking
l But if you don’t prepare or just listen to developers
requirement, it’s getting different and difficult!
l Now, you need to understand, what is the container
kakaoNetdevconf
Scalable container network: Kakao’s case
¡ Have to deal with those when you try to use overlay.
l Have to re-think about performance
l Have to think about fault-resiliency, and migration issues.
l Still consider how send the packet out of the system.
kakaoNetdevconf
Scalable container network: Kakao’s case, cont.
l Use node port and Load balancer
¡ It’s very easy.
¡ Had issue with scalability node port has limited port range.
¡ Only have 5digits number of containers
¡ Load balancer is expensive.
kakaoNetdevconf
Scalable container network: Kakao’s case, cont.
l Use routable container bridge subnet and bgp injector
¡ Predefine subnet for each containers bridge router
¡ Have to provision before resource depleted.
Route
Injector
BGP
Router
Cluster
Container
Node1
subnet1 subnet2 subnet3
Container
Node2
Container
Node3
Application of /32bit network: /32bit route + DNAT
Ă  1:1 NAT (A.K.A FloatingIP )
eth1
Compute node1
linux bridge
vm
IP:10.10.100.2/32
192.1.1.201
Routing Table
Default GW 192.168.1.1 eth1
Host Route dest 10.10.100.2/32
to 10.10.100.1
connected dest 192.168.100.2
Routing Table
1 10.10.100.2/32 via 192.1.1.201
2 10.10.100.3/32 via 192.168.1.202
3 192.168.100.2/32 via
192.168.1.201
192.1.1.202
Switch
Namespace
global name
space
IPTable
DNAT Dest 192.168.100.2 is forwarded to 10.
10.100.2
Compute	Node	Router
Application of /32bit network: ECMP + DNAT
Ă  Scalable Loadbalancer
eth1
Compute node1
linux bridge
LB
IP:10.10.100.2/32
192.1.1.201
Routing Table
Default GW 192.168.1.1 eth1
Host Route dest 10.10.100.2/32
to 10.10.100.1
connected dest 192.168.100.2
192.1.1.202
Switch
Namespace
global name
space
IPTable
DNAT Dest 192.168.100.2 is forwarded to 10.
10.100.2
Compute	Node	Router
eth1
Compute node2
linux bridge
LB
IP:10.10.100.3/3
2
192.1.1.202
Routing Table
Default GW 192.168.1.1 eth1
Host Route dest 10.10.100.3/32
to 10.10.100.1
connected dest 192.168.100.2
Switch
Namespace
global name
space
IPTable
DNAT Dest 192.168.100.2 is forwarded to 10.
10.100.3
Compute	Node	Router
TOR1 TOR2
Aggregation	
VIP: 192.168.100.2 is ECMPed
Application of /32bit network:
Multiple Routing Entry ( AKA, Fixed IPs) + Container Bridge Network
Ă  Scalable Container Network
eth1
Compute node1
linux bridge
IP:10.10.100.2/32
192.1.1.201
Routing Table
Default GW 192.168.1.1 eth1
Host Route dest 10.10.100.3~33/32
to 10.10.100.1
Routing Table
1 10.10.100.3~33/32 via 192.168.1.201
192.1.1.202
Switch
Namespace
global name
space
Compute	Node	Router
vm linux bridge
Container Container
Routable	IP	to	Container:
• Can	use	legacy	IP	base	Monitoring
• No	Overlay	(	No	complexity	)
Auto Scaleout Loadbalancer Design Requirements
1. Create/Delete Software Loadbalancer with API
2. The API should have compatibility with inhouse cloud (KRANE, openstack based)
3. Loadbalancers cluster log and metric can be gathered by inhouse measuring cloud.
4. Loadbalancers cluster should have same entering IP
5. Loadbalancers cluster should check each other’s state automatically
Auto Scaleout Loadbalancer Model I (1)
1. It’s starting from neutron floating IP
2. It’s mixed with BGP advertise option (connected),
virtual IP and IPtables
eth1
Compute node1
linux bridge
vm
IP:10.10.100.2/32
192.1.1.201
Routing Table
Default GW 192.168.1.1 eth1
Host Route dest 10.10.100.2/32
to 10.10.100.1
connected dest 192.168.100.2
Routing Table
1 10.10.100.2/32 via 192.1.1.201
2 10.10.100.3/32 via 192.168.1.202
3 192.168.100.2/32 via 192.168.1.201
192.1.1.202
Switch
Namespace
global name
space
IPTable
DNAT Dest 192.168.100.2 is for
warded to 10.10.100.2
Compute	Node	Router
Veth pair
Gateway 10.10.100.1
neutron-
linuxbridge-agent
neutron-dhcp-agent
neutron-l3-agent
Host Rout
e
dest 10.10.100.2/32
to 10.10.100.1
New IP 192.168.100.2
connected dest 192.168.100.2
Neutron Floating IP
Auto Scaleout Loadbalancer Model I (2)
Basic scenario is " install haproxy to VM, attach floating IP, grouping it and double it”
haproxy
attach	
floating	ip
grouping double
Auto Scaleout Loadbalancer Model I (3)
Basic scenario is " install haproxy to VM, attach floating IP, grouping it and double it”
eth1
Compute node1
linux bridge
vm
IP:10.10.100.2/32
192.1.1.201
Routing Table
Default GW 192.168.1.1 eth1
Host Route dest 10.10.100.2/32
to 10.10.100.1
connected dest 192.168.100.2
Routing Table
1 10.10.100.2/32 via 192.1.1.201
2 10.10.100.3/32 via 192.168.1.202
3 192.168.100.2/32 via 192.168.1.201, 192.1
68.1.202
192.1.1.202
Switch
Namespace
global name
space
IPTable
DNAT Dest 192.168.100.2 is for
warded to 10.10.100.2
Compute	Node	Router
Veth pair
Gateway 10.10.100.1
neutron-
linuxbridge-agent
neutron-dhcp-agent
neutron-l3-agent
Host Rout
e
dest 10.10.100.2/32
to 10.10.100.1
New IP 192.168.100.2
connected dest 192.168.100.2
Neutron Floating IP
eth1
Compute node1
linux bridge
vm
IP:10.10.100.3/32
Routing Table
Default GW 192.168.1.1 eth1
Host Route dest 10.10.100.3/32
to 10.10.100.1
connected dest 192.168.100.2
Switch
Namespace
global name
space
IPTable
DNAT Dest 192.168.100.2 is for
warded to 10.10.100.2
Compute	Node	Router
Veth pair
Gateway 10.10.100.1
neutron-
linuxbridge-agent
neutron-dhcp-agent
neutron-l3-agent
Host Rout
e
dest 10.10.100.3/32
to 10.10.100.1
New IP 192.168.100.2
connected dest 192.168.100.2
Neutron Floating IP
192.1.1.202
CBL alpha
First thing to mention is that
“Model is one thing, Implementation is the other thing”
CBL alpha tries
First target was “Kubernetes”
1. It’s Golang based API server
2. Using ETCD for a database
3. Follow the model I (floating ip based ECMP)
4. Support scale in / out api
5. SNMP support for the haproxy status ( the metric can be pulled by central event system)
6. It’s working
CBL alpha
First target was “Kubernetes”
1. Using Kubernetes event stream as triggering source
2. For approach from external, kubernetes have to have loadblancer for container
3. In alpha stage, k8s(from legacy container candidate) is dropped (OMG)
etcd	
CBL		
(API	
server)	
kubernetes	
VM	
LB	
CBL	
cloudprovider	
POD	 POD	
Kubernetes	nodes	
Openstack	
VM
CBL alpha
Next target was “Integrating with Openstack Loadbalancer API”
1. Openstack has its own resource management cycle with loadbalancer
2. Now, CBL support pool management, vip management, member management
3. BTW, where is floating IP?
– I used VIP ip address for the floating IP resource and attaching it to the VM
– But from openstack perspective, floating IP also can be attached to VIP (What?)
4. What if just forget about Openstack?
– Openstack is company’s legacy cloud.
– I don’t want to recreate the new cloud
CBL alpha
Except for the Floating IP issues, There are Other considerations
1. There’s no LB scale out API in openstack
– I implemented this by scale-in/out when ’8.8.8.8’ backend members added and deleted
– But you cannot add more than 2 backend with the same ip address in openstack
– so scale in/out should be done in real automatic way
2. SSL off loading should be added.
3. LB cluster membership management should be added to CBL
4. I can’t do everything from server api to client sdk and module
CBL Beta
Giving up the floating IP based ECMP, Multi NIC based ECMP
1. The good thing about the floating IP approach is that you don’t need to care about
anything inside of the vm. But you can’t do this with openstack.
2. Changed Multi NIC based Design
– There’s changes over Base model
– have changes on haproxy VM in terms of network model
Auto Scaleout Loadbalancer Model II
• Multi NIC for VM model doesn’t seem change much. but it radically changes
everything
eth1
Compute node1
linux bridge
LB
vm
IP:10.10.100.2/32
192.1.1.201
Routing Table
Default GW 192.168.1.1 eth1
Host Route dest 10.10.100.2/32
to 10.10.100.1
dest 192.168.100.2 to
10.10.100.1
connected
192.1.1.202
Switch
Namespace
global name
space
IPTable
DNAT empty
Compute	Node	Router
Veth pair
Gateway 10.10.100.1
neutron-
linuxbridge-agent
neutron-dhcp-agent
neutron-l3-agent
Host
Route
dest 10.10.100.2/32 to 10.10.100.1
dest 192.168.100.2 to 10.10.100.1
connected empty
Neutron Floating IP
LB	vm
10.10.100.2
dhclient
deactivate
vm agent
eth0 eth1
VIP192.168.100.2
CBL beta – using vm orchestrator
• CBL alpha is based on inhouse code
• It maintains by One and Only
• SDKs for Every Cloud driver
• API and API engine/worker
• UI
• Using Inhouse vm orchestrator instead
• Inhouse Cloud Now supports Openstack Heat
CBL beta – Based on VM orchestrator (openstack HEAT)
• Heat provides Template (HOT & AWS CFN)
• Heat provides Resource (as resource plug-in) like instance, volume, networking
• Heat provides Stack ,
• 1 stack == several resources
• Heat provides Auto-scaling
• you don’t need to write code for auto-scaling
• Heat provides Software-Deployment
• you don’t need to write code for deployment
• How to configure the cloud application?
• Heat provides Events
• you don’t need to write code for track the progress of life-cycle
CBL beta – Based on VM orchestrator (openstack HEAT)
• Heat provides Template (HOT & AWS CFN)
• Heat provides Resource (as resource plug-in) like instance, volume, networking
• Heat provides Stack ,
• 1 stack == several resources
• Heat provides Auto-scaling
• you don’t need to write code for auto-scaling
• Heat provides Software-Deployment
• you don’t need to write code for deployment
• How to configure the cloud application?
• Heat provides Events
• you don’t need to write code for track the progress of life-cycle
CBL beta – Based on VM orchestrator (openstack HEAT) II
Templates Heat-API AMPQ
Heat-Engine-1
DB
Heat-Engine-2
Heat-Engine-3
Stack-1
Stack-2
CBL beta – Based on VM orchestrator (openstack HEAT) II
heat_template_version: 2015-04-15
description: >
parameters:
resources:
my_instance:
….
my_scalingroup:
….
outputs:
ecmpip:
Heat-API
output:
• LB	IP	
• scale	in	url
• scale	out	url
CBL beta – Based on VM orchestrator (openstack HEAT) III
• With VM orchestrator, You can have the triggering end points. All that matter is How
you trigger!
• Kakao has inhouse metric information system called KEMI
eth1
Compute node1
linux bridge
LB
vm
IP:10.10.100.2/32
192.1.1.201
Routing Table
Default GW 192.168.1.1 eth1
Host Route dest 10.10.100.2/32
to 10.10.100.1
dest 192.168.100.2 to
10.10.100.1
connected
192.1.1.202
Switch
Namespace
global name
space
IPTable
DNAT empty
Compute	Node	Router
Veth pair
Gateway 10.10.100.1
neutron-
linuxbridge-agent
neutron-dhcp-agent
neutron-l3-agent
Host
Route
dest 10.10.100.2/32 to 10.10.100.1
dest 192.168.100.2 to 10.10.100.1
connected empty
Neutron Floating IP
LB	vm
10.10.100.2
dhclient
deactivate
vm agent
eth0 eth1
VIP192.168.100.2
CBL beta – Based on VM orchestrator (openstack HEAT) & KEMI
• From KEMI, We can setup the alarm condition and notification for each VM and serivce
group
heat_template_version: 2015-04-15
description: >
parameters:
resources:
my_instance:
….
my_scalingroup:
….
outputs:
ecmpip:
Heat-API
output:
• LB	IP	
• scale	in	url
• scale	out	url
KEMI:
• alarm	triggering
CBL beta – Based on VM orchestrator (openstack HEAT) & KEMI
• From Performance Point of view Nothing Changed From CBL Alpha to Beta
• But From Developing Cost, It has dramatic savings and progress
• The CBL engine code is from 4404 line to 446 line (1/10)
• After model changes, I used three day to change engine
• IF you have a good Cloud, It’s very easy to make new network function
Q&A
Thanks

More Related Content

What's hot

Performance Benchmarking of Clouds Evaluating OpenStack
Performance Benchmarking of Clouds                Evaluating OpenStackPerformance Benchmarking of Clouds                Evaluating OpenStack
Performance Benchmarking of Clouds Evaluating OpenStackPradeep Kumar
 
Suning OpenStack Cloud and Heat
Suning OpenStack Cloud and HeatSuning OpenStack Cloud and Heat
Suning OpenStack Cloud and HeatQiming Teng
 
Deploy an Elastic, Resilient, Load-Balanced Cluster in 5 Minutes with Senlin
Deploy an Elastic, Resilient, Load-Balanced Cluster in 5 Minutes with SenlinDeploy an Elastic, Resilient, Load-Balanced Cluster in 5 Minutes with Senlin
Deploy an Elastic, Resilient, Load-Balanced Cluster in 5 Minutes with SenlinQiming Teng
 
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 libertyAndy Mauer
 
Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...
Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...
Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...Chris Fregly
 
Using commercial Clouds to process IceCube jobs
Using commercial Clouds to process IceCube jobsUsing commercial Clouds to process IceCube jobs
Using commercial Clouds to process IceCube jobsIgor Sfiligoi
 
Using A100 MIG to Scale Astronomy Scientific Output
Using A100 MIG to Scale Astronomy Scientific OutputUsing A100 MIG to Scale Astronomy Scientific Output
Using A100 MIG to Scale Astronomy Scientific OutputIgor Sfiligoi
 
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...Spark Summit
 
CPN302 your-linux-ami-optimization-and-performance
CPN302 your-linux-ami-optimization-and-performanceCPN302 your-linux-ami-optimization-and-performance
CPN302 your-linux-ami-optimization-and-performanceCoburn Watson
 
ELK: Moose-ively scaling your log system
ELK: Moose-ively scaling your log systemELK: Moose-ively scaling your log system
ELK: Moose-ively scaling your log systemAvleen Vig
 
(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014
(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014
(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014Amazon Web Services
 
Hive, Presto, and Spark on TPC-DS benchmark
Hive, Presto, and Spark on TPC-DS benchmarkHive, Presto, and Spark on TPC-DS benchmark
Hive, Presto, and Spark on TPC-DS benchmarkDongwon Kim
 
Autoscaling with magnum and senlin
Autoscaling with magnum and senlinAutoscaling with magnum and senlin
Autoscaling with magnum and senlinQiming Teng
 
NetflixOSS Open House Lightning talks
NetflixOSS Open House Lightning talksNetflixOSS Open House Lightning talks
NetflixOSS Open House Lightning talksRuslan Meshenberg
 
AWS re:Invent 2016: Deep Dive on Amazon EC2 Instances, Featuring Performance ...
AWS re:Invent 2016: Deep Dive on Amazon EC2 Instances, Featuring Performance ...AWS re:Invent 2016: Deep Dive on Amazon EC2 Instances, Featuring Performance ...
AWS re:Invent 2016: Deep Dive on Amazon EC2 Instances, Featuring Performance ...Amazon Web Services
 
Distributed Systems explained (with NodeJS) - Bruno Bossola, JUG Torino
Distributed Systems explained (with NodeJS) - Bruno Bossola, JUG TorinoDistributed Systems explained (with NodeJS) - Bruno Bossola, JUG Torino
Distributed Systems explained (with NodeJS) - Bruno Bossola, JUG TorinoCodemotion Tel Aviv
 
Managing Cloud networking costs for data-intensive applications by provisioni...
Managing Cloud networking costs for data-intensive applications by provisioni...Managing Cloud networking costs for data-intensive applications by provisioni...
Managing Cloud networking costs for data-intensive applications by provisioni...Igor Sfiligoi
 
April 2016 HUG: CaffeOnSpark: Distributed Deep Learning on Spark Clusters
April 2016 HUG: CaffeOnSpark: Distributed Deep Learning on Spark ClustersApril 2016 HUG: CaffeOnSpark: Distributed Deep Learning on Spark Clusters
April 2016 HUG: CaffeOnSpark: Distributed Deep Learning on Spark ClustersYahoo Developer Network
 
Apache Gobblin: Bridging Batch and Streaming Data Integration. Big Data Meetu...
Apache Gobblin: Bridging Batch and Streaming Data Integration. Big Data Meetu...Apache Gobblin: Bridging Batch and Streaming Data Integration. Big Data Meetu...
Apache Gobblin: Bridging Batch and Streaming Data Integration. Big Data Meetu...Shirshanka Das
 
Best Practices for Genomic and Bioinformatics Analysis Pipelines on AWS
Best Practices for Genomic and Bioinformatics Analysis Pipelines on AWS Best Practices for Genomic and Bioinformatics Analysis Pipelines on AWS
Best Practices for Genomic and Bioinformatics Analysis Pipelines on AWS Amazon Web Services
 

What's hot (20)

Performance Benchmarking of Clouds Evaluating OpenStack
Performance Benchmarking of Clouds                Evaluating OpenStackPerformance Benchmarking of Clouds                Evaluating OpenStack
Performance Benchmarking of Clouds Evaluating OpenStack
 
Suning OpenStack Cloud and Heat
Suning OpenStack Cloud and HeatSuning OpenStack Cloud and Heat
Suning OpenStack Cloud and Heat
 
Deploy an Elastic, Resilient, Load-Balanced Cluster in 5 Minutes with Senlin
Deploy an Elastic, Resilient, Load-Balanced Cluster in 5 Minutes with SenlinDeploy an Elastic, Resilient, Load-Balanced Cluster in 5 Minutes with Senlin
Deploy an Elastic, Resilient, Load-Balanced Cluster in 5 Minutes with Senlin
 
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
 
Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...
Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...
Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...
 
Using commercial Clouds to process IceCube jobs
Using commercial Clouds to process IceCube jobsUsing commercial Clouds to process IceCube jobs
Using commercial Clouds to process IceCube jobs
 
Using A100 MIG to Scale Astronomy Scientific Output
Using A100 MIG to Scale Astronomy Scientific OutputUsing A100 MIG to Scale Astronomy Scientific Output
Using A100 MIG to Scale Astronomy Scientific Output
 
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
 
CPN302 your-linux-ami-optimization-and-performance
CPN302 your-linux-ami-optimization-and-performanceCPN302 your-linux-ami-optimization-and-performance
CPN302 your-linux-ami-optimization-and-performance
 
ELK: Moose-ively scaling your log system
ELK: Moose-ively scaling your log systemELK: Moose-ively scaling your log system
ELK: Moose-ively scaling your log system
 
(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014
(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014
(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014
 
Hive, Presto, and Spark on TPC-DS benchmark
Hive, Presto, and Spark on TPC-DS benchmarkHive, Presto, and Spark on TPC-DS benchmark
Hive, Presto, and Spark on TPC-DS benchmark
 
Autoscaling with magnum and senlin
Autoscaling with magnum and senlinAutoscaling with magnum and senlin
Autoscaling with magnum and senlin
 
NetflixOSS Open House Lightning talks
NetflixOSS Open House Lightning talksNetflixOSS Open House Lightning talks
NetflixOSS Open House Lightning talks
 
AWS re:Invent 2016: Deep Dive on Amazon EC2 Instances, Featuring Performance ...
AWS re:Invent 2016: Deep Dive on Amazon EC2 Instances, Featuring Performance ...AWS re:Invent 2016: Deep Dive on Amazon EC2 Instances, Featuring Performance ...
AWS re:Invent 2016: Deep Dive on Amazon EC2 Instances, Featuring Performance ...
 
Distributed Systems explained (with NodeJS) - Bruno Bossola, JUG Torino
Distributed Systems explained (with NodeJS) - Bruno Bossola, JUG TorinoDistributed Systems explained (with NodeJS) - Bruno Bossola, JUG Torino
Distributed Systems explained (with NodeJS) - Bruno Bossola, JUG Torino
 
Managing Cloud networking costs for data-intensive applications by provisioni...
Managing Cloud networking costs for data-intensive applications by provisioni...Managing Cloud networking costs for data-intensive applications by provisioni...
Managing Cloud networking costs for data-intensive applications by provisioni...
 
April 2016 HUG: CaffeOnSpark: Distributed Deep Learning on Spark Clusters
April 2016 HUG: CaffeOnSpark: Distributed Deep Learning on Spark ClustersApril 2016 HUG: CaffeOnSpark: Distributed Deep Learning on Spark Clusters
April 2016 HUG: CaffeOnSpark: Distributed Deep Learning on Spark Clusters
 
Apache Gobblin: Bridging Batch and Streaming Data Integration. Big Data Meetu...
Apache Gobblin: Bridging Batch and Streaming Data Integration. Big Data Meetu...Apache Gobblin: Bridging Batch and Streaming Data Integration. Big Data Meetu...
Apache Gobblin: Bridging Batch and Streaming Data Integration. Big Data Meetu...
 
Best Practices for Genomic and Bioinformatics Analysis Pipelines on AWS
Best Practices for Genomic and Bioinformatics Analysis Pipelines on AWS Best Practices for Genomic and Bioinformatics Analysis Pipelines on AWS
Best Practices for Genomic and Bioinformatics Analysis Pipelines on AWS
 

Similar to Automating auto-scaled load balancer based on linux and vm orchestrator

Packet Walk(s) In Kubernetes
Packet Walk(s) In KubernetesPacket Walk(s) In Kubernetes
Packet Walk(s) In KubernetesDon Jayakody
 
Nynog-K8s-networking-101.pptx
Nynog-K8s-networking-101.pptxNynog-K8s-networking-101.pptx
Nynog-K8s-networking-101.pptxDanielHertzberg4
 
Openstack openswitch basics
Openstack openswitch basicsOpenstack openswitch basics
Openstack openswitch basicsnshah061
 
Thebasicintroductionofopenvswitch
ThebasicintroductionofopenvswitchThebasicintroductionofopenvswitch
ThebasicintroductionofopenvswitchRamses Ramirez
 
Container network security
Container network securityContainer network security
Container network securityDaisuke Nakajima
 
Docker Setting for Static IP allocation
Docker Setting for Static IP allocationDocker Setting for Static IP allocation
Docker Setting for Static IP allocationJi-Woong Choi
 
Deeper dive in Docker Overlay Networks
Deeper dive in Docker Overlay NetworksDeeper dive in Docker Overlay Networks
Deeper dive in Docker Overlay NetworksLaurent Bernaille
 
Packet walks in_kubernetes-v4
Packet walks in_kubernetes-v4Packet walks in_kubernetes-v4
Packet walks in_kubernetes-v4InfraEngineer
 
Docker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined NetworksDocker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined NetworksAdrien Blind
 
Deeper Dive in Docker Overlay Networks
Deeper Dive in Docker Overlay NetworksDeeper Dive in Docker Overlay Networks
Deeper Dive in Docker Overlay NetworksDocker, Inc.
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Kubernetes networking
Kubernetes networkingKubernetes networking
Kubernetes networkingSim Janghoon
 
Meetup docker using software defined networks
Meetup docker   using software defined networksMeetup docker   using software defined networks
Meetup docker using software defined networksOCTO Technology
 
Apache Spark on K8s and HDFS Security
Apache Spark on K8s and HDFS SecurityApache Spark on K8s and HDFS Security
Apache Spark on K8s and HDFS SecurityDatabricks
 
OpenNebulaConf2018 - Scalable L2 overlay networks with routed VXLAN / BGP EVP...
OpenNebulaConf2018 - Scalable L2 overlay networks with routed VXLAN / BGP EVP...OpenNebulaConf2018 - Scalable L2 overlay networks with routed VXLAN / BGP EVP...
OpenNebulaConf2018 - Scalable L2 overlay networks with routed VXLAN / BGP EVP...OpenNebula Project
 
"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016Phil Estes
 
VoiceBootcamp Ccnp collaboration lab guide v1.0 sample
VoiceBootcamp Ccnp collaboration lab guide v1.0 sampleVoiceBootcamp Ccnp collaboration lab guide v1.0 sample
VoiceBootcamp Ccnp collaboration lab guide v1.0 sampleFaisal Khan
 
Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Andriy Berestovskyy
 

Similar to Automating auto-scaled load balancer based on linux and vm orchestrator (20)

Packet Walk(s) In Kubernetes
Packet Walk(s) In KubernetesPacket Walk(s) In Kubernetes
Packet Walk(s) In Kubernetes
 
Nynog-K8s-networking-101.pptx
Nynog-K8s-networking-101.pptxNynog-K8s-networking-101.pptx
Nynog-K8s-networking-101.pptx
 
Openstack openswitch basics
Openstack openswitch basicsOpenstack openswitch basics
Openstack openswitch basics
 
Thebasicintroductionofopenvswitch
ThebasicintroductionofopenvswitchThebasicintroductionofopenvswitch
Thebasicintroductionofopenvswitch
 
Container network security
Container network securityContainer network security
Container network security
 
Docker Setting for Static IP allocation
Docker Setting for Static IP allocationDocker Setting for Static IP allocation
Docker Setting for Static IP allocation
 
Linux router
Linux routerLinux router
Linux router
 
Deeper dive in Docker Overlay Networks
Deeper dive in Docker Overlay NetworksDeeper dive in Docker Overlay Networks
Deeper dive in Docker Overlay Networks
 
Packet walks in_kubernetes-v4
Packet walks in_kubernetes-v4Packet walks in_kubernetes-v4
Packet walks in_kubernetes-v4
 
Docker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined NetworksDocker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined Networks
 
Deeper Dive in Docker Overlay Networks
Deeper Dive in Docker Overlay NetworksDeeper Dive in Docker Overlay Networks
Deeper Dive in Docker Overlay Networks
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Kubernetes networking
Kubernetes networkingKubernetes networking
Kubernetes networking
 
Meetup docker using software defined networks
Meetup docker   using software defined networksMeetup docker   using software defined networks
Meetup docker using software defined networks
 
Apache Spark on K8s and HDFS Security
Apache Spark on K8s and HDFS SecurityApache Spark on K8s and HDFS Security
Apache Spark on K8s and HDFS Security
 
OpenNebulaConf2018 - Scalable L2 overlay networks with routed VXLAN / BGP EVP...
OpenNebulaConf2018 - Scalable L2 overlay networks with routed VXLAN / BGP EVP...OpenNebulaConf2018 - Scalable L2 overlay networks with routed VXLAN / BGP EVP...
OpenNebulaConf2018 - Scalable L2 overlay networks with routed VXLAN / BGP EVP...
 
"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016
 
VoiceBootcamp Ccnp collaboration lab guide v1.0 sample
VoiceBootcamp Ccnp collaboration lab guide v1.0 sampleVoiceBootcamp Ccnp collaboration lab guide v1.0 sample
VoiceBootcamp Ccnp collaboration lab guide v1.0 sample
 
Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)
 
VXLAN with Cumulus
VXLAN with CumulusVXLAN with Cumulus
VXLAN with Cumulus
 

More from Andrew Yongjoon Kong

Nightmare with ceph : Recovery from ceph cluster total failure
Nightmare with ceph : Recovery from ceph cluster total failureNightmare with ceph : Recovery from ceph cluster total failure
Nightmare with ceph : Recovery from ceph cluster total failureAndrew Yongjoon Kong
 
Stream analysis with kafka native way and considerations about monitoring as ...
Stream analysis with kafka native way and considerations about monitoring as ...Stream analysis with kafka native way and considerations about monitoring as ...
Stream analysis with kafka native way and considerations about monitoring as ...Andrew Yongjoon Kong
 
Graph analysis platform comparison, pregel/goldenorb/giraph
Graph analysis platform comparison, pregel/goldenorb/giraphGraph analysis platform comparison, pregel/goldenorb/giraph
Graph analysis platform comparison, pregel/goldenorb/giraphAndrew Yongjoon Kong
 
Cloud data center and openstack
Cloud data center and openstackCloud data center and openstack
Cloud data center and openstackAndrew Yongjoon Kong
 

More from Andrew Yongjoon Kong (7)

Tunnel without tunnel
Tunnel without tunnelTunnel without tunnel
Tunnel without tunnel
 
Nightmare with ceph : Recovery from ceph cluster total failure
Nightmare with ceph : Recovery from ceph cluster total failureNightmare with ceph : Recovery from ceph cluster total failure
Nightmare with ceph : Recovery from ceph cluster total failure
 
Stream analysis with kafka native way and considerations about monitoring as ...
Stream analysis with kafka native way and considerations about monitoring as ...Stream analysis with kafka native way and considerations about monitoring as ...
Stream analysis with kafka native way and considerations about monitoring as ...
 
Graph analysis platform comparison, pregel/goldenorb/giraph
Graph analysis platform comparison, pregel/goldenorb/giraphGraph analysis platform comparison, pregel/goldenorb/giraph
Graph analysis platform comparison, pregel/goldenorb/giraph
 
Cloud data center and openstack
Cloud data center and openstackCloud data center and openstack
Cloud data center and openstack
 
Way to cloud
Way to cloudWay to cloud
Way to cloud
 
Openstack dev on
Openstack dev onOpenstack dev on
Openstack dev on
 

Recently uploaded

(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEslot gacor bisa pakai pulsa
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 

Recently uploaded (20)

9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 

Automating auto-scaled load balancer based on linux and vm orchestrator

  • 2. Base network model for the VM infrastructure 32bit subnet, VRF, BGP and single NIC ( Introduced Tokyo 2016) kakao eth0 Compute node nova-compute neutron- linuxbridge- agent neutron-dhcp- agent Gateway 10.10.100.1 linux bridge vm IP:10.10.100.2/32 Routing Table 1 10.10.100.2/32 via 192.1.1.201 BGP 192.1.1.202 BGP Virtual Switch block Process block vlan.60 vlan.0 Virtual Router Service Route Table 1 192.1.1.202
  • 3. What we solved? Compute node2 nova-compute neutron- linuxbridge-agent neutron-dhcp-agentlinux bridge Switch Namespace global name space Compute node1 nova-compute neutron- linuxbridge-agent neutron-dhcp-agentlinux bridge Switch Namespace global name space AZ1 Compute node2 nova-compute neutron- linuxbridge-agent neutron-dhcp-agentlinux bridge Switch Namespace global name space Compute node1 nova-compute neutron- linuxbridge-agent neutron-dhcp-agentlinux bridge Switch Namespace global name space AZ2 Compute node2 nova-compute neutron- linuxbridge-agent neutron-dhcp-agentlinux bridge Switch Namespace global name space Compute node1 nova-compute neutron- linuxbridge-agent neutron-dhcp-agentlinux bridge Switch Namespace global name space AZ3 tor1 tor2 tor3 vm10.10.100.2/32 Routing Table 1 10.100.10.2/32 via tor1 rt1 rt2 Routing Table 1 10.100.10.2/32 via RT1 rt3 rt4 rt5 rt6 Routing Table 1 10.100.10.2/32 via RT3 Routing Table 1 10.100.10.2/32 via tor2
  • 4. What we solve? Simple IP planning – only IP ranges matter. (no more VLAN, IP subnet, Router planning) Resource imbalancing – No chance of IP imbalancing. Fault Resilience – If one router gone, it propagated by Dynamic routing protocol to other router Distributed – deciding routing path is very distributed. No single point of failure. – scale out nature.
  • 5. 1563projects 632 pull request since 2014.9 88about VMs are created/deleted per day 8703 vms 2,xxxprojects 913 pull request since 2014.9 100about VMs are created/deleted per day 20,xxx vms 2016.8 2017.11 1xx,xxx active cores The Result is Stunning
  • 6. The Dev to Prod Ratio
  • 7. What is container? ¡ Container comprises multiple namespaces ¡ Standardized resource ¡ Brick or Lego of Process kakaoNetdevconf
  • 8. Typical container orchestrator’s network ¡ Nothing different from anything, In terms of Networking l But if you don’t prepare or just listen to developers requirement, it’s getting different and difficult! l Now, you need to understand, what is the container kakaoNetdevconf
  • 9. Scalable container network: Kakao’s case ¡ Have to deal with those when you try to use overlay. l Have to re-think about performance l Have to think about fault-resiliency, and migration issues. l Still consider how send the packet out of the system. kakaoNetdevconf
  • 10. Scalable container network: Kakao’s case, cont. l Use node port and Load balancer ¡ It’s very easy. ¡ Had issue with scalability node port has limited port range. ¡ Only have 5digits number of containers ¡ Load balancer is expensive. kakaoNetdevconf
  • 11. Scalable container network: Kakao’s case, cont. l Use routable container bridge subnet and bgp injector ¡ Predefine subnet for each containers bridge router ¡ Have to provision before resource depleted. Route Injector BGP Router Cluster Container Node1 subnet1 subnet2 subnet3 Container Node2 Container Node3
  • 12. Application of /32bit network: /32bit route + DNAT Ă  1:1 NAT (A.K.A FloatingIP ) eth1 Compute node1 linux bridge vm IP:10.10.100.2/32 192.1.1.201 Routing Table Default GW 192.168.1.1 eth1 Host Route dest 10.10.100.2/32 to 10.10.100.1 connected dest 192.168.100.2 Routing Table 1 10.10.100.2/32 via 192.1.1.201 2 10.10.100.3/32 via 192.168.1.202 3 192.168.100.2/32 via 192.168.1.201 192.1.1.202 Switch Namespace global name space IPTable DNAT Dest 192.168.100.2 is forwarded to 10. 10.100.2 Compute Node Router
  • 13. Application of /32bit network: ECMP + DNAT Ă  Scalable Loadbalancer eth1 Compute node1 linux bridge LB IP:10.10.100.2/32 192.1.1.201 Routing Table Default GW 192.168.1.1 eth1 Host Route dest 10.10.100.2/32 to 10.10.100.1 connected dest 192.168.100.2 192.1.1.202 Switch Namespace global name space IPTable DNAT Dest 192.168.100.2 is forwarded to 10. 10.100.2 Compute Node Router eth1 Compute node2 linux bridge LB IP:10.10.100.3/3 2 192.1.1.202 Routing Table Default GW 192.168.1.1 eth1 Host Route dest 10.10.100.3/32 to 10.10.100.1 connected dest 192.168.100.2 Switch Namespace global name space IPTable DNAT Dest 192.168.100.2 is forwarded to 10. 10.100.3 Compute Node Router TOR1 TOR2 Aggregation VIP: 192.168.100.2 is ECMPed
  • 14. Application of /32bit network: Multiple Routing Entry ( AKA, Fixed IPs) + Container Bridge Network Ă  Scalable Container Network eth1 Compute node1 linux bridge IP:10.10.100.2/32 192.1.1.201 Routing Table Default GW 192.168.1.1 eth1 Host Route dest 10.10.100.3~33/32 to 10.10.100.1 Routing Table 1 10.10.100.3~33/32 via 192.168.1.201 192.1.1.202 Switch Namespace global name space Compute Node Router vm linux bridge Container Container Routable IP to Container: • Can use legacy IP base Monitoring • No Overlay ( No complexity )
  • 15. Auto Scaleout Loadbalancer Design Requirements 1. Create/Delete Software Loadbalancer with API 2. The API should have compatibility with inhouse cloud (KRANE, openstack based) 3. Loadbalancers cluster log and metric can be gathered by inhouse measuring cloud. 4. Loadbalancers cluster should have same entering IP 5. Loadbalancers cluster should check each other’s state automatically
  • 16. Auto Scaleout Loadbalancer Model I (1) 1. It’s starting from neutron floating IP 2. It’s mixed with BGP advertise option (connected), virtual IP and IPtables eth1 Compute node1 linux bridge vm IP:10.10.100.2/32 192.1.1.201 Routing Table Default GW 192.168.1.1 eth1 Host Route dest 10.10.100.2/32 to 10.10.100.1 connected dest 192.168.100.2 Routing Table 1 10.10.100.2/32 via 192.1.1.201 2 10.10.100.3/32 via 192.168.1.202 3 192.168.100.2/32 via 192.168.1.201 192.1.1.202 Switch Namespace global name space IPTable DNAT Dest 192.168.100.2 is for warded to 10.10.100.2 Compute Node Router Veth pair Gateway 10.10.100.1 neutron- linuxbridge-agent neutron-dhcp-agent neutron-l3-agent Host Rout e dest 10.10.100.2/32 to 10.10.100.1 New IP 192.168.100.2 connected dest 192.168.100.2 Neutron Floating IP
  • 17. Auto Scaleout Loadbalancer Model I (2) Basic scenario is " install haproxy to VM, attach floating IP, grouping it and double it” haproxy attach floating ip grouping double
  • 18. Auto Scaleout Loadbalancer Model I (3) Basic scenario is " install haproxy to VM, attach floating IP, grouping it and double it” eth1 Compute node1 linux bridge vm IP:10.10.100.2/32 192.1.1.201 Routing Table Default GW 192.168.1.1 eth1 Host Route dest 10.10.100.2/32 to 10.10.100.1 connected dest 192.168.100.2 Routing Table 1 10.10.100.2/32 via 192.1.1.201 2 10.10.100.3/32 via 192.168.1.202 3 192.168.100.2/32 via 192.168.1.201, 192.1 68.1.202 192.1.1.202 Switch Namespace global name space IPTable DNAT Dest 192.168.100.2 is for warded to 10.10.100.2 Compute Node Router Veth pair Gateway 10.10.100.1 neutron- linuxbridge-agent neutron-dhcp-agent neutron-l3-agent Host Rout e dest 10.10.100.2/32 to 10.10.100.1 New IP 192.168.100.2 connected dest 192.168.100.2 Neutron Floating IP eth1 Compute node1 linux bridge vm IP:10.10.100.3/32 Routing Table Default GW 192.168.1.1 eth1 Host Route dest 10.10.100.3/32 to 10.10.100.1 connected dest 192.168.100.2 Switch Namespace global name space IPTable DNAT Dest 192.168.100.2 is for warded to 10.10.100.2 Compute Node Router Veth pair Gateway 10.10.100.1 neutron- linuxbridge-agent neutron-dhcp-agent neutron-l3-agent Host Rout e dest 10.10.100.3/32 to 10.10.100.1 New IP 192.168.100.2 connected dest 192.168.100.2 Neutron Floating IP 192.1.1.202
  • 19. CBL alpha First thing to mention is that “Model is one thing, Implementation is the other thing”
  • 20. CBL alpha tries First target was “Kubernetes” 1. It’s Golang based API server 2. Using ETCD for a database 3. Follow the model I (floating ip based ECMP) 4. Support scale in / out api 5. SNMP support for the haproxy status ( the metric can be pulled by central event system) 6. It’s working
  • 21. CBL alpha First target was “Kubernetes” 1. Using Kubernetes event stream as triggering source 2. For approach from external, kubernetes have to have loadblancer for container 3. In alpha stage, k8s(from legacy container candidate) is dropped (OMG) etcd CBL (API server) kubernetes VM LB CBL cloudprovider POD POD Kubernetes nodes Openstack VM
  • 22. CBL alpha Next target was “Integrating with Openstack Loadbalancer API” 1. Openstack has its own resource management cycle with loadbalancer 2. Now, CBL support pool management, vip management, member management 3. BTW, where is floating IP? – I used VIP ip address for the floating IP resource and attaching it to the VM – But from openstack perspective, floating IP also can be attached to VIP (What?) 4. What if just forget about Openstack? – Openstack is company’s legacy cloud. – I don’t want to recreate the new cloud
  • 23. CBL alpha Except for the Floating IP issues, There are Other considerations 1. There’s no LB scale out API in openstack – I implemented this by scale-in/out when ’8.8.8.8’ backend members added and deleted – But you cannot add more than 2 backend with the same ip address in openstack – so scale in/out should be done in real automatic way 2. SSL off loading should be added. 3. LB cluster membership management should be added to CBL 4. I can’t do everything from server api to client sdk and module
  • 24. CBL Beta Giving up the floating IP based ECMP, Multi NIC based ECMP 1. The good thing about the floating IP approach is that you don’t need to care about anything inside of the vm. But you can’t do this with openstack. 2. Changed Multi NIC based Design – There’s changes over Base model – have changes on haproxy VM in terms of network model
  • 25. Auto Scaleout Loadbalancer Model II • Multi NIC for VM model doesn’t seem change much. but it radically changes everything eth1 Compute node1 linux bridge LB vm IP:10.10.100.2/32 192.1.1.201 Routing Table Default GW 192.168.1.1 eth1 Host Route dest 10.10.100.2/32 to 10.10.100.1 dest 192.168.100.2 to 10.10.100.1 connected 192.1.1.202 Switch Namespace global name space IPTable DNAT empty Compute Node Router Veth pair Gateway 10.10.100.1 neutron- linuxbridge-agent neutron-dhcp-agent neutron-l3-agent Host Route dest 10.10.100.2/32 to 10.10.100.1 dest 192.168.100.2 to 10.10.100.1 connected empty Neutron Floating IP LB vm 10.10.100.2 dhclient deactivate vm agent eth0 eth1 VIP192.168.100.2
  • 26. CBL beta – using vm orchestrator • CBL alpha is based on inhouse code • It maintains by One and Only • SDKs for Every Cloud driver • API and API engine/worker • UI • Using Inhouse vm orchestrator instead • Inhouse Cloud Now supports Openstack Heat
  • 27. CBL beta – Based on VM orchestrator (openstack HEAT) • Heat provides Template (HOT & AWS CFN) • Heat provides Resource (as resource plug-in) like instance, volume, networking • Heat provides Stack , • 1 stack == several resources • Heat provides Auto-scaling • you don’t need to write code for auto-scaling • Heat provides Software-Deployment • you don’t need to write code for deployment • How to configure the cloud application? • Heat provides Events • you don’t need to write code for track the progress of life-cycle
  • 28. CBL beta – Based on VM orchestrator (openstack HEAT) • Heat provides Template (HOT & AWS CFN) • Heat provides Resource (as resource plug-in) like instance, volume, networking • Heat provides Stack , • 1 stack == several resources • Heat provides Auto-scaling • you don’t need to write code for auto-scaling • Heat provides Software-Deployment • you don’t need to write code for deployment • How to configure the cloud application? • Heat provides Events • you don’t need to write code for track the progress of life-cycle
  • 29. CBL beta – Based on VM orchestrator (openstack HEAT) II Templates Heat-API AMPQ Heat-Engine-1 DB Heat-Engine-2 Heat-Engine-3 Stack-1 Stack-2
  • 30. CBL beta – Based on VM orchestrator (openstack HEAT) II heat_template_version: 2015-04-15 description: > parameters: resources: my_instance: …. my_scalingroup: …. outputs: ecmpip: Heat-API output: • LB IP • scale in url • scale out url
  • 31. CBL beta – Based on VM orchestrator (openstack HEAT) III • With VM orchestrator, You can have the triggering end points. All that matter is How you trigger! • Kakao has inhouse metric information system called KEMI eth1 Compute node1 linux bridge LB vm IP:10.10.100.2/32 192.1.1.201 Routing Table Default GW 192.168.1.1 eth1 Host Route dest 10.10.100.2/32 to 10.10.100.1 dest 192.168.100.2 to 10.10.100.1 connected 192.1.1.202 Switch Namespace global name space IPTable DNAT empty Compute Node Router Veth pair Gateway 10.10.100.1 neutron- linuxbridge-agent neutron-dhcp-agent neutron-l3-agent Host Route dest 10.10.100.2/32 to 10.10.100.1 dest 192.168.100.2 to 10.10.100.1 connected empty Neutron Floating IP LB vm 10.10.100.2 dhclient deactivate vm agent eth0 eth1 VIP192.168.100.2
  • 32. CBL beta – Based on VM orchestrator (openstack HEAT) & KEMI • From KEMI, We can setup the alarm condition and notification for each VM and serivce group heat_template_version: 2015-04-15 description: > parameters: resources: my_instance: …. my_scalingroup: …. outputs: ecmpip: Heat-API output: • LB IP • scale in url • scale out url KEMI: • alarm triggering
  • 33. CBL beta – Based on VM orchestrator (openstack HEAT) & KEMI • From Performance Point of view Nothing Changed From CBL Alpha to Beta • But From Developing Cost, It has dramatic savings and progress • The CBL engine code is from 4404 line to 446 line (1/10) • After model changes, I used three day to change engine • IF you have a good Cloud, It’s very easy to make new network function