SlideShare une entreprise Scribd logo
1  sur  24
#lspe: Dynamic Scaling
Shock Absorbers and APIs

Steve Shah
Sr. Director, Product Management
February 21, 2013
Disclaimer

• I’m going to talk about a product.
 ᵒIt’s kind of necessary in order to make this talk useful.
 ᵒBut a lot of you have this product or know someone that does!
 ᵒThe product is pretty cool…
 ᵒIt can also sing and dance.
 ᵒMaking coffee is on the roadmap.
• Sorry.
 ᵒYes, I am marketing scum.
 ᵒNo, I will not to do a hard sell.
• My Competition
 ᵒGoogle it. No really… It’s not hard to find them.
 ᵒTheir product has various approaches too. I encourage you to ask them.
What is NetScaler?




                            Performan
             Availability       ce      Offload   Security




   NetScaler powers some of the world’s largest infrastructures.
1998 to 2012: From Load Balancing to Virtual
Networking

 1998     1999           2002          2003      2005    2006         2008           2009     2011

 L4 SLB   L7 SLB         SSL         SSLVPN     AppFW    ICA         XML VPX         SDX
          GSLB           CMP         RHI        SIP      IPv6        nCore EdgeSight AppFlow
          MUX            DNS                    AAA-TM                               DataStream


                                                         RHI = Route Health Injection
          Secret Decoder Ring:                           ICA = App Proxy for ICA
          SLB = Server Load Balancing                    IPv6 = IPv6 Routing, Switching, LB
          GSLB = Global Server Load Balancing            XML = XML Security, Routing
          MUX = HTTP Multiplexing                        VPX = Virtual NetScaler
          SSL = SSL Acceleration                         nCore = multi-core scaling
          CMP = HTTP Compression                         SDX = Multi-tenant NetScaler
          DNS = DNS Load Balancing / Proxy
Agenda

• Things That Impact Scalability
• Shock Absorbers
• Out Scaling
• Your ADC has an API!
Things That Impact Scalability
Touching on a bit of theory…
Load is Not Linear

• There are startup costs for enabling features in an ADC (memory and CPU)
• However, each incremental request takes a small fraction of resources
• As load increases, some global functions can take resources as well
 ᵒE.g., flushing unused IP fragments, running timers, management overhead, etc.
Data Structures and Big O

• I/O, Data structures, and String processing are big factors

• The two that get you are data structures and string
 ᵒACLs, VLANs, connection table, connection state, persistence table, etc.
 ᵒHTTP request processing and policy execution

• Know your Big O – understand their impact
 ᵒBig O notation is how programmers describe efficiency of algorithms
 ᵒE.g., O(n) vs. O(log n) vs. O(1)
Shock Absorbers
Coping with Load
Launching v8: The Role of Data Structures

• Story time… launching a major service and what we learned
• Major new roll-out – expected to double the number of servers to handle
• Early testing revealed that large numbers of slow connections are meh
• Invest in your data structures! Clean up on several core structures
•  Average connection lookup time driven to near constant time: O(1)
•  Stir in a team that dreams in assembly language and can see cache
  misalignment by glancing at code and shave another 20% off connection
  lookup times (absolute times)
• Lesson: drive your apps to good data structures. Drive your vendors to do
  better.
MaxConns and SurgeQ

                                 Incoming load




                               Peak perf – we want to
                               stay there




                      Typical server performance curve
MaxConns and SurgeQ


                        Queue incoming requests
                        in the ADC

                                                  Set max conns here


                      Server stays operating at maximum throughput
Story time:
When 4 Hurricanes Hit
Out-Scaling
The SR-71 Approach: Go Faster
  Treat a collection of NS devices
                                                          • Single System
 like a grand unified “big” device
                                                           ᵒconfigured and managed as a
                                                            single logical system
                                                          • Scalable
                 The Sheet-metal Test
  Steps:
                                                           ᵒscales with number of devices
   • Take a cluster of NS, and an L2 switch.                (distributes work)
   • Configure the devices to your liking.
   • Wrap the whole thing with sheet-metal, such
      that only the network ports remain exposed.
                                                          • Fault Tolerant
  Test:                                                    ᵒHandles device failure, addition…
  Must be able to configure and use this contraption as
  if it were just another NS box.                         • Dynamic
   • connect wires into any visible port(s), create
      LAGs at will, enable L2 mode, MBF …
   • point GUI to Cluster’s IP and configure away
