An Overview of Amazon Silk
Jon Jenkins Twitter - @jonjenk jjenkin@amazon.com O’Reilly Velocity EU November 8, 2011
Amazon’s new cloud-powered browser
An Overview of Amazon Silk Amazons new cloud-powered browser Jon - - PowerPoint PPT Presentation
An Overview of Amazon Silk Amazons new cloud-powered browser Jon Jenkins Twitter - @jonjenk jjenkin@amazon.com OReilly Velocity EU November 8, 2011 Web Page Complexity is Steadily Increasing Amazons Home Page ~1996 2 elements 1
Jon Jenkins Twitter - @jonjenk jjenkin@amazon.com O’Reilly Velocity EU November 8, 2011
Amazon’s new cloud-powered browser
~1996
2 elements 1 domain 10 kilobytes
~1996 2011
2 elements 1 domain 10 kilobytes 96 elements 12 domains 530 kilobytes
Total Elements Total Kilobytes
20 40 60 80 100 120 1996 1998 2000 2002 2004 2006 2008 2010 100 200 300 400 500 600 700 1996 1998 2000 2002 2004 2006 2008 2010
Total Elements Per Page Total Kilobytes Per Page
68 70 72 74 76 78 80 82 84 86 Nov-10 Oct-11 600 650 700 750 800 850 Nov-10 Oct-11
HTML Elements Per Page HTML Kilobytes Per Page
1 2 3 4 5 6 7 8 Nov-10 Oct-11 32 33 34 35 36 37 38 Nov-10 Oct-11
Javascript Elements Per Page Javascript Kilobytes Per Page
2 4 6 8 10 12 14 16 Nov-10 Oct-11 60 80 100 120 140 160 Nov-10 Oct-11
CSS Elements Per Page CSS Kilobytes Per Page
1 2 3 4 5 Nov-10 Oct-11 22 23 24 25 26 27 28 29 30 31 Nov-10 Oct-11
Images Per Page Image Kilobytes Per Page
45 46 47 48 49 50 51 52 53 54 Nov-10 Oct-11 400 420 440 460 480 500 520 Nov-10 Oct-11
Number of Domains Per Page
2 4 6 8 10 12 14 Nov-10 Oct-11
Average Page Speed Score
79 80 81 82 83 84 85 86 Nov-10 Oct-11
Desktop Laptop Tablet Phone CPU Quad 2.1Ghz Dual 2.1Ghz Dual 1.2Ghz Dual 1Ghz Memory 4GB 3GB 1GB 512MB Disk/Flash 1000GB 320GB 32GB 8GB Network 1Gbps 54Mbps 54Mpbs 10Mbps
Amazon Detail Page Load Times By Platform (milliseconds)
2000 4000 6000 8000 10000 12000 Sunday Wenesday Saturday Desktop Smart Phone iPad
www.google.com 15 elements 238 kilobytes 2 domains 1.951 sec load time www.cnn.com 175 elements 1,737 kilobytes 23 domains 11.181 sec load time
Kindle Fire EC2
Kindle Fire EC2
Kindle Fire EC2
AWS
Optimizers Optimizers Browser Frontend ser WebKit
SPDY
Internet
HTTP(S)
Optimizers Browser Backend Distributed Cache
Browser Frontend ser WebKit
Rendering engine is Webkit JavaScript engine is V8 The application layer is built from scratch Automatic user agent mode Flash 10.3 support Falls back to local rendering on failure
Infrastructure is hosted on AWS No user-identifiable data logged Logs not kept for more than 30 days Optimizers will evolve over time
AWS
Optimizers Browser Backend Distributed Cache
Image optimization Content minification Content compression Content push via page indexes Predictive rendering
Optimizers Optimizers Optimizers
Silk client and server communicate via SPDY
Multiplexed concurrent streams Request prioritization Compression Encryption Server push
Silk server communicates via HTTP(S) Silk client uses HTTP(s) when turned off SSL is always routed direct to origin
SPDY HTTP(S)
User Agent Strings At Launch
Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Cloud9/1.0.0) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Cloud9/1.0.0) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16
User Agent String After First Software Update
Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Silk/1.1.0-72) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 Silk- Accelerated=true
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.1.0-72) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk- Accelerated=true
Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Silk/1.1.0-72) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 Silk- Accelerated=false
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.1.0-72) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk- Accelerated=false
Original IP address propagated in x-forwarded-for header We strictly obey caching headers Caching reduces sites bandwidth costs for site owners Content is optimized, but never replaced
Everything is encrypted when in acceleration mode Caching on Silk server saves storage on the client Content compression saves bandwidth Acceleration can be turned off in settings menu Flash can be turned off in settings menu Browser works in offline mode for local content
Elastic Compute Cloud Elastic Block Store Elastic Load Balancing Auto Scaling CloudWatch CloudFormation Identity & Access Mgmt Route 53 Simple Queue Service Simple Storage Service Elasticache
References
Wi-fi Power Saving Mode (slide 16) http://www.networkworld.com/research/2008/051208-wireless-power-standards.html Radio Resource Control (slide 16) http://stevesouders.com/ms/ Data about growth of mobile (slide 14) http://www.onlinemarketing-trends.com/2011/06/state-of-tablet-adoption-infographic.html http://www.kpcb.com/internettrends2011 Web Page Test Data for CNN (slide 24) http://www.webpagetest.org/result/111107_5T_23VNE/ Web Page Test Data for Google (slide 24) http://www.webpagetest.org/result/111108_JP_23ZW2/ HTTP Archive Data (slide 6) http://httparchive.org/trends.php?s=intersection Internet Wayback Machine (slide 5) http://wayback.archive.org/web/*/http://www.amazon.com