SlideShare une entreprise Scribd logo
1  sur  40
LOAD BALANCING FOR
CONTAINERS
August 2016
Copyright: Citrix Systems, Inc
About me
¨ Distinguished Engineer
at Citrix
¨ Apache CloudStack
PMC
¨ Work on Citrix
Netscaler and
containers
Copyright: Citrix Systems, Inc
Load balancers are important (again)
¨ Containers and Microservices
¨ Teaching old load balancers new tricks
¨ Emerging patterns for Load Balancing
¨ Future directions
Copyright: Citrix Systems, Inc
What’s Changed?
Time
Web
Digital
Social
Mobile
Things
Smart Things
RateofChange
Copyright: Citrix Systems, Inc
What’s changed?
¨ DevOps + Automation
¨ Microservices /
Containers
Image by BMW Werk Leipzig - http://bmw-werk-leipzig.de, CC BY-SA 2.0 deCopyright: Citrix Systems, Inc
Containers or Microservices?
¨ Microservices ==
architecture
¨ Containers ==
implementation
¨ Containers win over
VMs for Microservices
Copyright: Citrix Systems, Inc
Monoliths vs. Microservices
LB
Web
Data
Copyright: Citrix Systems, Inc
Load Balancing: Traditional vs. Cloud Native
Static Applications, well
defined topology
Dynamic Microservices,
changing topology
W W W
A A A A A
W
M
M
TrafficismostlyN-S
M
M
M
M
M
M
M
M
M
Traffic is mix
of N-S and E-W
Copyright: Citrix Systems, Inc
Cloud-Native
Patterns of
architecture
and
organization
that deliver
software with
speed and
reliability
¨ Auto Scale
¨ Continuous Delivery
¨ Baked-in Resilience
¨ Deep Monitoring
¨ Collaboration
Copyright: Citrix Systems, Inc
Cloud Native + Containers is Network
Intensive
¨ Implications on
¤ Performance
¤ Reliability
¤ Security
¤ Routing
¤ Naming and discovery
¤ Monitoring
Copyright: Citrix Systems, Inc
Cloud Native Landscape - Microservices
Microservices
APIs
Performance
Resilience
Security Visibility
Continuous
Delivery
AutoScal
e
Circuit
Breaker
Load
Balancing
Throttling
Discovery
Audit Segmentation
E2E
Encryption
Routing
Chaos
Monkey
Distributed
Debug
Back-off
Lifecycle
Management
Auth
Copyright: Citrix Systems, Inc
Containers
Container
Networking
Container
Security
Integrity Isolation AuthN/Z
Container
Orchestration
Infrastructure
Orchestration
Network
Orchestration
Cloud
Orchestration
Multi-cloud
Orchestration
Private
Cloud
OrchestrationHypervisor
Orchestration
Network
Orchestration
IPAM / DNS
Overlay /
Underlay
Microservices
Lifecycle
Management
Container
Performance
Network
Perf
scheduler
Container
Storage
Storage
Orchestration
Storage
Orchestration
Cloud Native Landscape - Infrastructure
Copyright: Citrix Systems, Inc
Container Managers to the rescue?
Docker Swarm Kubernetes
(from Google)
Mesosphere DCOS
(based on Apache Mesos)
Copyright: Citrix Systems, Inc
Container Cluster Managers
¨ Manage / orchestrate multi-
host clusters of containers
¨ Enable DevOps automation
with APIs
¨ Manage network and
storage as well as compute
α1
β1
δ1
β2
α2
δ3
α3
α4
δ2
α5
α6
HostH1
HostH2
HostH3
HostH4
δ4
ClusterManager
Cluster API
Copyright: Citrix Systems, Inc
Cluster Managers – Sweet Spots
¨ Infrastructure independence
¨ Scheduling
¨ Discovery
¨ Scaling (partially)
¨ Security (a little bit)
¨ Load balancing (limited)
Copyright: Citrix Systems, Inc
Load Balancing for container clusters –
Ingress / Edge
α1
β1
δ1
HostH1
β2
α2
δ3
HostH2
α3
α4
δ2
HostH3
Public Endpoint
https://alpha:443
LB
α1
β1
δ1
HostH1
β2
α2
δ3
HostH2
α3
α4
δ2
HostH3
α5
α6
HostH4
Public Endpoint
https://alpha:443
LB
Scale out
Copyright: Citrix Systems, Inc
Load Balancing – intra-cluster
α1
β1
HostH1
α2
δ3
HostH2
α4
δ2
HostH3
LB
α1
β1
HostH1
α2
δ3
HostH2
α4
δ2
HostH3
LBLB LB
LB per endpoint
LB per container host
Copyright: Citrix Systems, Inc
Load Balancing for Container Clusters
¨ High performance
¨ Few instances
¨ Somewhat frequent
reconfiguration
¨ Hardware or virtual
¨ Advanced: TLS, WAF, content
switching
¨ Stateful
¨ Frequent reconfiguration
¨ Short lifespans
¨ Large number of instances
¨ Lower performance
¨ L4 common, L7 desirable
¨ Stateless
Ingress (edge) Intra-cluster
Copyright: Citrix Systems, Inc
Reconfiguration of Load Balancer
α1
β1
HostH1
β2
α2
HostH2
α3
α4
HostH3
Ingress LB
α5
α6
HostH4
ClusterManager
LB
Controller
Cluster API
Container
Events Reconfigur
ation
Container
State
Container
State Query
Copyright: Citrix Systems, Inc
Orchestration vs. Choreography
¨ Cluster Manager / Orchestrator drives
predefined (often hardcoded) process
¨ Points in the process can be “plugged in”.
¨ E.g., Load Balancer controller can be
plugged in.
¨ Brittle, hard to change
¨ Typical of IaaS stacks (e.g., OpenStack,
CloudStack)
¨ Cluster Manager emits events
¨ Controllers react to events asynchronously
¨ Easy to swap controllers
¨ Loosely coupled
¨ Harder to debug.
¨ No “god view” of state of the system.
¨ Typical of Cluster Managers (Kubernetes)
Orchestration Choreography
Copyright: Citrix Systems, Inc
Typical Form factors
¨ Virtual, hardware (F5,
Netscaler), or service
(ELB)
¨ Usually Proprietary
¨ Containerized OSS
(HAProxy, Nginx)
¨ Written from scratch
(kube-proxy, Uber
hyperbahn, linkerd,
traefik)
Ingress LB Intra-cluster
Copyright: Citrix Systems, Inc
VPX
Hypervisor
Virtual
Run Anywhere
=
NetScaler CPX: NetScaler in a Container
MPX
Physical
Price-Performance
CPX (new)
Container
SDX
Platform
Multi-Tenant
=
Copyright: Citrix Systems, Inc
Netscaler CPX
Containerized
Netscaler for
Developers /
Cloud native
deployments
¨ Proprietary
¨ Same hardened code, same features as
bigger form factors
¨ Unified control plane with Ingress and
other LB (Netscaler MAS)
¨ Unified monitoring, logging and
analytics
Copyright: Citrix Systems, Inc
Netscaler Family
Automation
Network and
Load Balancer
Full Featured
Un-compromised
Network/ Load
Balancer
functionality
All Appliance/
Workloads
Containers, VM,
Physical form
factors
Investment
Protection
Keep what you
already have
Single Management
Platform
One manager
for all your
appliances
Copyright: Citrix Systems, Inc
Packaged as Docker Container
¨ Investment protection
¤ Same code bits à container form factor
¤ Managed like any other NetScaler platform
¤ Seamless transition from Development to Production
¨ Functionality:
¤ Load balancing
¤ Content Switching
¤ All traffic types and protocols
¤ SSL offloading
¤ DNS
¤ Monitoring and logging
¤ Nitro API
You Can Deploy In Seconds!
Server
Linux OS
Docker Engine
AppA
bin/libs
App
B
bin/libs
App
C
bin/libs
C
P
X
bin/libs
Copyright: Citrix Systems, Inc
Netscaler CPX Express
¨ “Developer” Edition*
¨ No license required
¨ Available for download from Docker Hub in Q3
¨ Drop-in replaceable with licensed version
*Not for production use
Copyright: Citrix Systems, Inc
MAS Turns NetScalers into a Pool – Control One to Thousands
NetScaler
MAS
CPX VPX MPX
Container	
Management:	
Mesos &	Marathon
Docker	Swarm
Kubernetes
Service
Discovery
Orchestrator:		Self	
Service	Portal
NetScaler MAS Functions
App-centric	Life	
Cycle
Configuration	at	
Scale
Visibility	and	
Insights
Copyright: Citrix Systems, Inc
What do We Mean by App-Centricity
App configs vs.
network configs
Provide role-based,
partitioned access to
application owners
Provide tools to map
app config to
NetScaler:
Stylebooks
Copyright: Citrix Systems, Inc
¨ Template-driven configuration for Citrix Netscaler.
¨ Intent-driven
¨ Sharing, collaboration and re-use
¨ Automate via an API
App-centric: Netscaler Stylebooks
Copyright: Citrix Systems, Inc
Configuration at Scale
Copyright: Citrix Systems, Inc
¨ The ADC has visibility to users on
one side and apps/infrastructure
on the other
¨ Outbound: Data provides insights
on customer usage and behavior
¨ Inbound: Insights on app health and
performance
¨ Security: Recognizing and
mitigating increasingly
sophisticated attacks
Analytics at Scale:
Insight from Network Data
Users Apps
Devices
Copyright: Citrix Systems, Inc
Copyright: Citrix Systems, Inc
Cluster Managers: Native LB support
¨ Built-in LB based
on IPVS
¨ No ingress LB
¨ Native Service
abstraction
¨ Kube-proxy for
intra-cluster L4 load
balancing (uses
iptables)
¨ “Ingress” object for
edge routing, but
not built-in
Docker Swarm Kubernetes
¨ Native ‘Task’
(service)
abstraction
¨ Iptables-based
L4 LB
¨ No built-in Ingress
LB
Mesos / Marathon
Copyright: Citrix Systems, Inc
HostH1
Ingress Challenge (e.g., Kubernetes)
• Hardware / Virtual LB
has to “participate” in
overlay (usually
VxLAN)
• Interact with overlay
manager / SDN
controller
• Kubernetes: Kube-
Proxy introduces extra
hop
Intra Cluster Network (Overlay / Routing)
External Network
LB
Ingress
α1
β1
β2
α2
HostH2
α5
α6
HostHn
Copyright: Citrix Systems, Inc
Emerging LB patterns
¨ Client-side LB
¨ Sophisticated routing
¨ Resilience patterns
¨ Visibility / Insights
Copyright: Citrix Systems, Inc
Client-side LB
¤ Embedded into calling application
n e.g., Netflix Ribbon (with Eureka)
¤ Run as side-cars (alongside each
application or one-per-host)
n Netflix Prana
n Twitter Finagle
n Linkerd from Buoyant.io (based on
Finagle)
n AirBnB Smartstack/Synapse (uses
HAProxy)
n Uber Hyperbahn (like Finagle,
switched from HAProxy)
n Kube Proxy
Eureka
M M
M
M
M
M
Copyright: Citrix Systems, Inc
Advanced Resilience
¨ LB implements / assists
resilience patterns such
as:
¤ Circuit Breaker (e.g.,
Netflix Hystrix)
¤ Anti-DDOS
¤ Throttling
¤ Chaos Monkey
Credit: http://martinfowler.com/bliki/CircuitBreaker.html
Copyright: Citrix Systems, Inc
Routing
¨ Red-black deploys
¨ Content routing
M M M M
Version N
M M M M M
Version N+1
10%
90%
CD
Pipeline
Copyright: Citrix Systems, Inc
Visibility
¨ Compliance
¨ Debug
¨ Topology
¨ Protocol Insights
M
M
M M M
M M M M M
M
Analytics
Copyright: Citrix Systems, Inc
Wrap-up
¨ Load balancing is
different for containers /
microservices
¨ Integration with container
cluster managers is
needed
¨ Consider using the same
LB technology for ingress
and intra-cluster
¨ Emerging patterns
solidify the importance
of the load balancer
¨ LB in the wire brings
¤ Simplicity
¤ Resilience
¤ Future proofing
Copyright: Citrix Systems, Inc