Clustering

• Create a single system image out of a collection of instances
 ᵒInstances = virtual machines, physical instances, or instances on multi-tenant boxes
• True shared management + data plane (the sheet metal test)
• Shared state for key data structures (persistence, health check, etc.)
• Linear scale by adding instances (up to 32)
• Ability to manage faults with proportional degradation
Real-time   Policy Based
                           Analytics     Actions
     Bandwidth                                         Compress
   Connections                                         Cache
Top ‘N Requests                                        Log
 Response Time                                         Drop
      Frequency                                        Respond

                Policy Based                   Decision
             Traffic Selection                 Feedback loop
Scaling Globally

                                                                      Active                Mirror
                                                                       Site                  Site




      Global Server Load Balancing                                   Route Health Injection
                 (GSLB)                                                     (RHI)
NetScaler uses DNS to send users to the closest site based   NetScaler dynamically updates routing tables to direct
 on administrator defined metrics (geography, topology,        clients to the active site based on real-time health
             site performance, availability)                         monitoring of backend infrastructure.
Your ADC Has an API!
API in a Nutshell: Your ADC Has This


                                                     API

      Interfaces         Client Toolkits                       Policy              Statistics

                        Scripting           OOP          Reverse                 Bulk      Granular
     SOAP    RESTful   Perl/PHP/Python/   Java/C#/ASP/              JSON/XML
                          PowerShell       .NET based    Call-Out              Reporting   Reporting
More RESTful - HTTP Status Code

                 REQUEST                                                              RESPONSE

 Success Case:                                                      Success Case
 GET
 http://<nsip>/nitro/v1/config/lbvserver/lbv1                       HTTP 200 OK

 Failure Case:
 POST http://<nsip>/nitro/v1/config/lbvserver                       Failure Case:
 Content-
 Type:application/vnd.com.citrix.netscaler.lbvser                   HTTP/1.0 409 Conflict
 ver+json
                                                                    {
 {"lbvserver":                                                          "errorcode": 273,
    {"name":"lbv111", "servicetype":"HTTP"}                             "message": "Resource already exists",
 }                                                                      "severity": "ERROR"
                                                                    }

                                         Citrix Confidential - Do Not Distribute
Example: Using Java
                 Indicate we want “rollback on failure” in this session




             Prepare 3 lbvservers to be added in one bulk operation




                                               Output



                                      Print results                       No attempt to add
                                                                          “lb3” because of
                                                                          Rollback behavior
AutoSense and AutoScale
       NetScalerautomatically is auto-provisionedabnormal behavior withbindings
        Traffic is monitoring engine auto-detects byin new serviceon NetScaler
          NetScaler NetScaler scaled for the newly added services does servers
              NetScaler triggers AutoScale capability CloudStack
     CloudStack “auto-provisions”CloudStack provides CloudStackAutoScale policy
       On successful AutoScale, adds server instances Latency, Throughput …
          NetScaler automatically new new service resources and descriptions
                    monitors servers to CPU, Memory, based on




                                                                   M
                                                                       M
                                                                    M
         Internet                                                   M

                                                                       M
                                                                   M


                                        CloudStack
Work better. Live better.

Contenu connexe

Tendances

Zero-downtime Hadoop/HBase Cross-datacenter Migration
Zero-downtime Hadoop/HBase Cross-datacenter MigrationZero-downtime Hadoop/HBase Cross-datacenter Migration
Zero-downtime Hadoop/HBase Cross-datacenter MigrationScott Miao
 
Windows Azure Design Patterns
Windows Azure Design PatternsWindows Azure Design Patterns
Windows Azure Design PatternsDavid Pallmann
 
Gluecon 2013 - NetflixOSS Cloud Native Tutorial Introduction
Gluecon 2013 - NetflixOSS Cloud Native Tutorial IntroductionGluecon 2013 - NetflixOSS Cloud Native Tutorial Introduction
Gluecon 2013 - NetflixOSS Cloud Native Tutorial IntroductionAdrian Cockcroft
 
