Building a large scale CDN with Apache Trafficserver. Jan van Doorn jan_vandoorn@cable.comcast.com



Similar documents
How Comcast Built An Open Source Content Delivery Network National Engineering & Technical Operations

Accelerating Wordpress for Pagerank and Profit

API documentation - 1 -

Efficient Network Marketing - Fabien Hermenier A.M.a.a.a.C.

Lesson 7 - Website Administration

GeoCloud Project Report USGS/EROS Spatial Data Warehouse Project

The deployment of OHMS TM. in private cloud

ISPS & WEBHOSTS SETUP REQUIREMENTS & SIGNUP FORM LOCAL CLOUD

The Benefits of WordPress Specific Web Hosting. Jamii Corley, Southwest Cyberport

The Importance of High Customer Experience

The old Internet. Software in the Network: Outline. Traditional Design. 1) Basic Caching. The Arrival of Software (in the network)

Testing & Assuring Mobile End User Experience Before Production. Neotys

Cache All The Things

Netflix Open Connect. 2 Terabits from 6 racks

Video Recording in the Cloud: Use Cases and Implementation We Deliver the Future of Television

Internet Content Distribution

THE MASTER LIST OF DNS TERMINOLOGY. First Edition

Symantec NetBackup OpenStorage Solutions Guide for Disk

Web Application Hosting Cloud Architecture

Practical Load Balancing

Assignment # 1 (Cloud Computing Security)

Implementing Internet Storage Service Using OpenAFS. Sungjin Dongguen Arum

Architecting ColdFusion For Scalability And High Availability. Ryan Stewart Platform Evangelist

How To Speed Up A Flash Flash Storage System With The Hyperq Memory Router

Barracuda Load Balancer Online Demo Guide

THE MASTER LIST OF DNS TERMINOLOGY. v 2.0

GoGrid Implement.com Configuring a SQL Server 2012 AlwaysOn Cluster

CONTENT DELIVERY WHITE PAPER proinity GmbH 1

OnApp Cloud. The complete platform for cloud service providers. 114 Cores. 286 Cores / 400 Cores

How AWS Pricing Works

OVERVIEW. The complete IaaS platform for service providers

Novel Systems. Extensible Networks

Configuring HAproxy as a SwiftStack Load Balancer

Overview. The OnApp Cloud Platform. Dashboard APPLIANCES. Used Total Used Total. Virtual Servers. Blueprint Servers. Load Balancers.

Reference Model for Cloud Applications CONSIDERATIONS FOR SW VENDORS BUILDING A SAAS SOLUTION

The Ultimate Business & Enterprise Hosting Solutions.

CloudOYE CDN USER MANUAL

Scalability of web applications. CSCI 470: Web Science Keith Vertanen

Deployment Guide. How to prepare your environment for an OnApp Cloud deployment.

Cloud Computing with Amazon Web Services and the DevOps Methodology.

Espial MediaBase High Performance Multiscreen Video CDN

Distributed Systems. 23. Content Delivery Networks (CDN) Paul Krzyzanowski. Rutgers University. Fall 2015

HIGH-SPEED BRIDGE TO CLOUD STORAGE

ARRIS M3 Media Server Family

Serving Media with NGINX Plus

How AWS Pricing Works May 2015

KT ucloud storage. Two Years of Life with OpenStack Swift / Jaesuk Ahn, Cloud OS Dev. Team, Korea Telecom

Fluke Networks NetFlow Tracker

Minimum Requirements for Cencon 4 with Microsoft R SQL 2008 R2 Express

out of this world guide to: POWERFUL DEDICATED SERVERS

v7.8.2 Release Notes for Websense Content Gateway

APPLICATION-AWARE ROUTING IN SOFTWARE-DEFINED NETWORKS

Dedicated Hosting. The best of all worlds. Build your server to deliver just what you want. For more information visit: imcloudservices.com.

Wikimedia architecture. Mark Bergsma Wikimedia Foundation Inc.

Infrastructure for active and passive measurements at 10Gbps and beyond

