SlideShare a Scribd company logo
1
Ultimate Goal and Problem
Network LatencyThroughput
2
Varnish Extend - What is it?
Bundled Software and Services
Aimed to provide
● Flexible deployment methodology for Varnish and other delivery mechanisms
● A set of tools that enables easy “hybridisation” of technologies
Example use cases:
- Hybrid CDN/Varnish
- Leverage existing data centres for content delivery
- Full DIY CDN
3
Three Key Components
Varnish Plus (caching)
● Fine-grained cache control important for good off-loads
● High availability
● Custom Statistics - Visibility of near real-time reporting
Cedexis Radar/Openmix (RUM based Intelligent Routing and GSLB)
● Move beyond Geo to End-User Feedback
● “Programmable” load-balancing to enable flexibility and fine-grained control
Cedexis Purge (Unified Purging)
● Purge Page and object Content Across delivery architectures.
● Purge Method Supported (No Bans) 4
Varnish Extend
Extending your Content Delivery Capabilities and Control
Private CDN /
Edge node(s)
End UsersAccess
Network
CDN
Operators
Content Origin Global Traffic
Management
5
● Overall depicted edge capacity
is 80Gbps (8 x 10Gbps).
● DNS based edge routing allows
clients to pin to an edge node,
making prefetch effective.
● Both tiers can scale horizontally
by adding more nodes,
increasing overall storage and
capacity.
● Live video content is malloc
only.
● Edge and storage tiers can live
in the same rack.
6
Varnish Custom Statistics (VCS)
7
Cedexis
Radar Real-user Monitoring (RUM)
- Tag Based.
- Community Testing of CDN’s and Clouds
- Monitoring of Data Centres
Openmix Load-Balancing
- Programmable “Business logic” Load-Balancing
- JS based / Forms based configuration
- ECMA5 (Some 6)
- DNS Decisions
- CNAME / A/AAAA Record Responses
- TTL
- HTTP API
- “Decisions” in a restful response
- Multi-Decision responses (ordered lists)
8
Prerequisites
● Basic experience with command line in Linux/Unix systems
● Basic understanding of Varnish Configuration Language (VCL)
● Varnish Extend subscription
● Root access to virtual or real hosts. In this demo:
○ Origin server
○ POPs
● Access to your DNS Architecture 9
Design
Image:
https://media.licdn.com/
mpr/mpr/shrinknp_800_8
00/p/5/005/0b0/060/2590
45e.jpg
10
Edge 3
Location: Asia
Edge 2
Location: Europe
Varnish Plus
Edge 1
Location: U.S.
Varnish Plus
Location: NYC
Origin Server
Varnish Plus
Tier 2: POPsTier 1: Shield
Varnish PlusVarnish Plus
VHA
Demo
11
Implementation 12
13
TLS configuration
● Repository configuration for
○ varnish-plus-addon-ssl
● Certificate:
○ From valid certification authority
○ Let’s Encrypt
○ make-dummy-cert
● VCL to connect from POPs to origin server:
backend default {
.host = "origin-frankfurt.varnish-software.com";
.port = "https";
.ssl = 1;
.ssl_nosni = 1;
.ssl_noverify = 1;
}
14
Hitch configuration
/etc/hitch/hitch.conf
frontend = "[*]:443"
backend = "[127.0.0.1]:6086"
pem-file = "/etc/ssl/bundles/varnish-software.com.bundle"
write-proxy-v1 = on
...
$ service hitch start
15
Massive Storage Engine (MSE)
$ mkfs.mse -s /var/lib/varnish/mse/store,5GB 
-b /var/lib/varnish/mse/book,50MB -p big_alloc=5MB
Creating data stores in file '/var/varnish/mse/store'
Cooking the books in file '/var/lib/varnish/mse/book'. This may take a
while ...
Creating 209661 spare nodes
Creating 209661 spare nodes
Finished
Varnish Plus Massive Storage Engine data files successfully created.
Varnish Plus stevedore argument:
varnishd -s mse, /var/lib/varnish/mse/store,/var/lib/varnish/mse/book
16
VCS Configuration
sub vcl_deliver {
std.log("vcs-key:ALL");
std.log("vcs-key:HOST/" + req.http.Host);
std.log("vcs-key:URL/" + req.http.Host + req.url);
std.log("vcs-key:CONTENT/" + req.http.Host + "/" +
regsub(resp.http.Content-Type, ";.*", ""));
std.log("vcs-key:SESSIONS/" + req.http.veid);
}
/etc/varnish/cdn.vcl
DAEMON_OPTS="138.197.97.165"
/etc/varnish/vstatdprobe.params
17
Cedexis Configuration: Radar
Radar
- Deploy “tag” in Web pages to start
testing
- Place “Test-Objects” to test each
deployment (Server/Cluster)
- Configure Cedexis Portal to Monitor
18
Cedexis: Configuring Openmix
Decide on HTTP or DNS “Decisions”
Create Application
- Forms Driven (Portal)
- Custom JS (ECMA5)
- Common Code base for HTTP and DNS.
- http://developers.cedexis.com
Deploy
- Via Portal “2 Stage” Publish
Go-Live
- DNS - CNAME to Cedexis host (2-01-5024-
0003.cdx.cedexis.net)
- HTTP - Integrate API into a CMS or Player.
19
Demo
20
Take away
● Building your private CDN is not rocket science with Varnish Extend
● Roll it out gradually: keep risks controlled and low!
● Gain consumer power by combining Varnish and CDN offerings
● Gain control on the delivery of your content with minimum overhead and
complexity
● Maximize hardware resource utilization
21
22
Varnish High Availability (VHA)
Varnish 1
VHA
Varnish 2
VHA
1
2
3
4
5
6
7
8
Client
1. Client request
2. Backend request
3. Backend response
4. VHA notices a new cached
object
1. Client response
2. Signals replication request
3. Peer request
4. Peer response
5. Object replicated
9
Backend
23
Varnish High Availability (VHA)
sub vcl_recv {
call vha_backend_selection;
}
sub vcl_hit {
call vha_skip_grace;
}
sub vcl_deliver {
call vha_clean_headers;
}
/etc/varnish/cdn.vcl
$ vha-generate-vcl --token 9ad34eccb > /etc/varnish/vha.vcl
24
Varnish High Availability (VHA)
ENABLE=1
NAME=singapore-01
DAEMON_OPTS="-N /etc/varnish/nodes.conf -m singapore-01 
-s /var/lib/vha-agent/vha-status -T 9ad34eccb"
vha-agent.params
singapore-01 = https://cdn-singapore-01.varnish-software.com
singapore-02 = https://cdn-singapore-02.varnish-software.com
/etc/varnish/nodes.conf
25
Numerous Possibilities for Load-Balancing
26
Extending Intelligence with Fusion
- A Service that takes 3rd Party Data for use
within an Openmix Application
- Pre-built Interfaces with:
- CDN’s
- APM (Monitoring)
- Server Architectures
- Can pull Bandwidth, Usage etc from suppliers
- Custom ingest also possible with Fusion
Custom (Anything text based)
- Business Metrics like cost, commit
- Custom Technical Metrics
27
DNS or HTTP
DNS
- Common Method of Integration for
WebSites/Applications
- DNS CNAME integration
- Decision made at Resolver Level
- Fully Transparent to end-user.
HTTP
- Usually used for Video
- API based Integration
- Points to “Best” delivery Architecture
- Ordered List or Single Provider response
- Decision Made at requestor (Client) IP level.
28
Test material
● DASH player from https://github.com/Dash-Industry-Forum/dash.js/
● DASH videos from http://dash.edgesuite.net/dash264/TestCases/5a/
● Player Demo: https://cdn.varnish-software.com/dash.js/samples/dash-if-
reference-player/
● Load-balancing script examples: developers.cedexis.com
29