Cmg06 utilization is useless
Cmg06 utilization is uselessCmg06 utilization is useless
Cmg06 utilization is uselessAdrian Cockcroft
 
On ABR Streaming and CDN Performance
On ABR Streaming and CDN PerformanceOn ABR Streaming and CDN Performance
On ABR Streaming and CDN PerformanceDavid Sayed
 
[212]big models without big data using domain specific deep networks in data-...
[212]big models without big data using domain specific deep networks in data-...[212]big models without big data using domain specific deep networks in data-...
[212]big models without big data using domain specific deep networks in data-...NAVER D2
 
Gluecon 2013 - Netflix Cloud Native Tutorial Details (part 2)
Gluecon 2013 - Netflix Cloud Native Tutorial Details (part 2)Gluecon 2013 - Netflix Cloud Native Tutorial Details (part 2)
Gluecon 2013 - Netflix Cloud Native Tutorial Details (part 2)Adrian Cockcroft
 
Delivering on the promise of the cloud for digital media, aspera on demand
Delivering on the promise of the cloud for digital media, aspera on demandDelivering on the promise of the cloud for digital media, aspera on demand
Delivering on the promise of the cloud for digital media, aspera on demandAmazon Web Services
 
AWS re:Invent 2016: Another Day, Another Billion Packets (NET401)
AWS re:Invent 2016: Another Day, Another Billion Packets (NET401)AWS re:Invent 2016: Another Day, Another Billion Packets (NET401)
AWS re:Invent 2016: Another Day, Another Billion Packets (NET401)Amazon Web Services
 
Netflix Play API: Why we built an evolutionary architecture
Netflix Play API: Why we built an evolutionary architectureNetflix Play API: Why we built an evolutionary architecture
Netflix Play API: Why we built an evolutionary architectureSuudhan Rangarajan
 
Netflix Architecture Tutorial at Gluecon
Netflix Architecture Tutorial at GlueconNetflix Architecture Tutorial at Gluecon
Netflix Architecture Tutorial at GlueconAdrian Cockcroft
 
How to Make Hadoop Easy, Dependable and Fast
How to Make Hadoop Easy, Dependable and FastHow to Make Hadoop Easy, Dependable and Fast
How to Make Hadoop Easy, Dependable and FastMapR Technologies
 
bdNOG 7 - Re-engineering the DNS - one resolver at a time
bdNOG 7 - Re-engineering the DNS - one resolver at a timebdNOG 7 - Re-engineering the DNS - one resolver at a time
bdNOG 7 - Re-engineering the DNS - one resolver at a timeAPNIC
 
Database backed coherence cache
Database backed coherence cacheDatabase backed coherence cache
Database backed coherence cachearagozin
 
Aspera on demand for AWS (S3 inc) overview
Aspera on demand for AWS (S3 inc) overviewAspera on demand for AWS (S3 inc) overview
Aspera on demand for AWS (S3 inc) overviewBhavik Vyas
 
Reactor, Reactive streams and MicroServices
Reactor, Reactive streams and MicroServicesReactor, Reactive streams and MicroServices
Reactor, Reactive streams and MicroServicesStéphane Maldini
 
Denial of Service in Software Defined Netoworks
Denial of Service in Software Defined NetoworksDenial of Service in Software Defined Netoworks
Denial of Service in Software Defined NetoworksMohammad Faraji
 
From distributed caches to in-memory data grids
From distributed caches to in-memory data gridsFrom distributed caches to in-memory data grids
From distributed caches to in-memory data gridsMax Alexejev
 

Tendances (20)

Zero-downtime Hadoop/HBase Cross-datacenter Migration
Zero-downtime Hadoop/HBase Cross-datacenter MigrationZero-downtime Hadoop/HBase Cross-datacenter Migration
Zero-downtime Hadoop/HBase Cross-datacenter Migration
 
Windows Azure Design Patterns
Windows Azure Design PatternsWindows Azure Design Patterns
Windows Azure Design Patterns
 
HDFS Selective Wire Encryption
HDFS Selective Wire EncryptionHDFS Selective Wire Encryption
HDFS Selective Wire Encryption
 
