#.center[Apache Traffic Control] ###.center[Up and Running] ####.center[.middle[Dewayne Richardson
[dewrich@apache.org](mailto:dewrich@apache.org)]] ####.center[Dan Kirkwood
[dangogh@apache.org](mailto:dangogh@apache.org)] --- #.center[Traffic Control Slack] ###.center[https://s.apache.org/atc-slack] ###.center[\#atc-up-and-running] --- .left-column[ ## What is a CDN? ] .right-column[ A `Content Delivery Network (CDN)` is a network of caching proxy servers that are geographically located to optimize content delivery to users for high availability and performance. ] --- .left-column[ ## What is a CDN? ## Why build
a CDN? ] .right-column[ Prediction that a tsunami of bits were coming to Comcast platforms and how do we scale that problem? ] --- .left-column[ ## What is a CDN? ## Why build
a CDN? ## What is Traffic Control? ] .right-column[ `Traffic Control` is a caching server control plane suite of service-based components which are used to aggregate caching servers into a Content Delivery Network (CDN). ] --- .left-column[ ## Traffic Control Story ] .right-column[ * 01/2012: Work starts in Comcast * 10/2012: Comcast Production Deployment ... * 02/2017: 1st Apache Incubator Release * 06/2018: [ATC becomes a TLP!](https://blogs.apache.org/foundation/entry/the-apache-software-foundation-announces36) * 20 Committers representing 7 different companies ] --- .left-column[ ## Traffic Control Story ## Traffic Control Community (as of Sept 5, 2018) ] .right-column[ * [Github Project](https://github.com/apache/trafficcontrol) * Latest Stable Release 2.2 * Latest Dev Release 3.0 ] --- .left-column[ ## Goals ] .right-column[ * Everything in the CDN is Open Source
(and appropriately licensed) * Use COTS hardware and Cloud * Loosely coupled components, stateless, scalable ] --- .left-column[ ## Goals ## Key Features ] .right-column[ * Client Routing * Operations Administration * Monitoring ] --- .left-column[ ### Comcast's CDN Stats ] .right-column[ * Multiple Terabits delivered per second * Multiple Petabits delivered per day * Billions of transactions at the edge per day * Multiple Petabytes of cache storage * Multiple Exabytes total delivered * 1^18 or * 1,000,000,000,000,000,000 ] --- #.center[.middle[Traffic Control
Components]] --- ##.center[.middle[`Traffic Operations`]] ####.center[Config Management] ####.center[Administration UI/API(s) for operations to control the CDN] --- .left-column[ ## What is a `Delivery Service`? ] .right-column[ A group of settings and options to optimize content delivery for each customer on the CDN. ] --- .left-column[ ## What is a `Delivery Service`? ## What are `Parameters`? ] .right-column[ * Configuration settings that are applied to any ATC component. ] --- .left-column[ ## What is a `Delivery Service`? ## What are `Parameters`? ## What are `Profiles`? ] .right-column[ * Parameters that are bundled into groups ] --- .left[![Docker CIAB1](images/docker/traffic_control_1.png)] --- #.center[.middle[Demo
Docker Container
for Traffic Ops]] ??? Point out Docker being used for Introduction and Training to Traffic Control ###.center[.middle[Dan Kirkwood]] --- ###.center[.middle[`Traffic Portal`]] ####.center[Config Management Improved] --- .left[![Docker CIAB2](images/docker/traffic_control_2.png)] --- #.center[.middle[Demo
Docker Container
for Traffic Portal]] ###.center[.middle[Dan Kirkwood]] --- ###.center[.middle[Operational Readiness Test (`ORT`)]] ####.center[Config File Delivery] ####.center[Scheduled script for polling Traffic Ops APIs] --- ###.center[.middle[`Traffic Monitor`]] ####.center[Health Protocol] ####.center[Decider of health for edge caches and delivery services] --- #.center[.middle[Demo
Docker Container
for Traffic Monitor]] --- .left-column[ ## What is a `Consistent Hash`? ] .right-column[ * A ring which it then uses to make sure that requests are routed to a target based on the configured weights.
This consistent hash ring is separate from the consistent hash ring used in cache selection. ] --- ###.center[.middle[`Traffic Router`]] ####.center[Content Routing] ####.center[Client requests dispatcher] --- .left[![CDN Stats](images/traffic_router_routing.png)] --- .left[![CDN Stats](images/traffic_router_routing_two_clients.png)] --- .left[![CDN Stats](images/overview/traffic_control.png)] --- .left[![Traffic Portal Interaction](images/overview/traffic_portal_interaction.png)] --- .left[![Traffic Router Interaction](images/overview/traffic_router/http/interaction1.png)] --- .left[![Traffic Router Interaction](images/overview/traffic_router/http/interaction2.png)] --- .left[![Traffic Router Interaction](images/overview/traffic_router/http/interaction3.png)] --- .left[![Traffic Router Interaction](images/overview/traffic_router/http/interaction4.png)] --- .left[![Traffic Router Interaction](images/overview/traffic_router/dns/interaction1.png)] --- .left[![Traffic Router Interaction](images/overview/traffic_router_monitor_polling.png)] --- .left[![ORT Polling](images/overview/ort_polling.png)] --- .left[![Docker CIAB3](images/docker/traffic_control_3.png)] --- #.center[.middle[Demo
Docker Container
for Traffic Router]] --- ###.center[.middle[`Traffic Stats`]] ####.center[Analytics] ####.center[Acquires and stores statistics about the CDNs managed by
Traffic Control] --- ###.center[.middle[`Traffic Vault`]] ####.center[SSL Keys] ####.center[Storage of SSL keys for Traffic Router's DNSSEC] --- .left[![Docker CIAB4](images/docker/traffic_control_4.png)] --- .left-column[ ### Future Development ] .right-column[ * Self Service for tenants * Logging analytics * Pattern Based Consistent Hashing * URI Signing (RFC draft) * Additional caching software support (Nginx and others) * HTTP/2 - push content vs pull ] --- .left-column[ ### Thank you ] .right-column[ * Jeff Bevill * Brennen Fieck * Rob Butts ] --- ###.center[.middle[##Slack Questions?]] --- ### Traffic Control Resources * These slides
http://bit.ly/atc-up-and-running * These slides in pdf
http://bit.ly/atc-up-and-running-pdf * Traffic Control Website
https://trafficcontrol.apache.org * Traffic Control Releases
https://trafficcontrol.apache.org/releases * Apache Traffic Server
http://trafficserver.apache.org --- ###.center[.middle[THE END]]