SlideShare a Scribd company logo
1 of 20
Download to read offline
COW's, microservices and Varnish
A copy on write cache
accelerator pattern
or
A cache close to you
Me
● Anders Håål
● Software engineer consultant
● anders.haal@ingby.com
● @thenodon
● Currently PostNord Logistics
● Developing customer and recipient services
Customer facing servics @PostNord
Logistic production systems
Predictive load → ∫(parcels)
“Low” change rate
Enterprise software solutions
Internet facing services
Microservice design
Polyglot strategy
Continues delivery
Push
data
Favorite ServicePoint
● 25% of the parcel volume is
delivered to Servicepoints
● Enable a recipient to specify a
favorite Servicepoint
● Change the default Servicepoint,
based on postal code, to recipients
favorite
700 000 – 1 000 000 parcels/day
10-15% yearly increase
Solution
● Change the default to favorite before sorting and
processing
● During validation of EDI
● Lookup
– recipient mobile or email has
chosen a favorite
● Replace
– Servicepoint in EDI
if match
UNA:+.? '
UNB+UNOC:3+000X5766:30+00012306:30+160331:0759+1042++SendIT'
UNH+123456+IFTMIN:S:93A:UN+PLE101'
BGM+++9'
DTM+10:201604051530:203'
TSR+57+73 '
RFF+CU:Ordernummer1'
RFF+FLW:ABSOIDD'
TDT+20'
NAD+CZ+0206700700++Avsändarnamn+Testgatan 2+Nacka++13135+SE'
CTA+IC+Sven Svensson'
NAD+OS+++Webshop+Testgatan 2+Nacka++13135+SE'
NAD+CN+++Mottagarnamn+Hedlunds backe 1+Lerum++44338+SE'
CTA+IC'
COM+0700000000:AL'
COM+sven@gmail.com:EM'
GID+1+1:PC'
PCI+24+00373500454584614380'
UNT+17+123456'
UNZ+1+1042'
Favorite Servicepoint
Service
FavoriteSP
EDI validation
system
API
Internal
API
Public API
(auth)
PUT GET DELETE
GET
Favorite Servicepoint
Service
FavoriteSP
EDI validation
system
API
Internal
API
Public API
(auth)
PUT GET DELETE
GET
Service operation ~2 ms
Network latency ~110 ms
Total time > 110 ms
Favorite Servicepoint
Service
FavoriteSP
EDI validation
system
API
Internal
API
Public API
(auth)
PUT GET DELETE
GET
Service operation ~2 ms
Network latency ~110 ms
Total time > 110 ms
Normal EDI validation per parcel 10-20 ms
TAKES TOO LONG
Adding Varnish Plus
Service
FavoriteSP
EDI validation
system
API
Internal
API
Public API
(auth)
Varnish
Cache Plus
PUT GET DELETE
GET
Adding Varnish Plus
Service
FavoriteSP
EDI validation
system
API
Internal
API
Public API
(auth)
Varnish
Cache Plus
PUT GET DELETE
GET
Expected hit rate is low
What is the right TTL?
Adding COW
Service
FavoriteSP
EDI validation
system
API
Internal
API
Public API
(auth)
Varnish
Cache Plus
PUT GET DELETE
GET
GET
PURGE
Async
call
On PUT →
Cache GET
On DELETE →
Cache PURGE
Adding COW
Service
FavoriteSP
EDI validation
system
API
Internal
API
Public API
(auth)
Varnish
Cache Plus
PUT GET DELETE
GET
On PUT →
Cache GET
On DELETE →
Cache PURGE
GET
Header X-force-fetch:true
PURGE
Async
call
Completed!
Service
FavoriteSP
EDI validation
system
API
Internal
API
Public API
(auth)
Varnish
Cache Plus
PUT GET DELETE
GET
On PUT →
Cache GET
On DELETE →
Cache PURGE
GET
Header X-force-fetch:true
PURGE
Async
call
{
~90 ms
{
~4 ms
What about data consistency
Network down?
Varnish down?
Varnish out of space?
Everything can go wrong!
“Transactions”
● Persistent cache
● Varnish Cache Plus – massive storage engine
● Transaction log to enable resending and preserve
transaction order
● Acknowledge/commit the call to Varnish
● Operation to re-populate cache
Benefits
● Robust
●
Scalable
● Improved speed
● Consumes the “right” resources
● Cache updates are done out of EDI validation service
execution scope
● Effective for use cases with expected “low” hit rate
● Route to a specific cache based on request parameters
Nordic Favorite Servicepoint
Service
FavoriteSP
EDI validation
system
Sweden
API
Internal
API
Public API
(auth)
Varnish
Cache Plus
PUT GET DELETE
Async
call
PUT
EDI validation
system
Denmark
Varnish
Cache Plus
If SE
If DK
Thanks for listening!
Questions?

More Related Content

What's hot

Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014
bryan_call
 

What's hot (20)

Building your own CDN using Amazon EC2
Building your own CDN using Amazon EC2Building your own CDN using Amazon EC2
Building your own CDN using Amazon EC2
 
DockerCon Live 2020 - Securing Your Containerized Application with NGINX
DockerCon Live 2020 - Securing Your Containerized Application with NGINXDockerCon Live 2020 - Securing Your Containerized Application with NGINX
DockerCon Live 2020 - Securing Your Containerized Application with NGINX
 
Delivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINXDelivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINX
 
CoAP Talk
CoAP TalkCoAP Talk
CoAP Talk
 
Benchmarking NGINX for Accuracy and Results
Benchmarking NGINX for Accuracy and ResultsBenchmarking NGINX for Accuracy and Results
Benchmarking NGINX for Accuracy and Results
 
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
 
High Availability Content Caching with NGINX
High Availability Content Caching with NGINXHigh Availability Content Caching with NGINX
High Availability Content Caching with NGINX
 
Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014
 
Usenix LISA 2012 - Choosing a Proxy
Usenix LISA 2012 - Choosing a ProxyUsenix LISA 2012 - Choosing a Proxy
Usenix LISA 2012 - Choosing a Proxy
 
Extending Your Applications to the Edge with CDNs
Extending Your Applications to the Edge with CDNsExtending Your Applications to the Edge with CDNs
Extending Your Applications to the Edge with CDNs
 
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
 
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
 
HTTP cache @ PUG Rome 03-29-2011
HTTP cache @ PUG Rome 03-29-2011HTTP cache @ PUG Rome 03-29-2011
HTTP cache @ PUG Rome 03-29-2011
 
Micro on NATS - Microservices with Messaging
Micro on NATS - Microservices with MessagingMicro on NATS - Microservices with Messaging
Micro on NATS - Microservices with Messaging
 
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 Connect Live | NATS as a Service Mesh
NATS Connect Live | NATS as a Service MeshNATS Connect Live | NATS as a Service Mesh
NATS Connect Live | NATS as a Service Mesh
 
Lcu14 Lightning Talk- NGINX
Lcu14 Lightning Talk- NGINXLcu14 Lightning Talk- NGINX
Lcu14 Lightning Talk- NGINX
 
NGINX Plus R20 Webinar
NGINX Plus R20 WebinarNGINX Plus R20 Webinar
NGINX Plus R20 Webinar
 
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 Plus PLATFORM For Flawless Application Delivery
NGINX Plus PLATFORM For Flawless Application DeliveryNGINX Plus PLATFORM For Flawless Application Delivery
NGINX Plus PLATFORM For Flawless Application Delivery
 

Similar to PostNord: Copy On Write

HGConcept-CMDB-Integration Methods
HGConcept-CMDB-Integration MethodsHGConcept-CMDB-Integration Methods
HGConcept-CMDB-Integration Methods
HGConcept Inc.
 
Visual Mapping of Clickstream Data
Visual Mapping of Clickstream DataVisual Mapping of Clickstream Data
Visual Mapping of Clickstream Data
DataWorks Summit
 
Highwinds | CDN | Overview
Highwinds | CDN | OverviewHighwinds | CDN | Overview
Highwinds | CDN | Overview
aadamian
 

Similar to PostNord: Copy On Write (20)

HGConcept-CMDB-Integration Methods
HGConcept-CMDB-Integration MethodsHGConcept-CMDB-Integration Methods
HGConcept-CMDB-Integration Methods
 
Build your Cloud Solution for Success - Tel Aviv Summit 2018
Build your Cloud Solution for Success - Tel Aviv Summit 2018Build your Cloud Solution for Success - Tel Aviv Summit 2018
Build your Cloud Solution for Success - Tel Aviv Summit 2018
 
Netflix Big Data Paris 2017
Netflix Big Data Paris 2017Netflix Big Data Paris 2017
Netflix Big Data Paris 2017
 
How Netflix Monitors Applications in Near Real-time w Amazon Kinesis - ABD401...
How Netflix Monitors Applications in Near Real-time w Amazon Kinesis - ABD401...How Netflix Monitors Applications in Near Real-time w Amazon Kinesis - ABD401...
How Netflix Monitors Applications in Near Real-time w Amazon Kinesis - ABD401...
 
Improve Customer Experience with Multi CDN Solution
Improve Customer Experience with Multi CDN SolutionImprove Customer Experience with Multi CDN Solution
Improve Customer Experience with Multi CDN Solution
 
Praxistaugliche notes strategien 4 cloud
Praxistaugliche notes strategien 4 cloudPraxistaugliche notes strategien 4 cloud
Praxistaugliche notes strategien 4 cloud
 
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
 
Highwinds CDN
Highwinds CDNHighwinds CDN
Highwinds CDN
 
Introduction to InfluxDB
Introduction to InfluxDBIntroduction to InfluxDB
Introduction to InfluxDB
 
HDInsight Interactive Query
HDInsight Interactive QueryHDInsight Interactive Query
HDInsight Interactive Query
 
Database Migration – Simple, Cross-Engine and Cross-Platform Migration
Database Migration – Simple, Cross-Engine and Cross-Platform MigrationDatabase Migration – Simple, Cross-Engine and Cross-Platform Migration
Database Migration – Simple, Cross-Engine and Cross-Platform Migration
 
Digital transformation slideshare
Digital transformation   slideshareDigital transformation   slideshare
Digital transformation slideshare
 
Real-Time Vote Platform Benchmark
Real-Time Vote Platform BenchmarkReal-Time Vote Platform Benchmark
Real-Time Vote Platform Benchmark
 
Journey to the Data Lake: How Progressive Paved a Faster, Smoother Path to In...
Journey to the Data Lake: How Progressive Paved a Faster, Smoother Path to In...Journey to the Data Lake: How Progressive Paved a Faster, Smoother Path to In...
Journey to the Data Lake: How Progressive Paved a Faster, Smoother Path to In...
 
Visual Mapping of Clickstream Data
Visual Mapping of Clickstream DataVisual Mapping of Clickstream Data
Visual Mapping of Clickstream Data
 
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
 
Creating and Managing a Paperless Enterprise
Creating and Managing a Paperless EnterpriseCreating and Managing a Paperless Enterprise
Creating and Managing a Paperless Enterprise
 
Highwinds | CDN | Overview
Highwinds | CDN | OverviewHighwinds | CDN | Overview
Highwinds | CDN | Overview
 
Big Data LDN 2016: When Big Data Meets Fast Data
Big Data LDN 2016: When Big Data Meets Fast DataBig Data LDN 2016: When Big Data Meets Fast Data
Big Data LDN 2016: When Big Data Meets Fast Data
 
Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014
 

More from 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
 
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
 
Varnish plus con paywall avanzado en la voz de galicia
Varnish plus con paywall avanzado en la voz de galiciaVarnish plus con paywall avanzado en la voz de galicia
Varnish plus con paywall avanzado en la voz de galicia
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

PostNord: Copy On Write