Gluecon 2013 - NetflixOSS Cloud Native Tutorial Introduction
Gluecon 2013 - NetflixOSS Cloud Native Tutorial IntroductionGluecon 2013 - NetflixOSS Cloud Native Tutorial Introduction
Gluecon 2013 - NetflixOSS Cloud Native Tutorial Introduction
 
Fraud Detection Architecture
Fraud Detection ArchitectureFraud Detection Architecture
Fraud Detection Architecture
 
Cmg06 utilization is useless
Cmg06 utilization is uselessCmg06 utilization is useless
Cmg06 utilization is useless
 
On ABR Streaming and CDN Performance
On ABR Streaming and CDN PerformanceOn ABR Streaming and CDN Performance
On ABR Streaming and CDN Performance
 
[212]big models without big data using domain specific deep networks in data-...
[212]big models without big data using domain specific deep networks in data-...[212]big models without big data using domain specific deep networks in data-...
[212]big models without big data using domain specific deep networks in data-...
 
Gluecon 2013 - Netflix Cloud Native Tutorial Details (part 2)
Gluecon 2013 - Netflix Cloud Native Tutorial Details (part 2)Gluecon 2013 - Netflix Cloud Native Tutorial Details (part 2)
Gluecon 2013 - Netflix Cloud Native Tutorial Details (part 2)
 
Delivering on the promise of the cloud for digital media, aspera on demand
Delivering on the promise of the cloud for digital media, aspera on demandDelivering on the promise of the cloud for digital media, aspera on demand
Delivering on the promise of the cloud for digital media, aspera on demand
 
AWS re:Invent 2016: Another Day, Another Billion Packets (NET401)
AWS re:Invent 2016: Another Day, Another Billion Packets (NET401)AWS re:Invent 2016: Another Day, Another Billion Packets (NET401)
AWS re:Invent 2016: Another Day, Another Billion Packets (NET401)
 
Netflix Play API: Why we built an evolutionary architecture
Netflix Play API: Why we built an evolutionary architectureNetflix Play API: Why we built an evolutionary architecture
Netflix Play API: Why we built an evolutionary architecture
 
Netflix Architecture Tutorial at Gluecon
Netflix Architecture Tutorial at GlueconNetflix Architecture Tutorial at Gluecon
Netflix Architecture Tutorial at Gluecon
 
How to Make Hadoop Easy, Dependable and Fast
How to Make Hadoop Easy, Dependable and FastHow to Make Hadoop Easy, Dependable and Fast
How to Make Hadoop Easy, Dependable and Fast
 
bdNOG 7 - Re-engineering the DNS - one resolver at a time
bdNOG 7 - Re-engineering the DNS - one resolver at a timebdNOG 7 - Re-engineering the DNS - one resolver at a time
bdNOG 7 - Re-engineering the DNS - one resolver at a time
 
Database backed coherence cache
Database backed coherence cacheDatabase backed coherence cache
Database backed coherence cache
 
Aspera on demand for AWS (S3 inc) overview
Aspera on demand for AWS (S3 inc) overviewAspera on demand for AWS (S3 inc) overview
Aspera on demand for AWS (S3 inc) overview
 
Reactor, Reactive streams and MicroServices
Reactor, Reactive streams and MicroServicesReactor, Reactive streams and MicroServices
Reactor, Reactive streams and MicroServices
 
Denial of Service in Software Defined Netoworks
Denial of Service in Software Defined NetoworksDenial of Service in Software Defined Netoworks
Denial of Service in Software Defined Netoworks
 
From distributed caches to in-memory data grids
From distributed caches to in-memory data gridsFrom distributed caches to in-memory data grids
From distributed caches to in-memory data grids
 

En vedette

Citrix Day 2014: NetScaler Cisco ACE
Citrix Day 2014: NetScaler Cisco ACECitrix Day 2014: NetScaler Cisco ACE
Citrix Day 2014: NetScaler Cisco ACEDigicomp Academy AG
 
Bri forum 2011 advanced netscaler customizations
Bri forum 2011   advanced netscaler customizationsBri forum 2011   advanced netscaler customizations
Bri forum 2011 advanced netscaler customizationsCCOSTAN
 