More Related Content

What's hot

NATS for Modern Messaging and Microservices
NATS for Modern Messaging and MicroservicesNATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices
Apcera
 
COSCUP 2019 - CDN in an Edge Box
COSCUP 2019 - CDN in an Edge BoxCOSCUP 2019 - CDN in an Edge Box
COSCUP 2019 - CDN in an Edge Box
Shihta Kuan
 
I want the next generation web here SPDY QUIC
I want the next generation web here SPDY QUICI want the next generation web here SPDY QUIC
I want the next generation web here SPDY QUIC
Source Conference
 
On demand file-caching_-_gustavo_brand
On demand file-caching_-_gustavo_brandOn demand file-caching_-_gustavo_brand
On demand file-caching_-_gustavo_brand
Gluster.org
 
Accelerate your web app with a layer of Varnish
Accelerate your web app with a layer of VarnishAccelerate your web app with a layer of Varnish
Accelerate your web app with a layer of Varnish
Jeremy Cook
 
Http2 Security Perspective
Http2 Security PerspectiveHttp2 Security Perspective
Http2 Security Perspective
Sunil Kumar
 
What’s New in NGINX Plus R16?
What’s New in NGINX Plus R16?What’s New in NGINX Plus R16?
What’s New in NGINX Plus R16?
NGINX, Inc.
 
