Driving Better Performance through to the End User Moderator: Dev Gupta, Services Manager, Akamai Jason McKenzie, Director Online Marketing, Global Brand and Communications, PwC Edgar Dorn, Lead Architect, Digital Marketing Platform Group, General Mills Accelerating Innovation Jim Anthony VP, Sales Engineering janthony@terremark.com Enterprise Requirements Enterprise-Class Platform • Compliant • High-performance • Global presence Highly Secure • Architecture • Assessment • Response Relevant & Accessible • Integration • Interoperability • Enablement Colocation • Global footprint of 50 top-tier facilities • Highly secure • Carrier-neutral global peering centers • Access to >160 global network providers • Flexible colocation solutions • • • • Cage, cabinet, private suite deployments Racking and cabling services Remote hands services NOC services Colocaiton GLOBAL DATA CENTER FOOTPRINT Infrastructure & Cloud Services NAP OF THE AMERICAS® • • • • 750,000 square foot purpose-built data center Global connectivity from >160 carriers, 15 domestic backbones 100% SLA on power and environmentals Home to critical Internet infrastructure and leading applications Infrastructure & Cloud Services NAP OF THE CAPITAL REGION™ • • • • 60-acre federal-grade data center campus Engineered to meet Uptime Institute Tier III standards Highest levels of physical security Headquarters building with secure 150-seat auditorium Networking & Connectivity Interconnect Services • • • • Cross-connect services Multiplexing/Demultiplexing International Gateway Optical Ring Termination Peering Services • Public or private arrangements • Fully-redundant Exchange Point Platform Managed Routing Service • • • • High-performance Internet transit Included with Cloud, Hosting Access to multiple Tier 1 networks 24/7 monitoring Additional Services • Custom architectural services • 24/7 NOC & SNOC services • Akamai CDN services Enterprise Cloud Enterprise Cloud • Virtual Private Cloud architecture • Powered by VMware vSphere • Private compute pools guarantee resources • Burst mode for dynamic scale • Secure, auditable and compliant • Physical device integration • Private network integration • Full-featured RESTful API • Available as dedicated private cloud vCloud™ Services • vCloud™ Express • vCloud™ Datacenter • Private/hybrid solution • vCloud API compatible Managed Hosting • Dedicated or virtualized environments • • • Additional support tiers available • • • • • Managed OS, infrastructure Device-level SLAs Database server support Application platform management Custom application support Transaction-level SLAs Professional Services • • Scalability testing Migration services Clients TMRK-INT082011 SW Driving Better Performance through to the End User Moderator: Dev Gupta, Services Manager, Akamai Jason MacKenzie, Director Online Marketing, Global Brand and Communications, PwC Edgar Dorn, Lead Architect, Digital Marketing Platform Group, General Mills Akamai Confidential ©2011 Akamai Measuring & Improving Performance Through to the End User Edgar Dorn | General Mills General Mills Akamai Confidential • One of the world’s largest food companies • $14.9 billion in FY11 net sales • 35,000 employees • Over 100 leading brands • Marketed in more than 100 countries ©2011 Akamai Web Technology Team • Implements and manages 350+ web applications • Over 150 million unique visitors a year • Completely dedicated ISP realm for our public websites • 2 BMC/Coradiant TrueSight appliances Akamai Confidential ©2011 Akamai Challenges • • • • • • • Our growth was exceeding our expectations Site traffic exceeding 1 terabyte daily Performance was good, but faster is always better Significant traffic spikes Better monitoring Hardware & Infrastructure SEO rankings Akamai Confidential ©2011 Akamai Improving & Measuring Performance Biggest performance gains • Website optimization • Leverage Akamai CDN • Extensive caching Ways in which we measure performance optimization • External website monitoring services • Internal monitoring service • BMC/Coradiant TrueSight appliances Akamai Confidential ©2011 Akamai Caching Strategy • • • • • Akamai Confidential Browser Edge Server side Distributed Service Endpoints ©2011 Akamai BMC/Coradiant TrueSight Appliances Benefits • Real time visualization of worldwide traffic experience • Measures application performance by the end user • Offers full range of monitoring tools and incident alerts BMC/Coradiant TrueSight Edge for Akamai “…a custom-built, software-based product that provides performance visibility into Web applications delivered by Akamai.” --Akamai Technologies, Inc. Easy Integration • Addition of 2 files to each website: .js and image • Akamai dynamically inserts a link to the javascript file for every page request Akamai Confidential ©2011 Akamai Real-time Traffic Monitoring Dashboard Akamai Confidential ©2011 Akamai Performance & Availability Dashboard Akamai Confidential ©2011 Akamai Overall Health Snapshot Akamai Confidential ©2011 Akamai Insight to the End User Experience Akamai Confidential ©2011 Akamai Incident Information in Detail Akamai Confidential ©2011 Akamai Highlights • • • • Optimize your web pages Too much smart caching is never enough Make sure you have an overall vision of your sites performance Speed is a feature, design your applications with performance in mind. Akamai Confidential ©2011 Akamai General Mills Fun Facts Every Day: • We provide 60 million servings of whole grain cereals worldwide • People consume 2 million pounds of Green Giant vegetables • 5 million people enjoy fresh-baked Pillsbury cookies • More than 1 million people savor the richness of Haagen-Dazs Ice Cream Akamai Confidential ©2011 Akamai Increasing offload and performance for a dynamic site Jason McKenzie | PwC Any opinions in this presentation are personal and it does not constitute or represent any advice or opinion of PwC. Akamai Confidential ©2011 Akamai 1847 757 / 154 175,000+ 26.6 / 8 1 Akamai Confidential ©2011 Akamai Akamai Confidential ©2011 Akamai 12 153.012156 -27.480991 150+/30+ 800+ Akamai Confidential ©2011 Akamai What I’d like to cover today: My roadmap Akamai Confidential Dynamic pages Improving performance ©2011 Akamai Some terms we’ll encounter: TTLs Akamai Confidential CCU Cache -keys WCO ESI ©2011 Akamai Include some content from another URL? <esi:include src=“/hot/content)“ ttl=“30s“/> Akamai Confidential ©2011 Akamai Pass an ID? <esi:include src="my-page?id=$(HTTP_COOKIE{'user-id'})"/> Akamai Confidential ©2011 Akamai Want to tailor for browsers? <esi:choose> <esi:when test="$(HTTP_USER_AGENT{'os'})=='WIN' & $(HTTP_USER_AGENT{'browser'})=='MSIE' & $(HTTP_USER_AGENT{'version'}) matches '^6\.[0-9]+'"> <h1>Wow. IE 6? You really need to upgrade.</h2> </esi:when> </esi:choose> Akamai Confidential ©2011 Akamai Downstream cache headers? <esi:choose> <esi:when test="!$(HTTP_EXPIRES) & !$(HTTP_CACHE_CONTROL)"> $add_header('Expires', $http_time($time() + 36000)) $add_header('Cache-Control', 'max-age=24h') </esi:when> </esi:choose> Akamai Confidential ©2011 Akamai My roadmap Akamai Confidential ©2011 Akamai Offload goal: Speed goal: 90%+ <1.5 secs August 88% Akamai Confidential ©2011 Akamai The roadmap Phase 1: Baby steps Akamai Confidential Phase 2: CMS integration Phase 3: Maximizing offload ©2011 Akamai The roadmap Phase 1: Baby steps No-cache •Web pages Hours •Digital assets Days •Template files TTLs – Client-IP Akamai Confidential ©2011 Akamai The roadmap Phase 2: CMS integration No-cache •Some Dynamic pages Minutes •Search results •Other dynamic pages Headers Akamai Confidential Days •Most pages •All digital assets API ©2011 Akamai The roadmap Phase 3: maximizing offload No-cache Minutes •Some Real-time & user-specific content blocks •Other near realtime & userspecific content blocks Days •Most pages •All digital assets +Web Content Optimization ESI – cache-keys Akamai Confidential ©2011 Akamai Handling dynamic pages Akamai Confidential ©2011 Akamai Working out your approach Real-time: no-cache How often is the content/data updated? <7mins: headers 7mins+: High TTL + CCU Akamai Confidential ©2011 Akamai Working out your approach Is the majority of the page static? Yes: Use Ajax/ESI for the dynamic content No: Use ESI for the static content eg navigation Akamai Confidential ©2011 Akamai Breaking your content apart Currency conversion Text TTL = 5mins Img TTL = 5mins Akamai Confidential Weather forecast Text TTL = 3hrs Img TTL = Forever Weather now Text TTL = 15mins Img TTL = Forever ©2011 Akamai Breaking your content apart Welcome, Jason “Welcome, friend” ESI choose with ID in URL and push up the TTL Akamai Confidential Alerts TTL = High and use Ajax and local storage Shopping cart Low/No-Cache ©2011 Akamai Bringing it all together Akamai Confidential ©2011 Akamai Defining TTLs DAYS LOW AJAX NOCACHE 15m 3h 5h 1h plus ajax HIGH DAYS Akamai Confidential ©2011 Akamai ESI considerations Number of requests? Akamai Confidential Components from different servers? How can/will HTML 5 local storage help? ©2011 Akamai Resources •http://www.w3.org/TR/esi-lang •http://www.akamai.com/html/support/esi.html •http://esi-examples.akamai.com/ Akamai Confidential ©2011 Akamai Improving performance Akamai Confidential ©2011 Akamai WCO = Web Content Optimization = Tailoring your code and objects to reduce overhead, round-trips and execution time Akamai Confidential ©2011 Akamai You don’t need to be an expert You can start today Do your research and make some changes Akamai Confidential ©2011 Akamai Improving performance Read Yslow’s recommendations and get Firebug Steve Souders from Google (and formerly from Yahoo!) says you could see “a 25% improvement by making even a few simple changes” Akamai Confidential ©2011 Akamai Improving performance Reduce requests & use sprites where possible Marissa Mayer from Google says “imagine every request costs a dollar and a larger file only costs $1.01” Akamai Confidential ©2011 Akamai You can start now. Combine CSS files! Akamai Confidential Combine JS files! Avoid @import Avoid filters Use sprites! ©2011 Akamai Be spritely! Akamai Confidential ©2011 Akamai You can start now. Minify! Akamai Confidential Optimize graphics Reduce cookies ©2011 Akamai Talk to your friends in IT GZIP Akamai Confidential Chunk HTML Inline GIFs ©2011 Akamai Inline graphics #gday { background:url("data:image/g if;base64,R0lGODlhDQAMALMAAP ///8TN4LbB2J+uzJGixXqOuXaLt2 J6rVpzqE9qoztZmAAAAAAAAAAAAA AAAAAAACH5BAAHAP8ALAAAAAANAA wAAAQxEMgpVaIYHHDzVADoAYMRjm eoKMWxvtlKEGKsGEaNrbhO8bkR8G UIUBCulUSQWyEAEQA7"); width:13px; height:12px;} Akamai Confidential ©2011 Akamai Sometimes you’ll need to compromise <!--[if gt IE 8]> <link rel="stylesheet" type="text/css" href="inline.css" /> <![endif]--> <!--[if lte IE 8]> <link rel="stylesheet" type="text/css" href="not-inline.css" /> <![endif]--> Akamai Confidential ©2011 Akamai Don’t block CSS>JS>inline Lazy loading Split domains Post onload Akamai Confidential ©2011 Akamai Akamai’s prefetch Enable it! Check for “X-AkamaiPrefetchedObject” Consider meta-data options “Hide” images in your HTML By default prefetch (according to Akamai’s guide) fetches these file types: aif aiff au avi bin bmp cab carb cct cdf class css doc dcr dtd exe flv gcf gff gif grv hdml hqx ico ini jpeg jpg js mov mp3 nc pct pdf png ppc pws swa swf txt vbs w32 wav wbmp wml wmlc wmls wmlsc xsd zip Akamai Confidential ©2011 Akamai Improving performance Resources Yslow! http://developer.yahoo.com/yslow/help/ http://developer.yahoo.com/performance/ Google http://code.google.com/speed/page-speed http://code.google.com/speed/ Firebug http://getfirebug.com/ Fiddler http://www.fiddler2.com/fiddler2/ There are lots of videos on YouTube too: http://www.youtube.com/watch?v=aJGC0J SlpPE Akamai Confidential Evangelists General: Steve Souders & Marissa Mayer Ajax: Douglas Crockford Web apps: Ben Galbraith & Dion Almaer Javascript: Nicholas Zakas Gzipping: Tony Gentilcore Images: Stoyan Stefenov & Nicole Sullivan ©2011 Akamai Questions? Akamai Confidential ©2011 Akamai