Common Pitfalls when Setting up a NetScaler for the First Time
Common Pitfalls when Setting up a NetScaler for the First TimeCommon Pitfalls when Setting up a NetScaler for the First Time
Common Pitfalls when Setting up a NetScaler for the First TimeDavid McGeough
 
Advanced Netscaler Customizations-BriForum 2011
Advanced Netscaler Customizations-BriForum 2011Advanced Netscaler Customizations-BriForum 2011
Advanced Netscaler Customizations-BriForum 2011shoesing
 
In-depth Troubleshooting on NetScaler using Command Line Tools
In-depth Troubleshooting on NetScaler using Command Line ToolsIn-depth Troubleshooting on NetScaler using Command Line Tools
In-depth Troubleshooting on NetScaler using Command Line ToolsDavid McGeough
 
Troubleshooting Common Network Related Issues with NetScaler
Troubleshooting Common Network Related Issues with NetScalerTroubleshooting Common Network Related Issues with NetScaler
Troubleshooting Common Network Related Issues with NetScalerDavid McGeough
 

En vedette (6)

Citrix Day 2014: NetScaler Cisco ACE
Citrix Day 2014: NetScaler Cisco ACECitrix Day 2014: NetScaler Cisco ACE
Citrix Day 2014: NetScaler Cisco ACE
 
Bri forum 2011 advanced netscaler customizations
Bri forum 2011   advanced netscaler customizationsBri forum 2011   advanced netscaler customizations
Bri forum 2011 advanced netscaler customizations
 
Common Pitfalls when Setting up a NetScaler for the First Time
Common Pitfalls when Setting up a NetScaler for the First TimeCommon Pitfalls when Setting up a NetScaler for the First Time
Common Pitfalls when Setting up a NetScaler for the First Time
 
Advanced Netscaler Customizations-BriForum 2011
Advanced Netscaler Customizations-BriForum 2011Advanced Netscaler Customizations-BriForum 2011
Advanced Netscaler Customizations-BriForum 2011
 
In-depth Troubleshooting on NetScaler using Command Line Tools
In-depth Troubleshooting on NetScaler using Command Line ToolsIn-depth Troubleshooting on NetScaler using Command Line Tools
In-depth Troubleshooting on NetScaler using Command Line Tools
 
Troubleshooting Common Network Related Issues with NetScaler
Troubleshooting Common Network Related Issues with NetScalerTroubleshooting Common Network Related Issues with NetScaler
Troubleshooting Common Network Related Issues with NetScaler
 

Similaire à #lspe: Dynamic Scaling

Open stack in sina
Open stack in sinaOpen stack in sina
Open stack in sinaHui Cheng
 
Dragonflow Austin Summit Talk
Dragonflow Austin Summit Talk Dragonflow Austin Summit Talk
Dragonflow Austin Summit Talk Eran Gampel
 
Performance testing in scope of migration to cloud by Serghei Radov
Performance testing in scope of migration to cloud by Serghei RadovPerformance testing in scope of migration to cloud by Serghei Radov
Performance testing in scope of migration to cloud by Serghei RadovValeriia Maliarenko
 
Citrix - More Applications, More Security, More Availability
Citrix - More Applications, More Security, More AvailabilityCitrix - More Applications, More Security, More Availability
Citrix - More Applications, More Security, More Availabilitydataplex systems limited
 
Integrating OpenStack To Existing Infrastructure
Integrating OpenStack To Existing InfrastructureIntegrating OpenStack To Existing Infrastructure
Integrating OpenStack To Existing InfrastructureHui Cheng
 
Enterprise Service Delivery from the AWS Cloud (ARC208) | AWS re:Invent 2013
Enterprise Service Delivery from the AWS Cloud (ARC208) | AWS re:Invent 2013Enterprise Service Delivery from the AWS Cloud (ARC208) | AWS re:Invent 2013
Enterprise Service Delivery from the AWS Cloud (ARC208) | AWS re:Invent 2013Amazon Web Services
 
Patterns & Practices of Microservices
Patterns & Practices of MicroservicesPatterns & Practices of Microservices
Patterns & Practices of MicroservicesWesley Reisz
 
Application Portability with Kubernetes (k8)
Application Portability with Kubernetes (k8)Application Portability with Kubernetes (k8)
Application Portability with Kubernetes (k8)Kublr
 