Mm sys 2013-demo
Mm sys 2013-demoMm sys 2013-demo
Mm sys 2013-demo
Cyril Concolato
 
Easy, Secure, and Fast: Using NATS.io for Streams and Services
Easy, Secure, and Fast: Using NATS.io for Streams and ServicesEasy, Secure, and Fast: Using NATS.io for Streams and Services
Easy, Secure, and Fast: Using NATS.io for Streams and Services
NATS
 
Internet of Things (IoT) protocols COAP MQTT OSCON2014
Internet of Things (IoT) protocols  COAP MQTT OSCON2014Internet of Things (IoT) protocols  COAP MQTT OSCON2014
Internet of Things (IoT) protocols COAP MQTT OSCON2014
Vidhya Gholkar
 
How Clarifai uses NATS and Kubernetes for Machine Learning
How Clarifai uses NATS and Kubernetes for Machine LearningHow Clarifai uses NATS and Kubernetes for Machine Learning
How Clarifai uses NATS and Kubernetes for Machine Learning
Apcera
 
Streaming of SVG animations on the Web
Streaming of SVG animations on the WebStreaming of SVG animations on the Web
Streaming of SVG animations on the Web
Cyril Concolato
 
Linux Servers
Linux ServersLinux Servers
Linux Servers
Ranjith Siji
 
NATS in action - A Real time Microservices Architecture handled by NATS
NATS in action - A Real time Microservices Architecture handled by NATSNATS in action - A Real time Microservices Architecture handled by NATS
NATS in action - A Real time Microservices Architecture handled by NATSRaül Pérez
 
KubeCon + CloudNative Con NA 2021 | A New Generation of NATS
KubeCon + CloudNative Con NA 2021 | A New Generation of NATSKubeCon + CloudNative Con NA 2021 | A New Generation of NATS
KubeCon + CloudNative Con NA 2021 | A New Generation of NATS
NATS
 
LF_OVS_17_OvS manipulation with Go at DigitalOcean
LF_OVS_17_OvS manipulation with Go at DigitalOceanLF_OVS_17_OvS manipulation with Go at DigitalOcean
LF_OVS_17_OvS manipulation with Go at DigitalOcean
LF_OpenvSwitch
 
Deep Dive into Building a Secure & Multi-tenant SaaS Solution with NATS
Deep Dive into Building a Secure & Multi-tenant SaaS Solution with NATSDeep Dive into Building a Secure & Multi-tenant SaaS Solution with NATS
Deep Dive into Building a Secure & Multi-tenant SaaS Solution with NATS
NATS
 
Introduction to OverTheBox
Introduction to OverTheBoxIntroduction to OverTheBox
Introduction to OverTheBox
OVHcloud
 
NGINX Plus R20 Webinar
NGINX Plus R20 WebinarNGINX Plus R20 Webinar
NGINX Plus R20 Webinar
NGINX, Inc.
 
Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...
Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...
Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...
StreamNative
 

What's hot (20)

NATS for Modern Messaging and Microservices
NATS for Modern Messaging and MicroservicesNATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices
 
COSCUP 2019 - CDN in an Edge Box
COSCUP 2019 - CDN in an Edge BoxCOSCUP 2019 - CDN in an Edge Box
COSCUP 2019 - CDN in an Edge Box
 
I want the next generation web here SPDY QUIC
I want the next generation web here SPDY QUICI want the next generation web here SPDY QUIC
I want the next generation web here SPDY QUIC
 
On demand file-caching_-_gustavo_brand
On demand file-caching_-_gustavo_brandOn demand file-caching_-_gustavo_brand
On demand file-caching_-_gustavo_brand
 
Accelerate your web app with a layer of Varnish
Accelerate your web app with a layer of VarnishAccelerate your web app with a layer of Varnish
Accelerate your web app with a layer of Varnish
 
Http2 Security Perspective
Http2 Security PerspectiveHttp2 Security Perspective
Http2 Security Perspective
 