Internet Content Distribution

Distributed Systems 19. Content Delivery Networks (CDN) Paul Krzyzanowski

Cloud Computing For Bioinformatics

Service Description CloudSure Public, Private & Hybrid Cloud

Dimension Data Enabling the Journey to the Cloud

112 Linton House Union Street London SE1 0LH T: F:

On efficient delivery of web content

LOCKSS on LINUX. Installation Manual and the OpenBSD Transition 02/17/2011

RSA Security Analytics Virtual Appliance Setup Guide

Local Caching Servers (LCS): User Manual

Installing and Configuring Websense Content Gateway

Request Routing, Load-Balancing and Fault- Tolerance Solution - MediaDNS

Achieving Real-Time Business Solutions Using Graph Database Technology and High Performance Networks

Content Distribution Management

CS514: Intermediate Course in Computer Systems

Parallels Plesk Automation

Arnaud Becart ip- label 11/9/11

PERFORMANCE CLOUD SERVERS...

Maintaining Non-Stop Services with Multi Layer Monitoring

Silverton Consulting, Inc. StorInt Briefing

IN DETAIL. Smart & Dedicated Servers

networks Live & On-Demand Video Delivery without Interruption Wireless optimization the unsolved mystery WHITE PAPER

The Application Front End Understanding Next-Generation Load Balancing Appliances

Enterprise Edition Scalability. ecommerce Framework Built to Scale Reading Time: 10 minutes

Cloud UT. Pay-as-you-go computing explained

BOA BARRACUDA ON ÆGIR ~ MY FIRST YEAR ~ Mladen

Where every interaction matters. Data Sheet: Magento Optimised Managed Hosting. Optimal Performance. Rock-Solid Reliability. Expertly Supported

always available Cloud

BORG DIGITAL High Availability

<Insert Picture Here> Oracle Web Cache 11g Overview

ACE Management Server Deployment Guide VMware ACE 2.0

Advanced 100 GB storage space. Unlimited monthly bandwidth. Pro 150 GB storage space. Unlimited monthly bandwidth. Horde Squirrelmail Round Cube Mail

IBM Endpoint Manager Version 9.2. Patch Management for SUSE Linux Enterprise User's Guide

The last 18 months. AutoScale. IaaS. BizTalk Services Hyper-V Disaster Recovery Support. Multi-Factor Auth. Hyper-V Recovery.

UNIFIED PERFORMANCE MANAGEMENT

1 Basic Configuration of Cisco 2600 Router. Basic Configuration Cisco 2600 Router

Getting Started with AWS. Hosting a Static Website

HW9 WordPress & Google Analytics

Open Source Server Product Description

Minimum Requirements for Cencon 4 with Microsoft R SQL 2008 R2 Standard

SMB Direct for SQL Server and Private Cloud

The Value of Content Distribution Networks Mike Axelrod, Google Google Public

CS 188/219. Scalable Internet Services Andrew Mutz October 8, 2015

ALTO and Content Delivery Networks dra7- penno- alto- cdn

The Flash-Transformed Financial Data Center. Jean S. Bozman Enterprise Solutions Manager, Enterprise Storage Solutions Corporation August 6, 2014

Transcription:

Building a large scale CDN with Apache Trafficserver Jan van Doorn jan_vandoorn@cable.comcast.com

About me Engineer at Comcast Cable NaBonal Engineering & Technical OperaBons NETO- VSS- CDNENG Tech Lead for next generabon CDN development Long Bme (InteracBve) TV Geek Recovering Unix SysAdmin SBll can t help wanbng to solve everything with Perl Colorado based but originally from The Netherlands vi world_peace.pl 2

Disclaimer stuff Comcast uses CDNs in a number of ways but the CDN I will be discussing in this presentabon relates primarily to how Comcast uses a CDN to deliver its IP cable services over its own network and not how Comcast uses a CDN to deliver Internet content. 3

