1 High Availability HTTP/S R.P. (Adi) Aditya Senior Network Architect
2 HTTP/S is not the Internet HTTP/S Internet so why care about High Availability HTTP/S? because HTTP/S is such a large part of the interactive Internet, we need, responsive, always available web applications
3 HTTP HTML is the markup used for websites HTTP is the common Layer-4 protocol that is typically carries traffic between Server (website) and Client (browser). HTTP/L4 is carried on TCP/L3 -- TCP provides a connection over the IP (packet) network
4 HTTP (1.0) was and is successful
5 HTTP 1.1 added refinements what we care about for this discussion: request pipelines/multiplexing connection keepalives
8 If the TCP connection fails because the server fails, the website is unavailable -- how do we minimize the chance that happens?
9 When things fail, cluster! HTTP has no defined behaviour for "retry" or "failover" when a website does not respond. So the responsibility for "clustering" falls to the infrastructure layer -- L3 or below. To be clear, resorting to SLBs represents a failure of application and L4 protocol design! (according to network folks)
10 Round Robin DNS
11 State sync between servers? application often needs to be shared between browser and server (eg. shopping cart or list of exam questions answered) this state is stored in a "session", typically on the server side and a "pointer" is given to the browser to send on each subsequent request use HTTP cookies or some other shared token between browser and server
12 Distributed systems so how to replicate sessions between cluster members? luckily HTTP is request/response!
13 Network Server Load Balancer
14 Redundant load-balancers, redundant servers and "transparent" automatic failover
15 How do we prevent the failover or unintended flip-flopping between backend servers? A persistence mechanism.
16 Persistence methods need a way to identify individual clients and always send them to the same (up) server could use client (src) IP address, but in case of NAT or proxy-server could overload backend server -- also need to maintain mapping table from src IP to backend on SLB eating memory prefer having the SLB insert an additional cookie with the mapping on the first response - scales well
17 And what happens to the persistence if a backend server fails?
18 SSL Offload We want the browser/client to think that the Network SLB is the webserver We want the SLB to be able to look at the HTTP headers (and possibly request body) So we need to decrypt SSL at the SLB, so need the site SSL cert and key on the SLB That allows us to insert persistence cookie!
19 Some problems using a SLB lack of end-to-end sessions (SLB needs to understand protocol) lack of transparency when troubleshooting -- yet another bump in the wire to muck things up SSL-offload is computationally expensive expensive hard/soft-ware, many bad choices hard to find developers who understand the network and SLB, hard to find network folks who understand the application
20 use a SLB to provide IPv6 for a website
21 HA beyond a single site GSLB - Global server load-balancing = usually uses DNS to redirect to a "closest" datacenter, and then depend on that staying up -- workable, but not "transparent" short DNS ttls and quick failover? possible, but again, puts client's cache behaviour in charge Anycast routing - works, but tricky to troubleshoot
22 SRV records
23 Why not SRV today? only promised support in browsers feature request open in Firefox (12 years and counting), Chrome and Safari not clear for other browsers maybe we wait for HTTP 2.0, likely beyond because current RFC is early draft
25 Anycast auto-routes to "nearest" instance of app
26 Anycast auto-reroutes on failure of an app instances
30 UM LMS anycast routing stability red lines are route switches, all above, since July, happen during planned maintenance -- real measure of stability is whether end-users see session loss due to switch
Single Pass Load Balancing with Session Persistence in IPv6 Network C. J. (Charlie) Liu Network Operations Charter Communications Load Balancer Today o Load balancing is still in use today. It is now considered
Load Balancing and Sessions C. Kopparapu, Load Balancing Servers, Firewalls and Caches. Wiley, 2002. Scalability multiple servers Availability server fails Manageability Goals do not route to it take servers
5 Easy Steps to Implementing Application Load Balancing for Non-Stop Availability and Higher Performance DEPLOYMENT GUIDE Prepared by: Jim Puchbauer Coyote Point Systems Inc. The idea of load balancing
FortiOS Handbook Load Balancing for FortiOS 5.0 FortiOS Handbook Load Balancing for FortiOS 5.0 November 6, 2012 01-500-99686-20121106 Copyright 2012 Fortinet, Inc. All rights reserved. Fortinet, FortiGate,
Web Switching (Draft) Giuseppe Attardi, Università di Pisa Angelo Raffaele Meo, Politecnico di Torino January 2003 1. The Problem Web servers are becoming the primary interface to a number of services,
Creating Web Farms with Linux (Linux High Availability and Scalability) Horms (Simon Horman) firstname.lastname@example.org December 2001 For Presentation in Tokyo, Japan http://verge.net.au/linux/has/ http://ultramonkey.org/
Appliance Administration Manual v6.21 This document covers all required administration information for Loadbalancer.org appliances Copyright 2014 Loadbalancer.org, Inc. Table of Contents Section A Introduction...7
Advanced Server Load-Balancing Deployment Guide Revision: H1CY11 The Purpose of this Guide This guide is a concise reference on server load balancing. This guide introduces the Cisco Application Control
Tech Note: TechNote - Deploying CPPM with F5 BIG-IP Local Traffic Manager (LTM) Version Date Modified By Comments 0.1 July 2014 Danny Jump Early Draft Version 0.2 / 0.3 07/11/2014 Con Stathis Added sections
The recognized leader in proven and affordable load balancing and application delivery solutions White Paper 7 Easy Steps to Implementing Application Load Balancing For 100% Availability and Accelerated
FortiBalancer: Global Server Load Balancing WHITE PAPER FORTINET FortiBalancer: Global Server Load Balancing PAGE 2 Introduction Scalability, high availability and performance are critical to the success
Load Balancing 101: The Evolution to Application Delivery Controllers Introduction One of the unfortunate effects of the continued evolution of the load balancer into today s application delivery controller
C H A P T E R 4 Layer 7 Load Balancing and Content Customization This chapter will discuss the methods and protocols involved in accomplishing a Layer 7 load-balancing solution. The reasons for and benefits
IOS Server Load Balancing Feature History Release 12.0(7)XE 12.1(1)E Modification This feature was introduced with support for the following platforms: Catalyst 6000 Family Switches with Supervisor Engine
Load Balancing Microsoft IIS Deployment Guide rev. 1.4.2 Copyright 2015 Loadbalancer.org, Inc. 1 Table of Contents About this Guide... 4 Appliances Supported... 4 Microsoft IIS Software Versions Supported...
UNIVERSITY OF OSLO Department of Informatics Performance Measurement of Web Services Linux Virtual Server Muhammad Ashfaq Oslo University College May 19, 2009 Performance Measurement of Web Services Linux
Demand Routing in Network Layer for Load Balancing in Content Delivery Networks # A SHRAVANI, 1 M.Tech, Computer Science Engineering E mail: email@example.com # SYED ABDUL MOEED 2 Asst.Professor,
White Paper Place graphic in this box The ABCs of ADCs The Basics of Server Load Balancing and the Evolution to Application Delivery Controllers Introduction Whether you need to expand an application from
INTRODUCTION TO LINUX CLUSTERING DOCUMENT RELEASE 1.1 Copyright 2008 Jethro Carr This document may be freely distributed provided that it is not modified and that full credit is given to the original author.
Red Hat Enterprise Linux 7 Load Balancer Administration Load Balancer Add-on for Red Hat Enterprise Linux Red Hat Engineering Content Services Red Hat Enterprise Linux 7 Load Balancer Administration Load
Linux Virtual Server Administration RHEL5: Linux Virtual Server (LVS) Linux Virtual Server Administration: RHEL5: Linux Virtual Server (LVS) Copyright 2007 Red Hat, Inc. Building a Linux Virtual Server
Put your business-critical activities in good hands If your income depends on the continuous availability of your servers, you should ask your hosting provider for a high availability solution. You may