What’s New in NGINX Plus R16?
What’s New in NGINX Plus R16?What’s New in NGINX Plus R16?
What’s New in NGINX Plus R16?
 
Mm sys 2013-demo
Mm sys 2013-demoMm sys 2013-demo
Mm sys 2013-demo
 
Easy, Secure, and Fast: Using NATS.io for Streams and Services
Easy, Secure, and Fast: Using NATS.io for Streams and ServicesEasy, Secure, and Fast: Using NATS.io for Streams and Services
Easy, Secure, and Fast: Using NATS.io for Streams and Services
 
Internet of Things (IoT) protocols COAP MQTT OSCON2014
Internet of Things (IoT) protocols  COAP MQTT OSCON2014Internet of Things (IoT) protocols  COAP MQTT OSCON2014
Internet of Things (IoT) protocols COAP MQTT OSCON2014
 
How Clarifai uses NATS and Kubernetes for Machine Learning
How Clarifai uses NATS and Kubernetes for Machine LearningHow Clarifai uses NATS and Kubernetes for Machine Learning
How Clarifai uses NATS and Kubernetes for Machine Learning
 
Streaming of SVG animations on the Web
Streaming of SVG animations on the WebStreaming of SVG animations on the Web
Streaming of SVG animations on the Web
 
Linux Servers
Linux ServersLinux Servers
Linux Servers
 
NATS in action - A Real time Microservices Architecture handled by NATS
NATS in action - A Real time Microservices Architecture handled by NATSNATS in action - A Real time Microservices Architecture handled by NATS
NATS in action - A Real time Microservices Architecture handled by NATS
 
KubeCon + CloudNative Con NA 2021 | A New Generation of NATS
KubeCon + CloudNative Con NA 2021 | A New Generation of NATSKubeCon + CloudNative Con NA 2021 | A New Generation of NATS
KubeCon + CloudNative Con NA 2021 | A New Generation of NATS
 
LF_OVS_17_OvS manipulation with Go at DigitalOcean
LF_OVS_17_OvS manipulation with Go at DigitalOceanLF_OVS_17_OvS manipulation with Go at DigitalOcean
LF_OVS_17_OvS manipulation with Go at DigitalOcean
 
Deep Dive into Building a Secure & Multi-tenant SaaS Solution with NATS
Deep Dive into Building a Secure & Multi-tenant SaaS Solution with NATSDeep Dive into Building a Secure & Multi-tenant SaaS Solution with NATS
Deep Dive into Building a Secure & Multi-tenant SaaS Solution with NATS
 
Introduction to OverTheBox
Introduction to OverTheBoxIntroduction to OverTheBox
Introduction to OverTheBox
 
NGINX Plus R20 Webinar
NGINX Plus R20 WebinarNGINX Plus R20 Webinar
NGINX Plus R20 Webinar
 
Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...
Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...
Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...
 

Similar to Varnish extend

Devconf2017 - Can VMs networking benefit from DPDK
Devconf2017 - Can VMs networking benefit from DPDKDevconf2017 - Can VMs networking benefit from DPDK
Devconf2017 - Can VMs networking benefit from DPDK
Maxime Coquelin
 
Simplify Networking for Containers
Simplify Networking for ContainersSimplify Networking for Containers
Simplify Networking for Containers
LinuxCon ContainerCon CloudOpen China
 
Autopilot : Securing Cloud Native Storage
Autopilot : Securing Cloud Native StorageAutopilot : Securing Cloud Native Storage
Autopilot : Securing Cloud Native Storage
SF Bay Cloud Native Open Infra Meetup
 
2011-11-03 Intelligence Community Cloud Users Group
2011-11-03 Intelligence Community Cloud Users Group2011-11-03 Intelligence Community Cloud Users Group
2011-11-03 Intelligence Community Cloud Users Group
Shawn Wells
 
Practical Design Patterns in Docker Networking
Practical Design Patterns in Docker NetworkingPractical Design Patterns in Docker Networking
Practical Design Patterns in Docker Networking
Docker, Inc.
 
Docker meetup talk - chicago March 2014
Docker meetup talk - chicago March 2014Docker meetup talk - chicago March 2014
Docker meetup talk - chicago March 2014
Ryan Koop
 
Monitoring CloudStack and components
Monitoring CloudStack and componentsMonitoring CloudStack and components
Monitoring CloudStack and components
ShapeBlue
 