What is a CDN? Lots of Caches The HTTP/1.1 compabble work horses in mulbple Bers and edge locabons Content Router Get customer to best cache for his requested content in his locabon Health Protocol A way to tell CR which caches are able to take work Management and Monitoring System A way to manage a geographically disperse set of servers ReporBng System Log file analysis of edge, mid and CR contacts for (internal) billing and sizing 4

Why does Comcast need one? X1 / X2 Cloud based User Interface Images / UI elements Code Downloads Next generabon video distribubon Video on Demand (VoD) Live Television Cloud DVR Second Screen (tablets, phones, PCs) First Screen (big screen TV in living room) 5

About Video and HTTP/1.1 AdapBve BitRate (ABR) video delivery Video gets chopped up in short chunks (2 6s) Chunks are retrieved from server using HTTP Adapts quality to resource availability and needs SBll video (high bandwidth) Highly cacheable HTTP KeepAlive Live Television VoD / cdvr 6

The Comcast CDN Design Principles Open standards based No vendor or system lock- in Cost effecbve All customer facing parts are IPv6 and IPv4 Horizontally scalable Well suited for ABR video, but not exclusively for video Loosely coupled components, stateless 100% availability, handle component failure gracefully Maintenance should be part of normal life Simple 7

The Comcast CDN The Caches Apache Traffic Server - more on that later Content Router Built in- house - Apache Tomcat applicabon - more on that later Health Protocol Built in- house - Apache Tomcat applicabon Basically an aggregator of enhanced stats plugin in Trafficserver Management and Monitoring System Built in- house Perl / Mojolicious framework against Pg or MySQL db jquery UI ReporBng System The only thing we bought (Splunk) 8

About Content RouBng Goal is to get the client to the best cache for the content requested and the loca0on it is requested from Distance / network hops Network link Quality / speed Availability of content in cache 9

DNS content roubng Content Router is DNS Auth CR makes decision based on resolver, not based on client CR only knows the hostname Fast Unaware of path in URL, HTTP headers, query string, etc Usually used for geqng web- page objects, images, etc 10

edge-xx" DNS" DNS" edge-03" edge-02" edge-01" den west CR" edge-xx" LDNS" edge-03" edge-02" edge-01" bos east client" http://edge.img.x.comcast.net/img.png! 11

edge-xx" DNS" DNS" edge-03" edge-02" edge-01" den west CR" edge-xx" LDNS" edge-03" edge-02" edge-01" bos east A edge..? 12 client" http://edge.img.x.comcast.net/img.png!

edge-xx" DNS" DNS" CR" health" LDNS location" 1.2.3.3 edge-03" edge-02" edge-01" den edge-xx" west LDNS" IN A 1.2.3.3! IN A 1.2.3.4! TTL = 30! edge-03" edge-02" edge-01" bos east A edge..? 13 client" http://edge.img.x.comcast.net/img.png!

map edge.img.x.comcast.net! img-org.comcast.net! GET /img.png HTTP/1.1! Host: edge.img.x.comcast.net! edge-xx" 1.2.3.3 edge-03" edge-02" edge-01" den west GET http://img-org.comcast.net/img.png HTTP/1.1! GET /img.png HTTP/1.1! Host: img-org.comcast.net! client" http://edge.img.x.comcast.net/img.png! 14

map edge.img.x.comcast.net! img-org.comcast.net! edge-xx" 200 OK! 1.2.3.3 edge-03" edge-02" edge-01" den 200 OK! west 200 OK! client" http://edge.img.x.comcast.net/img.png! 15

HTTP Content RouBng CR is DNS auth, but always responds with own IP address to DNS query Client then does HTTP connecbon to CR CR now knows all the HTTP stuff CR now also knows client IP address Slower, but much more precise ; usually used for longer sessions, like ABR video sessions 16

edge-xx" DNS" DNS" CR" 3.1.2.3! edge-03" edge-02" edge-01" den west edge-xx" LDNS" IN A 3.1.2.3! IN A other ccr! TTL = 30! edge-03" edge-02" edge-01" bos east A ccr..? 17 client" http://ccr.vid.x.comcast.net/m1.f4m!