Openstack HA
Openstack HAOpenstack HA
Openstack HAYong Luo
 
Complex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBaseComplex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBasedarach
 
Meetup open stack_grizzly
Meetup open stack_grizzlyMeetup open stack_grizzly
Meetup open stack_grizzlyeNovance
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosBrent Salisbury
 
FlowN vs FlowVisor: Scalable Network Virtualization in SDN
FlowN vs FlowVisor: Scalable Network Virtualization in SDNFlowN vs FlowVisor: Scalable Network Virtualization in SDN
FlowN vs FlowVisor: Scalable Network Virtualization in SDNHao Jiang
 
DEVNET-1140 InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...
DEVNET-1140	InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...DEVNET-1140	InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...
DEVNET-1140 InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...Cisco DevNet
 
NetScaler and advanced networking in cloudstack
NetScaler and advanced networking in cloudstackNetScaler and advanced networking in cloudstack
NetScaler and advanced networking in cloudstackDeepak Garg
 
Overcoming the Top Four Challenges to Real-Time Performance in Large-Scale, D...
Overcoming the Top Four Challenges to Real-Time Performance in Large-Scale, D...Overcoming the Top Four Challenges to Real-Time Performance in Large-Scale, D...
Overcoming the Top Four Challenges to Real-Time Performance in Large-Scale, D...SL Corporation
 
Netflix Massively Scalable, Highly Available, Immutable Infrastructure
Netflix Massively Scalable, Highly Available, Immutable InfrastructureNetflix Massively Scalable, Highly Available, Immutable Infrastructure
Netflix Massively Scalable, Highly Available, Immutable InfrastructureAmer Ather
 
Optimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsight
Optimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsightOptimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsight
Optimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsightHBaseCon
 
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 ...Josef Adersberger
 

Similaire à #lspe: Dynamic Scaling (20)

Open stack in sina
Open stack in sinaOpen stack in sina
Open stack in sina
 
Dragonflow Austin Summit Talk
Dragonflow Austin Summit Talk Dragonflow Austin Summit Talk
Dragonflow Austin Summit Talk
 
Performance testing in scope of migration to cloud by Serghei Radov
Performance testing in scope of migration to cloud by Serghei RadovPerformance testing in scope of migration to cloud by Serghei Radov
Performance testing in scope of migration to cloud by Serghei Radov
 
Citrix - More Applications, More Security, More Availability
Citrix - More Applications, More Security, More AvailabilityCitrix - More Applications, More Security, More Availability
Citrix - More Applications, More Security, More Availability
 
Integrating OpenStack To Existing Infrastructure
Integrating OpenStack To Existing InfrastructureIntegrating OpenStack To Existing Infrastructure
Integrating OpenStack To Existing Infrastructure
 
Enterprise Service Delivery from the AWS Cloud (ARC208) | AWS re:Invent 2013
Enterprise Service Delivery from the AWS Cloud (ARC208) | AWS re:Invent 2013Enterprise Service Delivery from the AWS Cloud (ARC208) | AWS re:Invent 2013
Enterprise Service Delivery from the AWS Cloud (ARC208) | AWS re:Invent 2013
 
Patterns & Practices of Microservices
Patterns & Practices of MicroservicesPatterns & Practices of Microservices
Patterns & Practices of Microservices
 
Application Portability with Kubernetes (k8)
Application Portability with Kubernetes (k8)Application Portability with Kubernetes (k8)
Application Portability with Kubernetes (k8)
 
Openstack HA
Openstack HAOpenstack HA
Openstack HA
 
Complex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBaseComplex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBase
 
Meetup open stack_grizzly
Meetup open stack_grizzlyMeetup open stack_grizzly
Meetup open stack_grizzly
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow Demos
 
OVS-LinuxCon 2013.pdf
OVS-LinuxCon 2013.pdfOVS-LinuxCon 2013.pdf
OVS-LinuxCon 2013.pdf
 
FlowN vs FlowVisor: Scalable Network Virtualization in SDN
FlowN vs FlowVisor: Scalable Network Virtualization in SDNFlowN vs FlowVisor: Scalable Network Virtualization in SDN
FlowN vs FlowVisor: Scalable Network Virtualization in SDN
 
