20
Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

Embed Size (px)

Citation preview

Page 1: Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

Putting the Network to WorkManish Vachharajani

Senior Architect, F5 Networks

Page 2: Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

© F5 Networks, Inc 2

The Internet

Servers

Your App vs. the Network

Devices

Users

Page 3: Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

© F5 Networks, Inc 3

The Internet

• Limited Bandwidth

• Long Round Trip Times (RTT, aka Ping Time)

• Poor protocol and web browser interactions

Your App vs. the Network (2)

Devices

Users

Servers

Router Firewall

Page 4: Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

© F5 Networks, Inc 4

High Performance Websites in One Slide• Avoid Render Blocking by Scripts

• Avoid Render Blocking by CSS

• Minify HTML

• Minify Javascript

• Minify CSS

• Optimize Images

• Avoid Landing Page Redirects

• Prioritize Visible Content

• Leverage Browser Caching

• Reduce Server Response Time

• Optimize TCP for client networks

• Route clients to the best datacenter

• Use SSL False start

• Enable SSL Reuse

• Use OCSP stapling

• Use HSTS

Page 5: Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

© F5 Networks, Inc 5

• Web Page Test (www.webpagetest.org)

Network Waterfall Timing Diagram

Page 6: Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

© F5 Networks, Inc 6

Javascript and the Network

Page 7: Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

© F5 Networks, Inc 7

Transport CompressionAfter compression

Before Compression

INCREASED LATENCY

1.5 seconds faster

Page 8: Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

© F5 Networks, Inc 8

CSS and the Network

Page 9: Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

© F5 Networks, Inc 9

Images, other External Resources and the Network

150 KB IMAGES

CSS CASCADE

Page 10: Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

© F5 Networks, Inc 10

Semantic Compression – Minification and JPGPNG IS BETTER

JPG IS BETTER

UGLIFYCSS, …

UGLIFYJS, …

Page 11: Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

© F5 Networks, Inc 11

Inlining Content GROSS!

BUT EFFECTIVE!

• SPDY AND HTTP/2.0 RESOLVE CONNECTION BLOCKING WITH MULTIPLE STREAMS PER CONNECTION

Page 12: Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

© F5 Networks, Inc 12

• RTT is primarily controlled by ISP infrastructure

• Cannot reduce RTT• Except by moving TCP end points closer to the client• CDN, proper DNS resolution to closest datacenter

RTT and Connection Establishment

Client

ServerSYN

SYN/ACK

ACK

HTTP Request

Speed Of Light, NY to London is 28 ms

1.5 RTT = 84ms

56 ms

Page 13: Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

© F5 Networks, Inc 13

Now add TLS/SSL

Client

ServerSYN

SYN/ACK

ACK/Client Hello

224 msServer Hello/Cert/etc.

ClientKeyExchange/Ciphers

Ciphers

HTTP Request

Page 14: Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

© F5 Networks, Inc 14

• Score your site: https://www.ssllabs.com/ssltest/

• See istlsfastyet.com for suggestions• Session resumption (i.e., reuse, caching ok, tickets preferred) reduces

RTs• To 168 ms in prior example (1 RT)

• SSL False Start• Concurrently transmit application data with ClientKeyExchange• Overlaps application data transfer with session establishment,

hiding latency• Early Termination• Terminate connections closer to the end client

• OCSP Stapling• Eliminate network traffic for client to validate server certificate

• HTTP Strict Transport Security• Avoid HTTP to HTTPS redirect on subsequent visits

Optimize SSL

Page 15: Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

Lots of Other Stuff

There are dozens of talks about how to best do each of these things, and avoid the problems. There are other effects and optmizations I have not even discussed here, and are not covered by Google Page Speed and other tools

Page 16: Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

© F5 Networks, Inc 16

The Internet

F5 BIG IP

Devices

Users

Servers

DNS, Firewall, Load Balancing, Content Optimization, TCP

optimization, SSL Acceleration, …

BIG-IP Platform

Page 17: Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

© F5 Networks, Inc 17

BIG IP Examples

Devices

Servers

DNS, Firewall, Load Balancing, Content Optimization, TCP

optimization, SSL Acceleration, …

BIG-IP Platform

The Internet

GET /index.html HTTP/1.1 GET /index.html HTTP/1.1

GET /index.css HTTP/1.1

GET /index.js HTTP/1.1

Returns minified index.html minified inlined index.css, inlined imports inlined and minified index.js inlined images, etc. (inlining, minification configurable)

• TCP OPTIMIZED• SSL OPTIMIZED• CACHE HEADERS ADDED• OPTIONAL CACHING• URL REWRITING (CDN,

ETC.)• SPDY, HTTP/2.0• …

Page 18: Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

© F5 Networks, Inc 18

• Hardware, Virtual Machine, Cloud Marketplace• VMWare, Xen, KVM, and AWS Marketplace, BYOL in other clouds• More deployment options going forward

BIG IP Form Factors and Availability

Page 19: Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

© F5 Networks, Inc 19

• Node.js in the datapath• Bare Metal or VM (high performance or high density)• Fully automated deployment via true REST API• Download and buy at linerate.f5.com

LineRate

Page 20: Putting the Network to Work Manish Vachharajani Senior Architect, F5 Networks

Booth #508