GDG Cloud Southlake #9 Secure Cloud Networking - Beyond Cloud Boundaries
GDG Cloud Southlake #9 Secure Cloud Networking - Beyond Cloud BoundariesGDG Cloud Southlake #9 Secure Cloud Networking - Beyond Cloud Boundaries
GDG Cloud Southlake #9 Secure Cloud Networking - Beyond Cloud Boundaries
James Anderson
 
Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...
Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...
Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...
Ovadiah Myrgorod
 
Understanding network and service virtualization
Understanding network and service virtualizationUnderstanding network and service virtualization
Understanding network and service virtualization
SDN Hub
 
Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...
Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...
Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...
Dan Mihai Dumitriu
 
Docker at Flux7
Docker at Flux7Docker at Flux7
Docker at Flux7
Aater Suleman
 
VMworld 2015: VMware NSX Deep Dive
VMworld 2015: VMware NSX Deep DiveVMworld 2015: VMware NSX Deep Dive
VMworld 2015: VMware NSX Deep Dive
VMworld
 
VMworld 2015: VMware NSX Deep Dive
VMworld 2015: VMware NSX Deep DiveVMworld 2015: VMware NSX Deep Dive
VMworld 2015: VMware NSX Deep Dive
VMworld
 
Building a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in dockerBuilding a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in docker
Jorge Juan Mendoza
 
Ransomware: The Defendable Epidemic
Ransomware: The Defendable EpidemicRansomware: The Defendable Epidemic
Ransomware: The Defendable Epidemic
Sagi Brody
 
2016 08-30 Kubernetes talk for Waterloo DevOps
2016 08-30 Kubernetes talk for Waterloo DevOps2016 08-30 Kubernetes talk for Waterloo DevOps
2016 08-30 Kubernetes talk for Waterloo DevOps
craigbox
 
Continuous Security: From tins to containers - now what!
Continuous Security: From tins to containers - now what!Continuous Security: From tins to containers - now what!
Continuous Security: From tins to containers - now what!
Michael Man
 
Network Design patters with Docker
Network Design patters with DockerNetwork Design patters with Docker
Network Design patters with Docker
Daniel Finneran
 

Similar to Varnish extend (20)

Devconf2017 - Can VMs networking benefit from DPDK
Devconf2017 - Can VMs networking benefit from DPDKDevconf2017 - Can VMs networking benefit from DPDK
Devconf2017 - Can VMs networking benefit from DPDK
 
Simplify Networking for Containers
Simplify Networking for ContainersSimplify Networking for Containers
Simplify Networking for Containers
 
Autopilot : Securing Cloud Native Storage
Autopilot : Securing Cloud Native StorageAutopilot : Securing Cloud Native Storage
Autopilot : Securing Cloud Native Storage
 
2011-11-03 Intelligence Community Cloud Users Group
2011-11-03 Intelligence Community Cloud Users Group2011-11-03 Intelligence Community Cloud Users Group
2011-11-03 Intelligence Community Cloud Users Group
 
Practical Design Patterns in Docker Networking
Practical Design Patterns in Docker NetworkingPractical Design Patterns in Docker Networking
Practical Design Patterns in Docker Networking
 
Wind River - OpenStack in Israel
Wind River - OpenStack in IsraelWind River - OpenStack in Israel
Wind River - OpenStack in Israel
 
Docker meetup talk - chicago March 2014
Docker meetup talk - chicago March 2014Docker meetup talk - chicago March 2014
Docker meetup talk - chicago March 2014
 
Monitoring CloudStack and components
Monitoring CloudStack and componentsMonitoring CloudStack and components
Monitoring CloudStack and components
 
GDG Cloud Southlake #9 Secure Cloud Networking - Beyond Cloud Boundaries
GDG Cloud Southlake #9 Secure Cloud Networking - Beyond Cloud BoundariesGDG Cloud Southlake #9 Secure Cloud Networking - Beyond Cloud Boundaries
GDG Cloud Southlake #9 Secure Cloud Networking - Beyond Cloud Boundaries
 
Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...
Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...
Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...
 
Understanding network and service virtualization
Understanding network and service virtualizationUnderstanding network and service virtualization
Understanding network and service virtualization
 
Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...
Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...
Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...
 
Docker at Flux7
Docker at Flux7Docker at Flux7
Docker at Flux7
 
VMworld 2015: VMware NSX Deep Dive
VMworld 2015: VMware NSX Deep DiveVMworld 2015: VMware NSX Deep Dive
VMworld 2015: VMware NSX Deep Dive
 