edge-xx" DNS" DNS" edge-03" edge-02" edge-01" den west CR" GET /m1.f4m HTTP/1.1! Host: ccr.vid.x.comcast.net! edge-xx" LDNS" edge-03" edge-02" edge-01" bos east client" http://ccr.vid.x.comcast.net/m1.f4m! 18

edge-xx" DNS" DNS" CR" http hdrs" path" health" client location" 302 Moved Temporarily! Location: den-edge-03.vid.comcast.net! edge-03" edge-02" edge-01" den west LDNS" east client" http://ccr.vid.comcast.net/m1.f4m! 19

map den-edge-<xx>.vid.x.comcast.net! vid-org.comcast.net! GET /m1.f4m HTTP/1.1! Host: den-edge-03.vid.x.comcast.net! edge-xx" 1.2.3.3 edge-03" edge-02" edge-01" den west GET http://vid-org.comcast.net/m1.f4m HTTP/1.1! GET /m1.f4m HTTP/1.1! Host: vid-org.comcast.net! client" http://ccr.vid.x.comcast.net/m1.f4m! 20

map den-edge-<xx>.vid.x.comcast.net! vid-org.comcast.net! 200 OK! Connection: keep-alive! edge-xx" 1.2.3.3 edge-03" edge-02" edge-01" den 200 OK! west 200 OK! client" http://ccr.vid.x.comcast.net/m1.f4m! 21

Why Trafficserver Any HTTP 1.1 Compliant cache will work We chose Apache Traffic Server (ATS) Top Level Apache project (NOT hspd!) Extremely scalable and proven Very good with our VoD load Efficient storage subsystem uses raw disks Extensible through plugin API Vibrant and friendly development community Added handful of plugins for specific use cases 22

Our Gen1 cache Off the shelf hardware - ride Moore's Law! Spinning disks (!) 24 900Gb SAS disks for caching 2 mirrored OS drives 192 Gbyte of memory, for live TV 1x10GE inibally, 2x10GE upgrades being planned Connected to AggregaBon Routers (first server to do so) Linux CentOS 6.1 / 6.2 23

Trafficserver performance Tested very well without major tweaks Pushing 10 Gbps on Gen1 box with very wide VoD like dispersion Disk ubl is even and at almost 100% Using traffic separabon feature (volume patch) up to 40 Gbps per server with a realisbc traffic profile Not sure if we want more Failure domain. Published tests seem to not apply to our work load Ended up wribng many test tools ourselves 24

Open Source and Support Not having a support number is scary! Most Open Source projects now have third parbes selling support but we re flying solo on that as well Oxen more FUD than actual rabonal reasons The acbve community is really important here DevOps model DIY surgical patches for your problem are usually much faster than a release (from either a vendor, or an Open Source project) Get someone on staff to become part of the Open Source community 25

Current status Serving ~ 4 TByte / day (!) Over 250 caches deployed and serving traffic Over 5 PByte total storage capacity each has single 10GE (starbng to upgrade to 20GE) 25 edge cache groups ( clusters ) ~ 1.7 Tbps total edge capacity ~ 320 Gbps served at highest peak ~ 220 Gbps daily peak 3 mid- Ber cache groups ( clusters ) Origin off load > 85% All IPv6 / IPv4 client decides based on connecbvity, CDN is IPv6 all the way 26

Future Plans Double size of CDN in 2014 Lots of first screen service addibons New Mid- Tier cache(4ru, 512G RAM, 288TB disk) Next Gen Edge Tier (SBll defining, probably SSD) Dedicated Live TV caches Deeper deployment Beser tools for OperaBons 27

Traffic Server wish list Improved OperaBons More traffic_line x, less restart Should be able to change any config without having to restart Beser stability ConfiguraBon flexibility Dare I menbon VCL? 28

QuesBons?

Building a large scale CDN with Apache Trafficserver Jan van Doorn jan_vandoorn@cable.comcast.com