SlideShare a Scribd company logo
1 of 16
Applying “web scale” patterns
Peter Paul van de Beek
AMSTERDAM 16 - 17 MAY 2017
The shop for everyone
2
Bol.com from online bookshop to portal for specialised online channels
serving the entire Dutch-language region
3
Books Entertainment Electronics Toys
Preloved sales eReading
Small Appliances
White Goods
Marketing via bol.com
Baby
Cooking & Tableware
Health & Beauty Home & BedroomPets
Garden & DIY
2004-2007 2010
Sports & Leisure
1999-2003 2010 2011 2012 2013 2014 2015
Jewellery & Watches
Bags & Accessories
SECOND-HAND
ePRODUCTS
COMMERCIAL
MARKETING
NEW SPECIALISED CHANNELS
ALSO WORTH KNOWING
Startup in a portacabin Active in Belgium Takeover by Ahold
2008-2009
• Over 7,4 million active customers
• Virtual footprint of almost 2 million
per day
• Nearly 15 million products
• More than a 1.200 employees in
Utrecht
• 1 in 2 Dutch and Belgian consumers
who shop online, do so on bol.com
• Ranked among top 10 businesses for
customer satisfaction
4
Where is bol.com now?
>95% >75%
Brand awareness
5
Our promises to our customers
CQRS
Event Sourcing
Polyglot persistence
Micro services
As a proposition manager
I need real time stock levels in the web shop
So we can offer al kind of last mile services
Inventory Management
8
CQRS
command query
Received Goods
Stock Corrections
Sales
Shipments
Stock
Levels
As a buyer
I need to calculate the value of allowances
So I can offer lower prices to our customers
10
Event Sourcing
Event store
Event store
Invoiced
purchases
Consumer
sales
Condition
Calculation
Invoices&Accruals
As a logistics planner
I need to handle different types of warehouse orders
So I can handle a variety of services
As a retail platform billing manager
I need to store and trace different kinds of transactions
So I can invoice retailers
Polyglot persistence - Schema and schema less data
13
Relational DB
Document DB
Key-Value Store
Column-family DB
As a CIO
I need scalable and reliable software
So I can run a great web shop and innovate at speed
(micro) services
15
• Smaller functional responsibility.
Or just smaller services;
• Independent deployment. Each
service has continuous
integration (CI) and continuous
deployment (CD);
• Mayfly
Thanks!
till next bol.com

More Related Content

What's hot (7)

E commerce
E commerce E commerce
E commerce
 
15_online sales
15_online sales15_online sales
15_online sales
 
Learn Ecommerce marketing
Learn Ecommerce marketing Learn Ecommerce marketing
Learn Ecommerce marketing
 
OOH & e-commerce : bridging the gap between physical & digital world
OOH & e-commerce : bridging the gap between physical & digital worldOOH & e-commerce : bridging the gap between physical & digital world
OOH & e-commerce : bridging the gap between physical & digital world
 
Online shopping
Online shoppingOnline shopping
Online shopping
 
Online Shopping
Online ShoppingOnline Shopping
Online Shopping
 
Bakker.com
Bakker.comBakker.com
Bakker.com
 

Similar to Applying web scale patterns in the bol.com back office - Peter Paul van de Beek - Codemotion Amsterdam 2017

jonathan gillyns bol
jonathan gillyns boljonathan gillyns bol
jonathan gillyns boljohnoxxx
 
Presentatie TU Eindhoven
Presentatie TU EindhovenPresentatie TU Eindhoven
Presentatie TU EindhovenRsnelders
 
How the internet is changing garden retailing!
How the internet is changing garden retailing!How the internet is changing garden retailing!
How the internet is changing garden retailing!Edwin Meijer
 
Independent Dutch e commerce companies in 2012
Independent Dutch e commerce companies in 2012Independent Dutch e commerce companies in 2012
Independent Dutch e commerce companies in 2012Ron Belt
 
Uniway Ecommerce activities
Uniway Ecommerce activitiesUniway Ecommerce activities
Uniway Ecommerce activitiesUniway
 
BISCUITERIE JULES DESTROOPER - Kjell Dursin, Digital Marketing Coordinator
BISCUITERIE JULES DESTROOPER - Kjell Dursin, Digital Marketing CoordinatorBISCUITERIE JULES DESTROOPER - Kjell Dursin, Digital Marketing Coordinator
BISCUITERIE JULES DESTROOPER - Kjell Dursin, Digital Marketing Coordinatorecommercexpokortrijk
 
BeCommerce Figures & Trends 2013 - Zoom on Mobile Commerce
BeCommerce Figures & Trends 2013 - Zoom on Mobile CommerceBeCommerce Figures & Trends 2013 - Zoom on Mobile Commerce
BeCommerce Figures & Trends 2013 - Zoom on Mobile CommerceBeCommerce
 