Contenu connexe

Tendances

Tendances (20)

Kubernetes Multitenancy - KubeSec Enterprise Security Summit
Kubernetes Multitenancy - KubeSec Enterprise Security SummitKubernetes Multitenancy - KubeSec Enterprise Security Summit
Kubernetes Multitenancy - KubeSec Enterprise Security Summit
 
Simple, Scalable and Secure Networking for Data Centers with Project Calico
Simple, Scalable and Secure Networking for Data Centers with Project CalicoSimple, Scalable and Secure Networking for Data Centers with Project Calico
Simple, Scalable and Secure Networking for Data Centers with Project Calico
 
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoT
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoTZephyr: Creating a Best-of-Breed, Secure RTOS for IoT
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoT
 
MANTL Data Platform, Microservices and BigData Services
MANTL Data Platform, Microservices and BigData ServicesMANTL Data Platform, Microservices and BigData Services
MANTL Data Platform, Microservices and BigData Services
 
Lessons learned from global telecom operators' cloud journeys - Zeev Likworni...
Lessons learned from global telecom operators' cloud journeys - Zeev Likworni...Lessons learned from global telecom operators' cloud journeys - Zeev Likworni...
Lessons learned from global telecom operators' cloud journeys - Zeev Likworni...
 
Introduction to Docker by Adrian Mouat
Introduction to Docker by Adrian MouatIntroduction to Docker by Adrian Mouat
Introduction to Docker by Adrian Mouat
 
