Traffic Management In The Cloud


Published on

Lightning Talk by Raja Srinivasan of Zeus at CloudCamp in the Cloud on Traffic Management In The Cloud

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Developing role of ADC into managing cloud computing transactions: Zeus Cloud GatewayAddresses pain points of organisations working with or in the cloud: private clouds, public clouds, hybrid clouds.Interface between P,V & C – so helps with migratiion of services & apps into the cloud “on-ramp”Irrespective of how cloud being used: whether for bursting to provide additional capacity, or enterprise deployment on-premises with additional services in the cloud, or whether full enterprise deployment into the cloud.Common set of pain points to be addressed:I need to control how my apps interact with the cloud, and to ensure cloud usage complies with defined business policies for data sharing and privacyI need to ensure my interactions with the cloud are secureI need to be able to log & audit my interactions with the cloudI must only share data with trusted partiesI need to use the cloud cost-effectively, so want to find the least expensive offering availableI want to use the cloud to provide extra capacity, and need to ensure cloud-based apps are secureI need to ensure my apps meet SLAs, and I depend on services provided in the cloudI need to have visibility of cloud usage and bottlenecks in real time, to enable me to diagnose and resolve problemsZeus CG interacts with ZXTMs deployed in the cloud, providing availability and performance information. Zeus CG interacts with APIs from cloud providers to locate in-cloud apps and services, which may get moved, across single or multiple clouds.Zeus CG can also trigger actions, such as notifying the cloud provisioning system things that additional traffic volume is to be expected, and the cloud responds by deploying additional resources or capacity elastically to increase available capacity until it is no longer required.Zeus CG
  • Traffic Management In The Cloud

    1. 1. Traffic Management in the Cloud<br />Raja Srinivasan<br />Chief Cloud Evangelist<br />Zeus Technology<br />
    2. 2. © Zeus Technology 2008<br />Slide 2<br />Let’s buy load balancers<br />
    3. 3. © Zeus Technology 2009<br />Slide 3<br />Taxonomy of Traffic Managers<br />There’s a range of functionality:<br />Layer 4 load balancers: <br /> basic packet redirection<br />Layer 7 load balancers: <br /> understand HTTP, can apply some optimizations<br />Intelligent Traffic Managers: <br /> Application proxies that can be programmed to manage traffic in many different ways<br />
    4. 4. Layer 4 load balancers<br />© Zeus Technology 2009<br />Slide 4<br />SSL Decryption<br />Load Balancing<br />Session Persistence<br />request<br />Virtual Server (client connections)<br />Pool(server connections)<br />response<br />Layer 4 load balancer<br />A layer 4 load balancer can typically:<br /><ul><li>Load balance TCP packets and apply basic session persistence
    5. 5. Perform SSL decryption</li></ul>(features and capabilities vary by product)<br />
    6. 6. Layer 7 load balancers<br />© Zeus Technology 2009<br />Slide 5<br />SSL Decryption<br />DoS Protection<br />TCP Offload<br />Load Balancing<br />Session Persistence<br />SSL Encryption<br />HTTP Multiplexing<br />request<br />Virtual Server (client connections)<br />Pool(server connections)<br />response<br />Layer 7 load balancer<br />Content Compression<br />HTTP Caching<br />TCP Offload<br />Bandwidth Shaping<br />A layer 7 load balancer understands HTTP<br />(features and capabilities vary by product)<br />
    7. 7. Intelligent Traffic Managers<br />© Zeus Technology 2009<br />Slide 6<br />SSL Decryption<br />Service Protection<br />TCP Offload<br />Rate Shaping<br />Load Balancing<br />Session Persistence<br />Bandwidth Shaping<br />SSL Encryption<br />HTTP Multiplexing<br />Request rules<br /><ul><li>RuleBuilder
    8. 8. TrafficScript
    9. 9. Java Extensions</li></ul>request<br />Virtual Server (client connections)<br />Pool(server connections)<br />response<br />Content Compression<br />HTTP Caching<br />TCP Offload<br />Service Level Monitoring<br />Bandwidth Shaping<br />Transaction Logging<br />Response rules<br /><ul><li>RuleBuilder
    10. 10. TrafficScript
    11. 11. Java Extensions</li></ul>SOAP-based Control API<br />Event Handling API<br />Web and CLI interface (CLI in version 5.2)<br />
    12. 12. Cloud Traffic Management Challenges<br /><ul><li>Policy-based traffic management and control point for transactions with the cloud, based on availability, cost, performance, locale etc
    13. 13. Routing
    14. 14. Performance and SLA management
    15. 15. Access to services
    16. 16. Compliance
    17. 17. Visibility:
    18. 18. Monitoring
    19. 19. Analytics
    20. 20. Cloud usage tracking
    21. 21. Security:
    22. 22. Managing access to apps & services
    23. 23. Sharing data with trusted parties only
    24. 24. Application & transaction security
    25. 25. Validation & Audit
    26. 26. Transaction logging & reporting
    27. 27. Deployment:
    28. 28. On-premises or in the cloud</li></ul>Cloud 1<br />Service 2<br />Application 1<br />Service 1<br />Private or public cloud<br />Policy-based traffic management & control<br />Integration with Cloud Management System<br />Cloud Management System<br />AppLogic / RightScale<br />Enterprise<br />Physical-Virtual-Cloud<br />Slide 7<br />Slide 7<br />© Zeus Technology 2009<br />
    29. 29. © Zeus Technology 2008<br />Slide 8<br />Rapid Application Changes<br />The Cloud is all about “Rapid Application Deployment”<br />Scenario:<br />Your application has a fault<br />You need to reduce the attack surface by sealing the bug from attackers<br />
    30. 30. © Zeus Technology 2008<br />Slide 9<br />Rapid Application Changes<br />TrafficScript<br />$contentType = http.getResponseHeader( &quot;Content-Type&quot; );<br />if( $contentType != &quot;text/html&quot; ) break;<br />$body = http.getResponseBody();<br />$body = string.regexSub( $body, &quot;{3}-{2}-{4}&quot;, &quot;&quot;, &quot;g&quot; ); <br />http.setResponseBody( $body );<br />
    31. 31. © Zeus Technology 2008<br />Slide 10<br />Example - Gilt Groupe<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />Basic Load Balancer<br />400 Ruby on Rails nodes<br />
    32. 32. © Zeus Technology 2008<br />Slide 11<br />Gilt Groupe<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />C<br />Cache<br />Traffic Manager<br />400 Ruby on Rails nodes<br />
    33. 33. Different cache rules for different content types<br />Different versions of cached pages for different users<br />Controlling Caching with TrafficScript<br />© Zeus Technology 2008<br />Slide 12<br />TrafficScript<br />$ct = http.getResponseHeader( &quot;Content-Type&quot; );<br />if(http.getResponseCode() &gt;= 400 ) {<br />cache.setExpiry( 5 );<br />} else if( startsWith( $ct, &quot;image/&quot; ) ) {<br />cache.setExpiry( 60 );<br />} else {<br />cache.setExpiry( 10 );<br />}<br />“We found that with Content Caching and TrafficScriptTM, Zeus Traffic Manager is much more than a great load balancer – Zeus Traffic Manager is really an extension of our applications because of what it enables us to do.”<br />Phong Nguyen, VP R&D, Founder, Gilt Groupe<br />TrafficScript<br />/*... Get user status from cookie... */<br />cache.setCacheKey( $status );<br />
    34. 34. © Zeus Technology 2008<br />Slide 13<br />Managing your apps in the cloud<br />Your ‘app’ becomes an infinitely divisible quantity<br />
    35. 35. Smooth application upgrade process...<br />Three application instances running<br />© Zeus Technology 2008<br />Slide 14<br />
    36. 36. Smooth application upgrade process...<br />Clone one and direct developer users to it<br />© Zeus Technology 2008<br />Slide 15<br />
    37. 37. Smooth application upgrade process...<br />Ready to deploy... Clone the new application version<br />© Zeus Technology 2008<br />Slide 16<br />
    38. 38. Smooth application upgrade process...<br />Smoothly migrate users from ‘old’ to ‘new’<br />© Zeus Technology 2008<br />Slide 17<br />
    39. 39. Smooth application upgrade process...<br />Reap the old application once all sessions are complete<br />© Zeus Technology 2008<br />Slide 18<br /><ul><li>No downtime
    40. 40. No interruption in service
    41. 41. No time pressure during testing
    42. 42. Fully process controlled
    43. 43. Can roll-back at any point</li></li></ul><li>Migrating users<br />How do you migrate users <br />from one generation of an application <br />to another, seamlessly?<br />© Zeus Technology 2008<br />Slide 19<br />TrafficScript<br />$cookie = http.getCookie( &quot;MyPool&quot; );<br /> <br />if( $cookie ) {<br /> $cookie );<br />}<br /># If no cookie, Zeus will use the default pool<br />TrafficScript<br />$cookie = http.getCookie( &quot;MyPool&quot; );<br /> <br />if( !$cookie ) {<br />http.setResponseCookie( &quot;MyPool&quot;, connection.getPool() );<br />}<br />
    44. 44. © Zeus Technology 2008<br />Slide 20<br />Let’s buy load balancers<br />Where do I install this?<br />How do I audit and track changes?<br />Do I have access to the Data Center?<br />Dev, test and production?<br />What if I want to move my app?<br />
    45. 45. Load Balancer Taxonomy<br />Microsoft NLB<br />Zeus Traffic Manager<br />Zeus Load Balancer<br />Commercial<br />Software<br />ClusterScale<br />Netscaler VPX<br />Pound<br />Open<br />Source<br />Linux Virtual Server / IPVS<br />HAProxy<br />nginx<br />PerlBal<br />Kemp<br />Cisco CSS<br />Cisco ACE<br />Hardware <br />Load <br />Balancers<br />Barracuda<br />Nortel / Alteon<br />Citrix Netscaler<br /><br />F5 BigIP<br />Radware<br />Coyotepoint<br />Layer 7+<br />App. Delivery Controllers<br />Layer 7Advanced LBs<br />Layer 4Load Balancers<br />Slide 21<br />© Zeus Technology 2008<br />
    46. 46. Load Balancer Taxonomy<br />Commercial<br />Software<br />Microsoft NLB<br />Zeus Traffic Manager<br />Zeus Load Balancer<br />ClusterScale<br />Netscaler VPX<br />Pound<br />Linux Virtual Server / IPVS<br />Open<br />Source<br />HAProxy<br />nginx<br />PerlBal<br />Kemp<br />Cisco CSS<br />Cisco ACE<br />Hardware <br />Load <br />Balancers<br />Barracuda<br />Nortel / Alteon<br />Citrix Netscaler<br /><br />F5 BigIP<br />Radware<br />Coyotepoint<br />Layer 7+<br />App. Delivery Controllers<br />Layer 7Advanced LBs<br />Layer 4Load Balancers<br />Slide 22<br />© Zeus Technology 2008<br />
    47. 47. Traffic Managers in the Cloud<br />Commercial<br />Software<br />Microsoft NLB<br />Zeus Traffic Manager<br />Zeus Load Balancer<br />ClusterScale<br />Netscaler VPX<br />Pound<br />Open<br />Source<br />Linux Virtual Server / IPVS<br />HAProxy<br />nginx<br />PerlBal<br />Kemp<br />Cisco CSS<br />Cisco ACE<br />Hardware <br />Load <br />Balancers<br />Barracuda<br />Nortel / Alteon<br />Citrix Netscaler<br /><br />F5 BigIP<br />Radware<br />Coyotepoint<br />Layer 7+<br />App. Delivery Controllers<br />Layer 7Advanced LBs<br />Layer 4Load Balancers<br />Slide 23<br />© Zeus Technology 2008<br />
    48. 48. © Zeus Technology 2009<br />Slide 24<br />Talk to Zeus<br /><br />Raja Srinivasan,<br />