DEVNET-1140 InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...
DEVNET-1140	InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...DEVNET-1140	InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...
DEVNET-1140 InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...
 
NetScaler and advanced networking in cloudstack
NetScaler and advanced networking in cloudstackNetScaler and advanced networking in cloudstack
NetScaler and advanced networking in cloudstack
 
Overcoming the Top Four Challenges to Real-Time Performance in Large-Scale, D...
Overcoming the Top Four Challenges to Real-Time Performance in Large-Scale, D...Overcoming the Top Four Challenges to Real-Time Performance in Large-Scale, D...
Overcoming the Top Four Challenges to Real-Time Performance in Large-Scale, D...
 
Netflix Massively Scalable, Highly Available, Immutable Infrastructure
Netflix Massively Scalable, Highly Available, Immutable InfrastructureNetflix Massively Scalable, Highly Available, Immutable Infrastructure
Netflix Massively Scalable, Highly Available, Immutable Infrastructure
 
Optimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsight
Optimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsightOptimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsight
Optimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsight
 
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 ...
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Dernier (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

#lspe: Dynamic Scaling

  • 1. #lspe: Dynamic Scaling Shock Absorbers and APIs Steve Shah Sr. Director, Product Management February 21, 2013
  • 2. Disclaimer • I’m going to talk about a product. ᵒIt’s kind of necessary in order to make this talk useful. ᵒBut a lot of you have this product or know someone that does! ᵒThe product is pretty cool… ᵒIt can also sing and dance. ᵒMaking coffee is on the roadmap. • Sorry. ᵒYes, I am marketing scum. ᵒNo, I will not to do a hard sell. • My Competition ᵒGoogle it. No really… It’s not hard to find them. ᵒTheir product has various approaches too. I encourage you to ask them.
  • 3. What is NetScaler? Performan Availability ce Offload Security NetScaler powers some of the world’s largest infrastructures.
  • 4. 1998 to 2012: From Load Balancing to Virtual Networking 1998 1999 2002 2003 2005 2006 2008 2009 2011 L4 SLB L7 SLB SSL SSLVPN AppFW ICA XML VPX SDX GSLB CMP RHI SIP IPv6 nCore EdgeSight AppFlow MUX DNS AAA-TM DataStream RHI = Route Health Injection Secret Decoder Ring: ICA = App Proxy for ICA SLB = Server Load Balancing IPv6 = IPv6 Routing, Switching, LB GSLB = Global Server Load Balancing XML = XML Security, Routing MUX = HTTP Multiplexing VPX = Virtual NetScaler SSL = SSL Acceleration nCore = multi-core scaling CMP = HTTP Compression SDX = Multi-tenant NetScaler DNS = DNS Load Balancing / Proxy
  • 5. Agenda • Things That Impact Scalability • Shock Absorbers • Out Scaling • Your ADC has an API!
  • 6. Things That Impact Scalability Touching on a bit of theory…
  • 7. Load is Not Linear • There are startup costs for enabling features in an ADC (memory and CPU) • However, each incremental request takes a small fraction of resources • As load increases, some global functions can take resources as well ᵒE.g., flushing unused IP fragments, running timers, management overhead, etc.
  • 8. Data Structures and Big O • I/O, Data structures, and String processing are big factors • The two that get you are data structures and string ᵒACLs, VLANs, connection table, connection state, persistence table, etc. ᵒHTTP request processing and policy execution • Know your Big O – understand their impact ᵒBig O notation is how programmers describe efficiency of algorithms ᵒE.g., O(n) vs. O(log n) vs. O(1)
  • 10. Launching v8: The Role of Data Structures • Story time… launching a major service and what we learned • Major new roll-out – expected to double the number of servers to handle • Early testing revealed that large numbers of slow connections are meh • Invest in your data structures! Clean up on several core structures •  Average connection lookup time driven to near constant time: O(1) •  Stir in a team that dreams in assembly language and can see cache misalignment by glancing at code and shave another 20% off connection lookup times (absolute times) • Lesson: drive your apps to good data structures. Drive your vendors to do better.
  • 11. MaxConns and SurgeQ Incoming load Peak perf – we want to stay there Typical server performance curve
  • 12. MaxConns and SurgeQ Queue incoming requests in the ADC Set max conns here Server stays operating at maximum throughput
  • 13. Story time: When 4 Hurricanes Hit
  • 15. The SR-71 Approach: Go Faster Treat a collection of NS devices • Single System like a grand unified “big” device ᵒconfigured and managed as a single logical system • Scalable The Sheet-metal Test Steps: ᵒscales with number of devices • Take a cluster of NS, and an L2 switch. (distributes work) • Configure the devices to your liking. • Wrap the whole thing with sheet-metal, such that only the network ports remain exposed. • Fault Tolerant Test: ᵒHandles device failure, addition… Must be able to configure and use this contraption as if it were just another NS box. • Dynamic • connect wires into any visible port(s), create LAGs at will, enable L2 mode, MBF … • point GUI to Cluster’s IP and configure away
  • 16. Clustering • Create a single system image out of a collection of instances ᵒInstances = virtual machines, physical instances, or instances on multi-tenant boxes • True shared management + data plane (the sheet metal test) • Shared state for key data structures (persistence, health check, etc.) • Linear scale by adding instances (up to 32) • Ability to manage faults with proportional degradation
  • 17. Real-time Policy Based Analytics Actions Bandwidth Compress Connections Cache Top ‘N Requests Log Response Time Drop Frequency Respond Policy Based Decision Traffic Selection Feedback loop
  • 18. Scaling Globally Active Mirror Site Site Global Server Load Balancing Route Health Injection (GSLB) (RHI) NetScaler uses DNS to send users to the closest site based NetScaler dynamically updates routing tables to direct on administrator defined metrics (geography, topology, clients to the active site based on real-time health site performance, availability) monitoring of backend infrastructure.
  • 19. Your ADC Has an API!
  • 20. API in a Nutshell: Your ADC Has This API Interfaces Client Toolkits Policy Statistics Scripting OOP Reverse Bulk Granular SOAP RESTful Perl/PHP/Python/ Java/C#/ASP/ JSON/XML PowerShell .NET based Call-Out Reporting Reporting
  • 21. More RESTful - HTTP Status Code REQUEST RESPONSE Success Case: Success Case GET http://<nsip>/nitro/v1/config/lbvserver/lbv1 HTTP 200 OK Failure Case: POST http://<nsip>/nitro/v1/config/lbvserver Failure Case: Content- Type:application/vnd.com.citrix.netscaler.lbvser HTTP/1.0 409 Conflict ver+json { {"lbvserver": "errorcode": 273, {"name":"lbv111", "servicetype":"HTTP"} "message": "Resource already exists", } "severity": "ERROR" } Citrix Confidential - Do Not Distribute
  • 22. Example: Using Java Indicate we want “rollback on failure” in this session Prepare 3 lbvservers to be added in one bulk operation Output Print results No attempt to add “lb3” because of Rollback behavior
  • 23. AutoSense and AutoScale NetScalerautomatically is auto-provisionedabnormal behavior withbindings Traffic is monitoring engine auto-detects byin new serviceon NetScaler NetScaler NetScaler scaled for the newly added services does servers NetScaler triggers AutoScale capability CloudStack CloudStack “auto-provisions”CloudStack provides CloudStackAutoScale policy On successful AutoScale, adds server instances Latency, Throughput … NetScaler automatically new new service resources and descriptions monitors servers to CPU, Memory, based on M M M Internet M M M CloudStack
  • 24. Work better. Live better.

Notes de l'éditeur

  1. NetScaler enhances the deliver of your customers web applications across four principle dimensions (click). These include Availability, Performance, Offload, and Security; all built on a common IT interface and providing an excellent ROI.Within each feature category there are numerous techniques (CLICK) delivered by NetScaler and I will elaborate on each.Customers gain:100% application availability via our world-class L4-L7 load balancing capabilities and intelligent service health monitoring featuresAccelerated application performance by 5x through static and dynamic content caching and compressionAn average of 60% in application infrastructure savings through connection pooling and offloading SSL processing from servers; this is especially important for Web 2.0 applicationsEnd-to-end application security with integrated Access Gateway Enterprise for secure remote access and an application firewall for protectionagainst application layer attacks