Distributed Enterprise Monitoring and Management of Apache Kafka (William McL...
Distributed Enterprise Monitoring and Management of Apache Kafka (William McL...Distributed Enterprise Monitoring and Management of Apache Kafka (William McL...
Distributed Enterprise Monitoring and Management of Apache Kafka (William McL...
 
Designing Cloud Native Applications with Kubernetes
Designing Cloud Native Applications with KubernetesDesigning Cloud Native Applications with Kubernetes
Designing Cloud Native Applications with Kubernetes
 
Serverless: A love hate relationship
Serverless: A love hate relationshipServerless: A love hate relationship
Serverless: A love hate relationship
 
End-End Security with Confluent Platform
End-End Security with Confluent Platform End-End Security with Confluent Platform
End-End Security with Confluent Platform
 
Container security within Cisco Container Platform
Container security within Cisco Container PlatformContainer security within Cisco Container Platform
Container security within Cisco Container Platform
 
Microservices continuous delivery with mantl & shipped
Microservices continuous delivery with mantl & shippedMicroservices continuous delivery with mantl & shipped
Microservices continuous delivery with mantl & shipped
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesPatterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to Kubernetes
 
Container Networking Meetup March 31 2016
Container Networking Meetup March 31 2016Container Networking Meetup March 31 2016
Container Networking Meetup March 31 2016
 
Istio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxyIstio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxy
 
Webinar: Dealing with automation tool overload!
Webinar: Dealing with automation tool overload!Webinar: Dealing with automation tool overload!
Webinar: Dealing with automation tool overload!
 
Network Service Mesh
Network Service MeshNetwork Service Mesh
Network Service Mesh
 
Getting Started with Kafka on k8s
Getting Started with Kafka on k8sGetting Started with Kafka on k8s
Getting Started with Kafka on k8s
 
The new Netflix API
The new Netflix APIThe new Netflix API
The new Netflix API
 
ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021
ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021
ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021
 

Similaire à Load Balancing for Containers and Cloud Native Architecture

Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
QAware GmbH
 
Docker intro
Docker introDocker intro
Docker intro
spiddy
 

Similaire à Load Balancing for Containers and Cloud Native Architecture (20)

Docker vs. Kubernetes vs. Serverless
Docker vs. Kubernetes vs. ServerlessDocker vs. Kubernetes vs. Serverless
Docker vs. Kubernetes vs. Serverless
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
 
Introduction openstack-meetup-nov-28
Introduction openstack-meetup-nov-28Introduction openstack-meetup-nov-28
Introduction openstack-meetup-nov-28
 
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
 Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ... Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
 
Docker intro
Docker introDocker intro
Docker intro
 
OpenEBS Technical Workshop - KubeCon San Diego 2019
OpenEBS Technical Workshop - KubeCon San Diego 2019OpenEBS Technical Workshop - KubeCon San Diego 2019
OpenEBS Technical Workshop - KubeCon San Diego 2019
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
 
Load Balancing in the Cloud using Nginx & Kubernetes
Load Balancing in the Cloud using Nginx & KubernetesLoad Balancing in the Cloud using Nginx & Kubernetes
Load Balancing in the Cloud using Nginx & Kubernetes
 
Open stack in sina
Open stack in sinaOpen stack in sina
Open stack in sina
 
Cloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesCloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit Kubernetes
 
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul MaddoxAWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
 
Openstack HA
Openstack HAOpenstack HA
Openstack HA
 
Simplify Networking for Containers
Simplify Networking for ContainersSimplify Networking for Containers
Simplify Networking for Containers
 
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
 
Introduction to Container Management on AWS
Introduction to Container Management  on AWSIntroduction to Container Management  on AWS
Introduction to Container Management on AWS
 
Openstack on Fedora, Fedora on Openstack: An Introduction to cloud IaaS
Openstack on Fedora, Fedora on Openstack: An Introduction to cloud IaaSOpenstack on Fedora, Fedora on Openstack: An Introduction to cloud IaaS
Openstack on Fedora, Fedora on Openstack: An Introduction to cloud IaaS
 
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
 
Docker-Intro
Docker-IntroDocker-Intro
Docker-Intro
 
Dragonflow Austin Summit Talk
Dragonflow Austin Summit Talk Dragonflow Austin Summit Talk
Dragonflow Austin Summit Talk
 

Plus de Chiradeep Vittal

SDN in Apache CloudStack (ApacheCon NA 2013)
SDN in Apache CloudStack (ApacheCon NA 2013)SDN in Apache CloudStack (ApacheCon NA 2013)
SDN in Apache CloudStack (ApacheCon NA 2013)
Chiradeep Vittal
 
The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)
The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)
The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)
Chiradeep Vittal
 
Evolution of CloudStack Architecture (Collab 2012)
Evolution of CloudStack Architecture (Collab 2012)Evolution of CloudStack Architecture (Collab 2012)
Evolution of CloudStack Architecture (Collab 2012)
Chiradeep Vittal
 

Plus de Chiradeep Vittal (13)

Directions for CloudStack Networking
Directions for CloudStack  NetworkingDirections for CloudStack  Networking
Directions for CloudStack Networking
 
Private cloud networking_cloudstack_days_austin
Private cloud networking_cloudstack_days_austinPrivate cloud networking_cloudstack_days_austin
Private cloud networking_cloudstack_days_austin
 
StackWatch: A prototype CloudWatch service for CloudStack
StackWatch: A prototype CloudWatch service for CloudStackStackWatch: A prototype CloudWatch service for CloudStack
StackWatch: A prototype CloudWatch service for CloudStack
 
Network Functions Virtualization and CloudStack
Network Functions Virtualization and CloudStackNetwork Functions Virtualization and CloudStack
Network Functions Virtualization and CloudStack
 
CloudStack Networking Deepdive CCCEU13
CloudStack Networking Deepdive CCCEU13CloudStack Networking Deepdive CCCEU13
CloudStack Networking Deepdive CCCEU13
 
StackMate - CloudFormation for CloudStack
StackMate - CloudFormation for CloudStackStackMate - CloudFormation for CloudStack
StackMate - CloudFormation for CloudStack
 
SDN in Apache CloudStack (ApacheCon NA 2013)
SDN in Apache CloudStack (ApacheCon NA 2013)SDN in Apache CloudStack (ApacheCon NA 2013)
SDN in Apache CloudStack (ApacheCon NA 2013)
 
Scalable Object Storage with Apache CloudStack and Apache Hadoop
Scalable Object Storage with Apache CloudStack and Apache HadoopScalable Object Storage with Apache CloudStack and Apache Hadoop
Scalable Object Storage with Apache CloudStack and Apache Hadoop
 
Networking in the Cloud Age (LISA 2012 Tutorial)
Networking in the Cloud Age (LISA 2012 Tutorial)Networking in the Cloud Age (LISA 2012 Tutorial)
Networking in the Cloud Age (LISA 2012 Tutorial)
 
The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)
The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)
The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)
 