VMworld 2015: VMware NSX Deep Dive
VMworld 2015: VMware NSX Deep DiveVMworld 2015: VMware NSX Deep Dive
VMworld 2015: VMware NSX Deep Dive
 
Building a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in dockerBuilding a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in docker
 
Ransomware: The Defendable Epidemic
Ransomware: The Defendable EpidemicRansomware: The Defendable Epidemic
Ransomware: The Defendable Epidemic
 
2016 08-30 Kubernetes talk for Waterloo DevOps
2016 08-30 Kubernetes talk for Waterloo DevOps2016 08-30 Kubernetes talk for Waterloo DevOps
2016 08-30 Kubernetes talk for Waterloo DevOps
 
Continuous Security: From tins to containers - now what!
Continuous Security: From tins to containers - now what!Continuous Security: From tins to containers - now what!
Continuous Security: From tins to containers - now what!
 
Network Design patters with Docker
Network Design patters with DockerNetwork Design patters with Docker
Network Design patters with Docker
 

More from Varnish Software

Ask Me Anything on authentication & authorisation in Varnish
Ask Me Anything on authentication & authorisation in VarnishAsk Me Anything on authentication & authorisation in Varnish
Ask Me Anything on authentication & authorisation in Varnish
Varnish Software
 
Boozt.com Use Case
Boozt.com Use CaseBoozt.com Use Case
Boozt.com Use Case
Varnish Software
 
Akamai connector for varnish
Akamai connector for varnishAkamai connector for varnish
Akamai connector for varnish
Varnish Software
 
Streaming with Varnish
Streaming with VarnishStreaming with Varnish
Streaming with Varnish
Varnish Software
 
Edgestash
EdgestashEdgestash
Edgestash
Varnish Software
 
What is new in varnish plus
What is new in varnish plusWhat is new in varnish plus
What is new in varnish plus
Varnish Software
 
Varnish Extend demo
Varnish Extend demoVarnish Extend demo
Varnish Extend demo
Varnish Software
 
Varnish extend introduction
Varnish extend introductionVarnish extend introduction
Varnish extend introduction
Varnish Software
 
Cedexis introduction
Cedexis introductionCedexis introduction
Cedexis introduction
Varnish Software
 
Secure content caching
Secure content cachingSecure content caching
Secure content caching
Varnish Software
 
Microservices
MicroservicesMicroservices
Microservices
Varnish Software
 
Varnishtest
VarnishtestVarnishtest
Varnishtest
Varnish Software
 
Lightning fast with Varnish
Lightning fast with VarnishLightning fast with Varnish
Lightning fast with Varnish
Varnish Software
 
E-commerce use case
E-commerce use caseE-commerce use case
E-commerce use case
Varnish Software
 
Access control
Access controlAccess control
Access control
Varnish Software
 
Varnish TLS
Varnish TLSVarnish TLS
Varnish TLS
Varnish Software
 
MSE
MSEMSE
Debugging varnish
Debugging varnishDebugging varnish
Debugging varnish
Varnish Software
 
De idea a implementación con Varnish Plus
De idea a implementación con Varnish PlusDe idea a implementación con Varnish Plus
De idea a implementación con Varnish Plus
Varnish Software
 
Varnish cache en ocho pasos
Varnish cache en ocho pasosVarnish cache en ocho pasos
Varnish cache en ocho pasos
Varnish Software
 

More from Varnish Software (20)

Ask Me Anything on authentication & authorisation in Varnish
Ask Me Anything on authentication & authorisation in VarnishAsk Me Anything on authentication & authorisation in Varnish
Ask Me Anything on authentication & authorisation in Varnish
 
Boozt.com Use Case
Boozt.com Use CaseBoozt.com Use Case
Boozt.com Use Case
 
Akamai connector for varnish
Akamai connector for varnishAkamai connector for varnish
Akamai connector for varnish
 
Streaming with Varnish
Streaming with VarnishStreaming with Varnish
Streaming with Varnish
 
Edgestash
EdgestashEdgestash
Edgestash
 
What is new in varnish plus
What is new in varnish plusWhat is new in varnish plus
What is new in varnish plus
 
Varnish Extend demo
Varnish Extend demoVarnish Extend demo
Varnish Extend demo
 
Varnish extend introduction
Varnish extend introductionVarnish extend introduction
Varnish extend introduction
 