Philippe Van Ophem & Renaud Gryspeerdt - Coupon: overschakelen of sterven?
Philippe Van Ophem & Renaud Gryspeerdt - Coupon: overschakelen of sterven?Philippe Van Ophem & Renaud Gryspeerdt - Coupon: overschakelen of sterven?
Philippe Van Ophem & Renaud Gryspeerdt - Coupon: overschakelen of sterven?Sanoma Belgium
 
Ecommerce with Europe in 25 minutes
Ecommerce with Europe in 25 minutesEcommerce with Europe in 25 minutes
Ecommerce with Europe in 25 minutesEcommerce Europe
 
Why is Global ECommerce Important? @LeeBogner
Why is Global ECommerce Important? @LeeBognerWhy is Global ECommerce Important? @LeeBogner
Why is Global ECommerce Important? @LeeBognerLee Bogner
 
The future of connected retail
The future of connected retailThe future of connected retail
The future of connected retaildanagendler
 
Retailer becomes e-tailer Jan Somers
Retailer becomes e-tailer Jan Somers Retailer becomes e-tailer Jan Somers
Retailer becomes e-tailer Jan Somers Olivier Van Baeveghem
 
[Dutch] Four Years Later: Blokker’s Secrets to Staying Ahead of Retail Trends
[Dutch] Four Years Later: Blokker’s Secrets to Staying Ahead of Retail Trends[Dutch] Four Years Later: Blokker’s Secrets to Staying Ahead of Retail Trends
[Dutch] Four Years Later: Blokker’s Secrets to Staying Ahead of Retail TrendsClémence Pierunek
 
E commerce van A tot Z 21 juni 2017
E commerce van A tot Z  21 juni 2017E commerce van A tot Z  21 juni 2017
E commerce van A tot Z 21 juni 2017Suivo NV
 
The Shift in Retail - Retailday
The Shift in Retail - RetaildayThe Shift in Retail - Retailday
The Shift in Retail - RetaildayWijs
 
How Maison Dandoy uses Odoo
How Maison Dandoy uses OdooHow Maison Dandoy uses Odoo
How Maison Dandoy uses OdooOdoo
 
1st Web Cross Channel Seminar - Fremtidens Forbruger (Asger)
1st Web Cross Channel Seminar - Fremtidens Forbruger (Asger)1st Web Cross Channel Seminar - Fremtidens Forbruger (Asger)
1st Web Cross Channel Seminar - Fremtidens Forbruger (Asger)1st Web
 
Inbound marketing
Inbound marketingInbound marketing
Inbound marketingRahid Kader
 

Similar to Applying web scale patterns in the bol.com back office - Peter Paul van de Beek - Codemotion Amsterdam 2017 (20)

jonathan gillyns bol
jonathan gillyns boljonathan gillyns bol
jonathan gillyns bol
 
Presentatie TU Eindhoven
Presentatie TU EindhovenPresentatie TU Eindhoven
Presentatie TU Eindhoven
 
How the internet is changing garden retailing!
How the internet is changing garden retailing!How the internet is changing garden retailing!
How the internet is changing garden retailing!
 
Independent Dutch e commerce companies in 2012
Independent Dutch e commerce companies in 2012Independent Dutch e commerce companies in 2012
Independent Dutch e commerce companies in 2012
 
Uniway Ecommerce activities
Uniway Ecommerce activitiesUniway Ecommerce activities
Uniway Ecommerce activities
 
BISCUITERIE JULES DESTROOPER - Kjell Dursin, Digital Marketing Coordinator
BISCUITERIE JULES DESTROOPER - Kjell Dursin, Digital Marketing CoordinatorBISCUITERIE JULES DESTROOPER - Kjell Dursin, Digital Marketing Coordinator
BISCUITERIE JULES DESTROOPER - Kjell Dursin, Digital Marketing Coordinator
 
BeCommerce Figures & Trends 2013 - Zoom on Mobile Commerce
BeCommerce Figures & Trends 2013 - Zoom on Mobile CommerceBeCommerce Figures & Trends 2013 - Zoom on Mobile Commerce
BeCommerce Figures & Trends 2013 - Zoom on Mobile Commerce
 
Philippe Van Ophem & Renaud Gryspeerdt - Coupon: overschakelen of sterven?
Philippe Van Ophem & Renaud Gryspeerdt - Coupon: overschakelen of sterven?Philippe Van Ophem & Renaud Gryspeerdt - Coupon: overschakelen of sterven?
Philippe Van Ophem & Renaud Gryspeerdt - Coupon: overschakelen of sterven?
 