Evolution of CloudStack Architecture (Collab 2012)
Evolution of CloudStack Architecture (Collab 2012)Evolution of CloudStack Architecture (Collab 2012)
Evolution of CloudStack Architecture (Collab 2012)
 
Scalable networking in Apache CloudStack
Scalable networking in Apache CloudStackScalable networking in Apache CloudStack
Scalable networking in Apache CloudStack
 
CloudStack + SDN
CloudStack + SDNCloudStack + SDN
CloudStack + SDN
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Load Balancing for Containers and Cloud Native Architecture

  • 1. LOAD BALANCING FOR CONTAINERS August 2016 Copyright: Citrix Systems, Inc
  • 2. About me ¨ Distinguished Engineer at Citrix ¨ Apache CloudStack PMC ¨ Work on Citrix Netscaler and containers Copyright: Citrix Systems, Inc
  • 3. Load balancers are important (again) ¨ Containers and Microservices ¨ Teaching old load balancers new tricks ¨ Emerging patterns for Load Balancing ¨ Future directions Copyright: Citrix Systems, Inc
  • 5. What’s changed? ¨ DevOps + Automation ¨ Microservices / Containers Image by BMW Werk Leipzig - http://bmw-werk-leipzig.de, CC BY-SA 2.0 deCopyright: Citrix Systems, Inc
  • 6. Containers or Microservices? ¨ Microservices == architecture ¨ Containers == implementation ¨ Containers win over VMs for Microservices Copyright: Citrix Systems, Inc
  • 8. Load Balancing: Traditional vs. Cloud Native Static Applications, well defined topology Dynamic Microservices, changing topology W W W A A A A A W M M TrafficismostlyN-S M M M M M M M M M Traffic is mix of N-S and E-W Copyright: Citrix Systems, Inc
  • 9. Cloud-Native Patterns of architecture and organization that deliver software with speed and reliability ¨ Auto Scale ¨ Continuous Delivery ¨ Baked-in Resilience ¨ Deep Monitoring ¨ Collaboration Copyright: Citrix Systems, Inc
  • 10. Cloud Native + Containers is Network Intensive ¨ Implications on ¤ Performance ¤ Reliability ¤ Security ¤ Routing ¤ Naming and discovery ¤ Monitoring Copyright: Citrix Systems, Inc
  • 11. Cloud Native Landscape - Microservices Microservices APIs Performance Resilience Security Visibility Continuous Delivery AutoScal e Circuit Breaker Load Balancing Throttling Discovery Audit Segmentation E2E Encryption Routing Chaos Monkey Distributed Debug Back-off Lifecycle Management Auth Copyright: Citrix Systems, Inc
  • 12. Containers Container Networking Container Security Integrity Isolation AuthN/Z Container Orchestration Infrastructure Orchestration Network Orchestration Cloud Orchestration Multi-cloud Orchestration Private Cloud OrchestrationHypervisor Orchestration Network Orchestration IPAM / DNS Overlay / Underlay Microservices Lifecycle Management Container Performance Network Perf scheduler Container Storage Storage Orchestration Storage Orchestration Cloud Native Landscape - Infrastructure Copyright: Citrix Systems, Inc
  • 13. Container Managers to the rescue? Docker Swarm Kubernetes (from Google) Mesosphere DCOS (based on Apache Mesos) Copyright: Citrix Systems, Inc
  • 14. Container Cluster Managers ¨ Manage / orchestrate multi- host clusters of containers ¨ Enable DevOps automation with APIs ¨ Manage network and storage as well as compute α1 β1 δ1 β2 α2 δ3 α3 α4 δ2 α5 α6 HostH1 HostH2 HostH3 HostH4 δ4 ClusterManager Cluster API Copyright: Citrix Systems, Inc
  • 15. Cluster Managers – Sweet Spots ¨ Infrastructure independence ¨ Scheduling ¨ Discovery ¨ Scaling (partially) ¨ Security (a little bit) ¨ Load balancing (limited) Copyright: Citrix Systems, Inc
  • 16. Load Balancing for container clusters – Ingress / Edge α1 β1 δ1 HostH1 β2 α2 δ3 HostH2 α3 α4 δ2 HostH3 Public Endpoint https://alpha:443 LB α1 β1 δ1 HostH1 β2 α2 δ3 HostH2 α3 α4 δ2 HostH3 α5 α6 HostH4 Public Endpoint https://alpha:443 LB Scale out Copyright: Citrix Systems, Inc
  • 17. Load Balancing – intra-cluster α1 β1 HostH1 α2 δ3 HostH2 α4 δ2 HostH3 LB α1 β1 HostH1 α2 δ3 HostH2 α4 δ2 HostH3 LBLB LB LB per endpoint LB per container host Copyright: Citrix Systems, Inc
  • 18. Load Balancing for Container Clusters ¨ High performance ¨ Few instances ¨ Somewhat frequent reconfiguration ¨ Hardware or virtual ¨ Advanced: TLS, WAF, content switching ¨ Stateful ¨ Frequent reconfiguration ¨ Short lifespans ¨ Large number of instances ¨ Lower performance ¨ L4 common, L7 desirable ¨ Stateless Ingress (edge) Intra-cluster Copyright: Citrix Systems, Inc
  • 19. Reconfiguration of Load Balancer α1 β1 HostH1 β2 α2 HostH2 α3 α4 HostH3 Ingress LB α5 α6 HostH4 ClusterManager LB Controller Cluster API Container Events Reconfigur ation Container State Container State Query Copyright: Citrix Systems, Inc
  • 20. Orchestration vs. Choreography ¨ Cluster Manager / Orchestrator drives predefined (often hardcoded) process ¨ Points in the process can be “plugged in”. ¨ E.g., Load Balancer controller can be plugged in. ¨ Brittle, hard to change ¨ Typical of IaaS stacks (e.g., OpenStack, CloudStack) ¨ Cluster Manager emits events ¨ Controllers react to events asynchronously ¨ Easy to swap controllers ¨ Loosely coupled ¨ Harder to debug. ¨ No “god view” of state of the system. ¨ Typical of Cluster Managers (Kubernetes) Orchestration Choreography Copyright: Citrix Systems, Inc
  • 21. Typical Form factors ¨ Virtual, hardware (F5, Netscaler), or service (ELB) ¨ Usually Proprietary ¨ Containerized OSS (HAProxy, Nginx) ¨ Written from scratch (kube-proxy, Uber hyperbahn, linkerd, traefik) Ingress LB Intra-cluster Copyright: Citrix Systems, Inc
  • 22. VPX Hypervisor Virtual Run Anywhere = NetScaler CPX: NetScaler in a Container MPX Physical Price-Performance CPX (new) Container SDX Platform Multi-Tenant = Copyright: Citrix Systems, Inc
  • 23. Netscaler CPX Containerized Netscaler for Developers / Cloud native deployments ¨ Proprietary ¨ Same hardened code, same features as bigger form factors ¨ Unified control plane with Ingress and other LB (Netscaler MAS) ¨ Unified monitoring, logging and analytics Copyright: Citrix Systems, Inc
  • 24. Netscaler Family Automation Network and Load Balancer Full Featured Un-compromised Network/ Load Balancer functionality All Appliance/ Workloads Containers, VM, Physical form factors Investment Protection Keep what you already have Single Management Platform One manager for all your appliances Copyright: Citrix Systems, Inc
  • 25. Packaged as Docker Container ¨ Investment protection ¤ Same code bits à container form factor ¤ Managed like any other NetScaler platform ¤ Seamless transition from Development to Production ¨ Functionality: ¤ Load balancing ¤ Content Switching ¤ All traffic types and protocols ¤ SSL offloading ¤ DNS ¤ Monitoring and logging ¤ Nitro API You Can Deploy In Seconds! Server Linux OS Docker Engine AppA bin/libs App B bin/libs App C bin/libs C P X bin/libs Copyright: Citrix Systems, Inc
  • 26. Netscaler CPX Express ¨ “Developer” Edition* ¨ No license required ¨ Available for download from Docker Hub in Q3 ¨ Drop-in replaceable with licensed version *Not for production use Copyright: Citrix Systems, Inc
  • 27. MAS Turns NetScalers into a Pool – Control One to Thousands NetScaler MAS CPX VPX MPX Container Management: Mesos & Marathon Docker Swarm Kubernetes Service Discovery Orchestrator: Self Service Portal NetScaler MAS Functions App-centric Life Cycle Configuration at Scale Visibility and Insights Copyright: Citrix Systems, Inc
  • 28. What do We Mean by App-Centricity App configs vs. network configs Provide role-based, partitioned access to application owners Provide tools to map app config to NetScaler: Stylebooks Copyright: Citrix Systems, Inc
  • 29. ¨ Template-driven configuration for Citrix Netscaler. ¨ Intent-driven ¨ Sharing, collaboration and re-use ¨ Automate via an API App-centric: Netscaler Stylebooks Copyright: Citrix Systems, Inc
  • 30. Configuration at Scale Copyright: Citrix Systems, Inc
  • 31. ¨ The ADC has visibility to users on one side and apps/infrastructure on the other ¨ Outbound: Data provides insights on customer usage and behavior ¨ Inbound: Insights on app health and performance ¨ Security: Recognizing and mitigating increasingly sophisticated attacks Analytics at Scale: Insight from Network Data Users Apps Devices Copyright: Citrix Systems, Inc
  • 33. Cluster Managers: Native LB support ¨ Built-in LB based on IPVS ¨ No ingress LB ¨ Native Service abstraction ¨ Kube-proxy for intra-cluster L4 load balancing (uses iptables) ¨ “Ingress” object for edge routing, but not built-in Docker Swarm Kubernetes ¨ Native ‘Task’ (service) abstraction ¨ Iptables-based L4 LB ¨ No built-in Ingress LB Mesos / Marathon Copyright: Citrix Systems, Inc
  • 34. HostH1 Ingress Challenge (e.g., Kubernetes) • Hardware / Virtual LB has to “participate” in overlay (usually VxLAN) • Interact with overlay manager / SDN controller • Kubernetes: Kube- Proxy introduces extra hop Intra Cluster Network (Overlay / Routing) External Network LB Ingress α1 β1 β2 α2 HostH2 α5 α6 HostHn Copyright: Citrix Systems, Inc
  • 35. Emerging LB patterns ¨ Client-side LB ¨ Sophisticated routing ¨ Resilience patterns ¨ Visibility / Insights Copyright: Citrix Systems, Inc
  • 36. Client-side LB ¤ Embedded into calling application n e.g., Netflix Ribbon (with Eureka) ¤ Run as side-cars (alongside each application or one-per-host) n Netflix Prana n Twitter Finagle n Linkerd from Buoyant.io (based on Finagle) n AirBnB Smartstack/Synapse (uses HAProxy) n Uber Hyperbahn (like Finagle, switched from HAProxy) n Kube Proxy Eureka M M M M M M Copyright: Citrix Systems, Inc
  • 37. Advanced Resilience ¨ LB implements / assists resilience patterns such as: ¤ Circuit Breaker (e.g., Netflix Hystrix) ¤ Anti-DDOS ¤ Throttling ¤ Chaos Monkey Credit: http://martinfowler.com/bliki/CircuitBreaker.html Copyright: Citrix Systems, Inc
  • 38. Routing ¨ Red-black deploys ¨ Content routing M M M M Version N M M M M M Version N+1 10% 90% CD Pipeline Copyright: Citrix Systems, Inc
  • 39. Visibility ¨ Compliance ¨ Debug ¨ Topology ¨ Protocol Insights M M M M M M M M M M M Analytics Copyright: Citrix Systems, Inc
  • 40. Wrap-up ¨ Load balancing is different for containers / microservices ¨ Integration with container cluster managers is needed ¨ Consider using the same LB technology for ingress and intra-cluster ¨ Emerging patterns solidify the importance of the load balancer ¨ LB in the wire brings ¤ Simplicity ¤ Resilience ¤ Future proofing Copyright: Citrix Systems, Inc