Netcentric: customer experience

  • View
    400

  • Download
    0

Embed Size (px)

Text of Netcentric: customer experience

  • Varnish Plus a customer experience

    AUTHOR:

    DATE: TO:

    Dan Beldimandan.beldiman@netcentric.biz11.02.2016Varnish Summit Berlin

  • About Netcentric and Dan Beldiman

    WhoWe implement and operate large and complex web content management systems Based on Adobe Experience Manager (AEM) High profile customers with a world-wide user base

    I design the architecture and make sure it runs fast and reliable Solutions Architect Head of Systems Engineering at Netcentric

  • Our typical Challanges

    Two month release cycles, every release approx. 500 PDs development

    Security Policies and Risk Assessments

    Complex solutions in the backend, queries can take long

    Segregation of duties for operations

  • Varnish Plus Our Solution

    It is far more than just caching Functionality which allows us to implement

    requirements efficiently Reliable and easy to maintain Support and consulting provided

  • then the out of the box caching of AEM Highly flexible caching and flushing configuration Caching on request basis

    Queuing of multiple requests to the same page while not yet in cache

    Why Varnish Plus caches better ...

    Web pages Redirects

  • Our typical Caching Setup

    Varnish AEM Apache

    SSO GeoIP MURL

  • Use Cases

  • Highly flexible caching logic

    Varnish allow us to cache exactly how we needSome pages flushed on activation Content pages

    Usage of ESI, which allow to flush parts of a page Stock ticker

    Some page components flushed on expiration Personalized activity streams

    1

  • Internal CDN

    Various applications delivery with Varnish

    100.000 internal users distributed around the globe Various backend systems all based in Switzerland

    Allows caching close to end user Reduced the length of the wire

    2

  • Migration of legacy Systems

    Smooth Migration, new and old system in paralell

    Old and new backend used in parallel Content Structure and naming remained unchanged

    Content Migration with restructuring Redirect Feature in AEM

    3

    Varnish

    AEM

    Legacy Hosting

    1) GET

    2) GET

    3) 404

    4) GET

    5) 200

    6) 200

  • How we use it

  • Cut Content right 1

    if (req.url ~ "^/content/intranet/\w{2}/group-regional-ceo"){ set req.url = regsuball(req.url,"(^/content/intranet/\w{2})/group-regional-ceo(/.*)","\1/regional-presidents\2"); }

    Intranet content subtree was moved Moving takes several hours Move was not planed properly New and Old URLs where in use

    Redirect in Varnish

  • Dig to the problem2

    Pages with bad date formatting where delivered Extensive analysis using varnish log Accept-Language header was not set by requests from

    monitoring system Java Standard Taglib (JSTL) renders date in unexpected

    format if header not set (if set, the value does not matter)

    Setting Headers Setting headers when not set

    #FITREQ-24502 set default accept language header if (!req.http.Accept-Language) { set req.http.Accept-Language = "en_US"; }

  • Fix other applications defects3

    Authenticated users where suddenly logged out Sometimes logged in users where logged out CQ Servlet Engine did not support connection re-use JSESSIONID of 1st request was used for all consecutive

    request on same TCP connection

    Configuration of dedicated backend Only relevant for html request Configure dedicated backend for html requests Disable connection re-use for this backend

  • 3 Fix other applications defects

    backend html_requests { .host = "localhost"; .port = "4502";}

    sub vcl_recv { if(req.url ~ "\.html) { set req.backend_hint = html_requests; }}

    sub vcl_pass { if (req.backend_hint == html_requests) { set req.http.Connection = "close"; } return (fetch);}

  • Questions?