Ecommerce with Europe in 25 minutes
Ecommerce with Europe in 25 minutesEcommerce with Europe in 25 minutes
Ecommerce with Europe in 25 minutes
 
Why is Global ECommerce Important? @LeeBogner
Why is Global ECommerce Important? @LeeBognerWhy is Global ECommerce Important? @LeeBogner
Why is Global ECommerce Important? @LeeBogner
 
The future of connected retail
The future of connected retailThe future of connected retail
The future of connected retail
 
Retailer becomes e-tailer Jan Somers
Retailer becomes e-tailer Jan Somers Retailer becomes e-tailer Jan Somers
Retailer becomes e-tailer Jan Somers
 
[Dutch] Four Years Later: Blokker’s Secrets to Staying Ahead of Retail Trends
[Dutch] Four Years Later: Blokker’s Secrets to Staying Ahead of Retail Trends[Dutch] Four Years Later: Blokker’s Secrets to Staying Ahead of Retail Trends
[Dutch] Four Years Later: Blokker’s Secrets to Staying Ahead of Retail Trends
 
E commerce van A tot Z 21 juni 2017
E commerce van A tot Z  21 juni 2017E commerce van A tot Z  21 juni 2017
E commerce van A tot Z 21 juni 2017
 
The Shift in Retail - Retailday
The Shift in Retail - RetaildayThe Shift in Retail - Retailday
The Shift in Retail - Retailday
 
The Shift in Retail
The Shift in RetailThe Shift in Retail
The Shift in Retail
 
How Maison Dandoy uses Odoo
How Maison Dandoy uses OdooHow Maison Dandoy uses Odoo
How Maison Dandoy uses Odoo
 
What is e commerce
What is e commerceWhat is e commerce
What is e commerce
 
1st Web Cross Channel Seminar - Fremtidens Forbruger (Asger)
1st Web Cross Channel Seminar - Fremtidens Forbruger (Asger)1st Web Cross Channel Seminar - Fremtidens Forbruger (Asger)
1st Web Cross Channel Seminar - Fremtidens Forbruger (Asger)
 
Inbound marketing
Inbound marketingInbound marketing
Inbound marketing
 

More from Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

More from Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Recently uploaded

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 

Recently uploaded (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 

Applying web scale patterns in the bol.com back office - Peter Paul van de Beek - Codemotion Amsterdam 2017

  • 1. Applying “web scale” patterns Peter Paul van de Beek AMSTERDAM 16 - 17 MAY 2017
  • 2. The shop for everyone 2
  • 3. Bol.com from online bookshop to portal for specialised online channels serving the entire Dutch-language region 3 Books Entertainment Electronics Toys Preloved sales eReading Small Appliances White Goods Marketing via bol.com Baby Cooking & Tableware Health & Beauty Home & BedroomPets Garden & DIY 2004-2007 2010 Sports & Leisure 1999-2003 2010 2011 2012 2013 2014 2015 Jewellery & Watches Bags & Accessories SECOND-HAND ePRODUCTS COMMERCIAL MARKETING NEW SPECIALISED CHANNELS ALSO WORTH KNOWING Startup in a portacabin Active in Belgium Takeover by Ahold 2008-2009
  • 4. • Over 7,4 million active customers • Virtual footprint of almost 2 million per day • Nearly 15 million products • More than a 1.200 employees in Utrecht • 1 in 2 Dutch and Belgian consumers who shop online, do so on bol.com • Ranked among top 10 businesses for customer satisfaction 4 Where is bol.com now? >95% >75% Brand awareness
  • 5. 5
  • 6. Our promises to our customers CQRS Event Sourcing Polyglot persistence Micro services
  • 7. As a proposition manager I need real time stock levels in the web shop So we can offer al kind of last mile services
  • 8. Inventory Management 8 CQRS command query Received Goods Stock Corrections Sales Shipments Stock Levels
  • 9. As a buyer I need to calculate the value of allowances So I can offer lower prices to our customers
  • 10. 10 Event Sourcing Event store Event store Invoiced purchases Consumer sales Condition Calculation Invoices&Accruals
  • 11. As a logistics planner I need to handle different types of warehouse orders So I can handle a variety of services
  • 12. As a retail platform billing manager I need to store and trace different kinds of transactions So I can invoice retailers
  • 13. Polyglot persistence - Schema and schema less data 13 Relational DB Document DB Key-Value Store Column-family DB
  • 14. As a CIO I need scalable and reliable software So I can run a great web shop and innovate at speed
  • 15. (micro) services 15 • Smaller functional responsibility. Or just smaller services; • Independent deployment. Each service has continuous integration (CI) and continuous deployment (CD); • Mayfly

Editor's Notes

  1. Where and whenever you want it Low prices Doing what we say we are doing
  2. Where and whenever you want it
  3. Low prices