Cedexis introduction
Cedexis introductionCedexis introduction
Cedexis introduction
 
Secure content caching
Secure content cachingSecure content caching
Secure content caching
 
Microservices
MicroservicesMicroservices
Microservices
 
Varnishtest
VarnishtestVarnishtest
Varnishtest
 
Lightning fast with Varnish
Lightning fast with VarnishLightning fast with Varnish
Lightning fast with Varnish
 
E-commerce use case
E-commerce use caseE-commerce use case
E-commerce use case
 
Access control
Access controlAccess control
Access control
 
Varnish TLS
Varnish TLSVarnish TLS
Varnish TLS
 
MSE
MSEMSE
MSE
 
Debugging varnish
Debugging varnishDebugging varnish
Debugging varnish
 
De idea a implementación con Varnish Plus
De idea a implementación con Varnish PlusDe idea a implementación con Varnish Plus
De idea a implementación con Varnish Plus
 
Varnish cache en ocho pasos
Varnish cache en ocho pasosVarnish cache en ocho pasos
Varnish cache en ocho pasos
 

Recently uploaded

Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 

Recently uploaded (20)

Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 

Varnish extend

  • 1. 1
  • 2. Ultimate Goal and Problem Network LatencyThroughput 2
  • 3. Varnish Extend - What is it? Bundled Software and Services Aimed to provide ● Flexible deployment methodology for Varnish and other delivery mechanisms ● A set of tools that enables easy “hybridisation” of technologies Example use cases: - Hybrid CDN/Varnish - Leverage existing data centres for content delivery - Full DIY CDN 3
  • 4. Three Key Components Varnish Plus (caching) ● Fine-grained cache control important for good off-loads ● High availability ● Custom Statistics - Visibility of near real-time reporting Cedexis Radar/Openmix (RUM based Intelligent Routing and GSLB) ● Move beyond Geo to End-User Feedback ● “Programmable” load-balancing to enable flexibility and fine-grained control Cedexis Purge (Unified Purging) ● Purge Page and object Content Across delivery architectures. ● Purge Method Supported (No Bans) 4
  • 5. Varnish Extend Extending your Content Delivery Capabilities and Control Private CDN / Edge node(s) End UsersAccess Network CDN Operators Content Origin Global Traffic Management 5
  • 6. ● Overall depicted edge capacity is 80Gbps (8 x 10Gbps). ● DNS based edge routing allows clients to pin to an edge node, making prefetch effective. ● Both tiers can scale horizontally by adding more nodes, increasing overall storage and capacity. ● Live video content is malloc only. ● Edge and storage tiers can live in the same rack. 6
  • 8. Cedexis Radar Real-user Monitoring (RUM) - Tag Based. - Community Testing of CDN’s and Clouds - Monitoring of Data Centres Openmix Load-Balancing - Programmable “Business logic” Load-Balancing - JS based / Forms based configuration - ECMA5 (Some 6) - DNS Decisions - CNAME / A/AAAA Record Responses - TTL - HTTP API - “Decisions” in a restful response - Multi-Decision responses (ordered lists) 8
  • 9. Prerequisites ● Basic experience with command line in Linux/Unix systems ● Basic understanding of Varnish Configuration Language (VCL) ● Varnish Extend subscription ● Root access to virtual or real hosts. In this demo: ○ Origin server ○ POPs ● Access to your DNS Architecture 9
  • 11. Edge 3 Location: Asia Edge 2 Location: Europe Varnish Plus Edge 1 Location: U.S. Varnish Plus Location: NYC Origin Server Varnish Plus Tier 2: POPsTier 1: Shield Varnish PlusVarnish Plus VHA Demo 11
  • 13. 13
  • 14. TLS configuration ● Repository configuration for ○ varnish-plus-addon-ssl ● Certificate: ○ From valid certification authority ○ Let’s Encrypt ○ make-dummy-cert ● VCL to connect from POPs to origin server: backend default { .host = "origin-frankfurt.varnish-software.com"; .port = "https"; .ssl = 1; .ssl_nosni = 1; .ssl_noverify = 1; } 14
  • 15. Hitch configuration /etc/hitch/hitch.conf frontend = "[*]:443" backend = "[127.0.0.1]:6086" pem-file = "/etc/ssl/bundles/varnish-software.com.bundle" write-proxy-v1 = on ... $ service hitch start 15
  • 16. Massive Storage Engine (MSE) $ mkfs.mse -s /var/lib/varnish/mse/store,5GB -b /var/lib/varnish/mse/book,50MB -p big_alloc=5MB Creating data stores in file '/var/varnish/mse/store' Cooking the books in file '/var/lib/varnish/mse/book'. This may take a while ... Creating 209661 spare nodes Creating 209661 spare nodes Finished Varnish Plus Massive Storage Engine data files successfully created. Varnish Plus stevedore argument: varnishd -s mse, /var/lib/varnish/mse/store,/var/lib/varnish/mse/book 16
  • 17. VCS Configuration sub vcl_deliver { std.log("vcs-key:ALL"); std.log("vcs-key:HOST/" + req.http.Host); std.log("vcs-key:URL/" + req.http.Host + req.url); std.log("vcs-key:CONTENT/" + req.http.Host + "/" + regsub(resp.http.Content-Type, ";.*", "")); std.log("vcs-key:SESSIONS/" + req.http.veid); } /etc/varnish/cdn.vcl DAEMON_OPTS="138.197.97.165" /etc/varnish/vstatdprobe.params 17
  • 18. Cedexis Configuration: Radar Radar - Deploy “tag” in Web pages to start testing - Place “Test-Objects” to test each deployment (Server/Cluster) - Configure Cedexis Portal to Monitor 18
  • 19. Cedexis: Configuring Openmix Decide on HTTP or DNS “Decisions” Create Application - Forms Driven (Portal) - Custom JS (ECMA5) - Common Code base for HTTP and DNS. - http://developers.cedexis.com Deploy - Via Portal “2 Stage” Publish Go-Live - DNS - CNAME to Cedexis host (2-01-5024- 0003.cdx.cedexis.net) - HTTP - Integrate API into a CMS or Player. 19
  • 21. Take away ● Building your private CDN is not rocket science with Varnish Extend ● Roll it out gradually: keep risks controlled and low! ● Gain consumer power by combining Varnish and CDN offerings ● Gain control on the delivery of your content with minimum overhead and complexity ● Maximize hardware resource utilization 21
  • 22. 22
  • 23. Varnish High Availability (VHA) Varnish 1 VHA Varnish 2 VHA 1 2 3 4 5 6 7 8 Client 1. Client request 2. Backend request 3. Backend response 4. VHA notices a new cached object 1. Client response 2. Signals replication request 3. Peer request 4. Peer response 5. Object replicated 9 Backend 23
  • 24. Varnish High Availability (VHA) sub vcl_recv { call vha_backend_selection; } sub vcl_hit { call vha_skip_grace; } sub vcl_deliver { call vha_clean_headers; } /etc/varnish/cdn.vcl $ vha-generate-vcl --token 9ad34eccb > /etc/varnish/vha.vcl 24
  • 25. Varnish High Availability (VHA) ENABLE=1 NAME=singapore-01 DAEMON_OPTS="-N /etc/varnish/nodes.conf -m singapore-01 -s /var/lib/vha-agent/vha-status -T 9ad34eccb" vha-agent.params singapore-01 = https://cdn-singapore-01.varnish-software.com singapore-02 = https://cdn-singapore-02.varnish-software.com /etc/varnish/nodes.conf 25
  • 26. Numerous Possibilities for Load-Balancing 26
  • 27. Extending Intelligence with Fusion - A Service that takes 3rd Party Data for use within an Openmix Application - Pre-built Interfaces with: - CDN’s - APM (Monitoring) - Server Architectures - Can pull Bandwidth, Usage etc from suppliers - Custom ingest also possible with Fusion Custom (Anything text based) - Business Metrics like cost, commit - Custom Technical Metrics 27
  • 28. DNS or HTTP DNS - Common Method of Integration for WebSites/Applications - DNS CNAME integration - Decision made at Resolver Level - Fully Transparent to end-user. HTTP - Usually used for Video - API based Integration - Points to “Best” delivery Architecture - Ordered List or Single Provider response - Decision Made at requestor (Client) IP level. 28
  • 29. Test material ● DASH player from https://github.com/Dash-Industry-Forum/dash.js/ ● DASH videos from http://dash.edgesuite.net/dash264/TestCases/5a/ ● Player Demo: https://cdn.varnish-software.com/dash.js/samples/dash-if- reference-player/ ● Load-balancing script examples: developers.cedexis.com 29