Aviran Mordo
Head of Engineering
@aviranm
linkedin.com/in/aviran
aviransplace.com
Scaling with
Microservices Architecture
and Multi-cloud platforms
From 0 to 60 million users scaling with microservices and multi cloud architecture - Aviran Mordo
Wix in Numbers
Over 72M users (website builders)
Static storage is >2PB of data
3 data centers + 3 clouds (Google, Amazon,Azure)
2B HTTP requests/day
1000 people work atWix
Initial Architecture
Built for fast development
Stateful login (Tomcat session), Ehcache, file uploads
No consideration for performance, scalability and testing
Intended for short-term use
Tomcat, Hibernate, custom web framework
Lighttpd
(file serving) MySQL
DB
Wix
(Tomcat)
The Monolithic Giant
One monolithic server that handled everything
Dependency between features
Changes in unrelated areas of the system caused deployment of
the whole system
Failure in unrelated areas will cause system wide downtime
Breaking the System Apart
From 0 to 60 million users scaling with microservices and multi cloud architecture - Aviran Mordo
Concerns and SLA
DataValidation
Security / Authentication
Data consistency
Lots of data
Edit websites
High availability
High performance
Lots of static files
Very high traffic volume
Viewport optimization
Long tail (immutable)
Serving Media
High availability
High performance
High traffic volume
Long tail (mutable)
View sites, created by
Wix editor
Wix Segmentation
1. Editor Segment 3. Public Segment2. Media Segment
Networking
HTML
Editor
Flash
Editor
MSM
Private
Media
Public
Media
Editor Segment Public Segment
Premium
Services
eCommerse
List DB
App
Builder
App
Store
App
Market
Dashboard
Statics/me
dia
Mailer
TimeZone
Public
HTML API
Public API
(Flash)
MSP
Public
Server
HTML
Renderer
HTML SEO
Renderer
Flash
Renderer
Flash SEO
Renderer
Sitemap
Renderer
Robots.txt
Renderer
User
Server
Template
Viewer
ContactsHUB
Activit
y
Site
Members
Provided
Mailing
Service
Comments
Snapshoter
User Pref
Feed Me
Shout-out Hotels
PETRI
Site Pref
Dist LoggerSlicer
eCom
Renderer
eCom Cart
eCom
Checkout
eCom
Catalog
eCom
Orders
Payment
Facade
Account
Info
HTML API
HTML
Embeder
BlogMobile
It is all about
From 0 to 60 million users scaling with microservices and multi cloud architecture - Aviran Mordo
Microservices Guidelines
Each service has its own DB schema (if one is needed)
Only one service should write to a specific DB table(s)
There may be additional read-only services that directly
accesses the DB (for performance reasons)
Services are stateless
No DB transactions
Cache is not a building block, but an optimization
Microservices Tradeoffs
Each service has its own DB schema (if one is needed)
Gain - Easy to scale microservices based on service level concerns
Tradeoff – system complexity, performance
Only one service should write to a specific DB table(s)
Gain - Decoupling architecture – faster development
Tradeoff – system complexity / performance
May have additional read-only services that accesses the DB
Gain - Performance gain
Tradeoff - coupling
Services are stateless
Gain - Easy to scale out (just add more servers)
Tradeoff - performance / consistency
No DB transactions
Gain - Better DB performance, easier to scale
Tradeoff - system complexity
1. Editor Segment
Editor Server
Immutable JSON pages (~3M / day)
Site revisions
Active – standby MySQL cross datacenters
Editor Server
MySQL
Active
Sites
MySQL
Archive
From 0 to 60 million users scaling with microservices and multi cloud architecture - Aviran Mordo
Protect The Data
DB outage with fast recovery = replication
Data poisoning/corruption = revisions / backup
Make the data available at all times = data distribution to multiple
locations / providers
Browser
Editor
Server
GCS
MySQL
Active
Sites
MySQL
Archive
Saving Editor Data
WixMedia
(Amazon)
WixMedia
(Google)
Save Page(s)
200 OK
Upload
Save Page
DC replication
Notify
MySQL
Archive
MySQL
Active
Sites
S3
WixMedia
(DC-1)
Browser
Editor
Server
GCS
MySQL
Active
Sites
MySQL
Archive
WixMedia
(Amazon)
WixMedia
(Google)
Save Page(s)
200 OK
Upload
Save Page
DC replication
Notify
MySQL
Archive
MySQL
Active
Sites
S3
WixMedia
(DC-1)
Self Healing Process
No DB Transactions
Save each page (JSON) as an atomic operation
Page ID is a content based hash (immutable/idempotent)
Finalize transaction by sending site header (list of pages)
Can generate orphaned pages, not a problem in practice
2. Media Segment (WixMP)
Wix Media Platform (WixMP)
Eventual consistent distributed file system
(2PB user media files)
Dynamic media processing
Multi datacenter aware
Automatic fallback cross DC
Run on commodity servers & cloud
T
Google
Cloud
Prospero – Wix Media Manager
get image.jpg
First
fallback
Second
fallback
If not in
CDN
Amazon
x36
T
x36
T
x32
Austin
CDN
3. Public Segment
Public Segment Roles
Routing (resolve URLs)
Dispatching (to a renderer)
Rendering (HTML,XML,TXT)
Public
Server
HTML
Renderer
HTML SEO
Renderer
Flash
Renderer
Sitemap
Renderer
Robots.txt
Renderer
www.example.com
Flash SEO
Renderer
Public SLA
Our goal: 99% response time <100ms at peak traffic
Publish Site
Publish site header (a map of pages for a site)
Publish routing table
Publish site header / routes (CQRS)
Editor Segment Public Segment
Built For Speed
Minimize out-of-process hops (2 DB, 1 RPC)
Lookup tables are cached in memory, updated every few minutes
Denormalized data – optimize for read by primary key (MySQL)
Minimize business logic
How a Page Gets Rendered
Bootstrap HTML template that contains only data
Only JavaScript imports
JSON data (site-header + dynamic data)
No “real” HTML view
Offload rendering work to the browser
The average Intel Core
i750 can push up to 7
GFLOPS without
overclocking
Why JSON?
Easy to parse in JavaScript and Java/Scala
Fairly compact text format
Highly compressible (5:1 even for small payloads)
Easy to fix rendering bugs and cross browsers issues (just
deploy a new code)
Minimum Number of Public Servers
Needed to Serve 66M Sites
4
Public SLA
Be Available 99.999%
Serving a Site – Sunny Day
Archive
CDN WixMP
Browser
http://example.wix.com
Store HTML
to cache
HTTP
Request
Notify
site view
LB
Public
Renderer
HTML
Resources / Media
HTTP
Request
Serving a Site – DC Lost
Archive
CDN WixMP
Browser
http://example.wix.com
LB
Public
Renderer
LB
Public
Renderer
Change DNS
HTTP
Request
Serving a Site – Public Lost
Archive
Browser
http://example.wix.com
LB
Public
Renderer
Get
Cached HTML
Version
HTML
HTTP
Request
LB
Public
Renderer
Fallback to 2nd
DC
Living in the Browser
CDN WixMP
Browser
http://example.wix.com
LB
Public
Renderer
Editor Pages
Fallback
JSON /
Media
HTML
HTTP
Request Fallback
Summary
Identify concerns and SLA for different parts of the system
Build redundancy in critical path (for availability)
De-normalize data (for performance)
Minimize out-of-process hops (for performance)
Take advantage of client’s CPU power
From 0 to 60 million users scaling with microservices and multi cloud architecture - Aviran Mordo
Aviran Mordo
Head of Engineering
@aviranm
linkedin.com/in/aviran
aviransplace.com
http://engineering.wix.com
http://goo.gl/3xhpNW
@WixEng

More Related Content

PPTX
Scaling Wix with microservices architecture and multi-cloud platforms - Reve...
PPTX
SQL Azure
PPTX
Windows Azure Camps - Oktober 2012
PPTX
Scaling wix with microservices architecture jax london-2015
PPTX
Azure Data Storage
PPT
Deploying MediaWiki On IBM DB2 in The Cloud Presentation
PPTX
SQL Azure Overview
PPTX
Azure storage
Scaling Wix with microservices architecture and multi-cloud platforms - Reve...
SQL Azure
Windows Azure Camps - Oktober 2012
Scaling wix with microservices architecture jax london-2015
Azure Data Storage
Deploying MediaWiki On IBM DB2 in The Cloud Presentation
SQL Azure Overview
Azure storage

What's hot (20)

PPTX
Azure DBA with IaaS
PDF
Azure appfabric caching intro and tips
PPTX
Azure services
PPTX
Windows Azure Storage – Architecture View
PPTX
Tarabica 2019 (Belgrade, Serbia) - SQL Server performance troubleshooting
PDF
Die Neuheiten in MariaDB 10.2 und MaxScale 2.1
PPTX
Data storage in the Cloud
PDF
Azure - Data Platform
PDF
Arrested by the cap devoxx uk 2018
PDF
Azure SQL Database
PPTX
Disaster Recovery Synapse
PDF
Azure Cloud Dev Camp - Introduction
PPTX
Sql Server 2014 In Memory
PPTX
IaaS for DBAs in Azure
PDF
AWS RDS Oracle - What is missing for a fully managed service?
PDF
Open Source für den geschäftskritischen Einsatz
PPTX
Ahmedabad- Global Azure bootcamp- Azure Storage Services- Global Azure Bootca...
PPTX
Kubernetes talk at DDDSydney 2017
PDF
Azure Boot Camp 21.04.2018 SQL Server in Azure Iaas PaaS on-prem Lars Platzdasch
PPTX
03 Biz Talk 2010 Hands On Day Adapter Pack
Azure DBA with IaaS
Azure appfabric caching intro and tips
Azure services
Windows Azure Storage – Architecture View
Tarabica 2019 (Belgrade, Serbia) - SQL Server performance troubleshooting
Die Neuheiten in MariaDB 10.2 und MaxScale 2.1
Data storage in the Cloud
Azure - Data Platform
Arrested by the cap devoxx uk 2018
Azure SQL Database
Disaster Recovery Synapse
Azure Cloud Dev Camp - Introduction
Sql Server 2014 In Memory
IaaS for DBAs in Azure
AWS RDS Oracle - What is missing for a fully managed service?
Open Source für den geschäftskritischen Einsatz
Ahmedabad- Global Azure bootcamp- Azure Storage Services- Global Azure Bootca...
Kubernetes talk at DDDSydney 2017
Azure Boot Camp 21.04.2018 SQL Server in Azure Iaas PaaS on-prem Lars Platzdasch
03 Biz Talk 2010 Hands On Day Adapter Pack
Ad

Similar to From 0 to 60 million users scaling with microservices and multi cloud architecture - Aviran Mordo (20)

PPTX
Scaling wix with microservices architecture devoxx London 2015
PPTX
Scaling wix with microservices and multi cloud - 2015
PPTX
Wix Architecture at Scale - QCon London 2014
PPTX
Scaling wix.com to 100 million users
PPTX
Scaling wix to over 70 m users
PPTX
Scaling up to 30M users - The Wix Story
PPTX
DOs and DONTs on the way to 10M users
PPTX
Scaling wix to over 50 m users
PPTX
Scaling up to 30 m users
PPTX
High performance web sites with multilevel caching
PDF
The Microservices and DevOps Journey
PPTX
Architecting extremelylarge scale web applications
PPTX
Concurrency at Scale: Evolution to Micro-Services
PPS
Web20expo Scalable Web Arch
PPS
Web20expo Scalable Web Arch
PPS
Web20expo Scalable Web Arch
PPTX
Microservices Architecture for Content Management Systems using AWS Lambda an...
PPTX
Mircoservices, dev ops and Engineering best practices at Wix.com
PDF
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
ODP
Scalable Architecture 101
Scaling wix with microservices architecture devoxx London 2015
Scaling wix with microservices and multi cloud - 2015
Wix Architecture at Scale - QCon London 2014
Scaling wix.com to 100 million users
Scaling wix to over 70 m users
Scaling up to 30M users - The Wix Story
DOs and DONTs on the way to 10M users
Scaling wix to over 50 m users
Scaling up to 30 m users
High performance web sites with multilevel caching
The Microservices and DevOps Journey
Architecting extremelylarge scale web applications
Concurrency at Scale: Evolution to Micro-Services
Web20expo Scalable Web Arch
Web20expo Scalable Web Arch
Web20expo Scalable Web Arch
Microservices Architecture for Content Management Systems using AWS Lambda an...
Mircoservices, dev ops and Engineering best practices at Wix.com
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture 101
Ad

More from JAXLondon_Conference (20)

PDF
Cassandra and Spark - Tim Berglund
PPT
All change! How the new Economics of Cloud will make you think differently ab...
PDF
The Unit Test is dead. Long live the Unit Test! - Colin Vipurs
PDF
Stop guessing, start testing – mobile testing done right - Timo Euteneuer
PDF
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel Urma
PDF
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel Urma
PPTX
Smoothing the continuous delivery path – a tale of two teams - Lyndsay Prewer
PDF
VC from the inside - a techie's perspective - Adrian Colyer
PDF
Use your type system; write less code - Samir Talwar
PPTX
Thinking fast and slow with software development - Daniel Bryant
PPTX
The java memory model and the mutability matrix of pain - Jamie Allen
PDF
The art of shifting perspectives - Rachel Davies
PDF
Spring Boot in the Web Tier - Dave Syer
PDF
Microservices from dream to reality in an hour - Dr. Holly Cummins
PPT
Love your architecture - Alexander von Zitzewitz
PPTX
Lambdas puzzler - Peter Lawrey
PDF
Java vs. Java Script for enterprise web applications - Chris Bailey
PDF
Java generics past, present and future - Raoul-Gabriel Urma, Richard Warburton
PDF
Java 8 best practices - Stephen Colebourne
PPTX
Intuitions for scaling data centric architectures - Benjamin Stopford
Cassandra and Spark - Tim Berglund
All change! How the new Economics of Cloud will make you think differently ab...
The Unit Test is dead. Long live the Unit Test! - Colin Vipurs
Stop guessing, start testing – mobile testing done right - Timo Euteneuer
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel Urma
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel Urma
Smoothing the continuous delivery path – a tale of two teams - Lyndsay Prewer
VC from the inside - a techie's perspective - Adrian Colyer
Use your type system; write less code - Samir Talwar
Thinking fast and slow with software development - Daniel Bryant
The java memory model and the mutability matrix of pain - Jamie Allen
The art of shifting perspectives - Rachel Davies
Spring Boot in the Web Tier - Dave Syer
Microservices from dream to reality in an hour - Dr. Holly Cummins
Love your architecture - Alexander von Zitzewitz
Lambdas puzzler - Peter Lawrey
Java vs. Java Script for enterprise web applications - Chris Bailey
Java generics past, present and future - Raoul-Gabriel Urma, Richard Warburton
Java 8 best practices - Stephen Colebourne
Intuitions for scaling data centric architectures - Benjamin Stopford

Recently uploaded (20)

PPTX
Oracle Fusion HCM Cloud Demo for Beginners
DOCX
How to Use SharePoint as an ISO-Compliant Document Management System
PDF
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
PPTX
assetexplorer- product-overview - presentation
PDF
AI Guide for Business Growth - Arna Softech
PPTX
Patient Appointment Booking in Odoo with online payment
PDF
Visual explanation of Dijkstra's Algorithm using Python
PDF
Multiverse AI Review 2025: Access All TOP AI Model-Versions!
PDF
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
PDF
Topaz Photo AI Crack New Download (Latest 2025)
PPTX
Trending Python Topics for Data Visualization in 2025
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PDF
Types of Token_ From Utility to Security.pdf
PPTX
Computer Software - Technology and Livelihood Education
PDF
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
PPTX
GSA Content Generator Crack (2025 Latest)
PDF
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
Oracle Fusion HCM Cloud Demo for Beginners
How to Use SharePoint as an ISO-Compliant Document Management System
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
assetexplorer- product-overview - presentation
AI Guide for Business Growth - Arna Softech
Patient Appointment Booking in Odoo with online payment
Visual explanation of Dijkstra's Algorithm using Python
Multiverse AI Review 2025: Access All TOP AI Model-Versions!
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
Topaz Photo AI Crack New Download (Latest 2025)
Trending Python Topics for Data Visualization in 2025
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
Monitoring Stack: Grafana, Loki & Promtail
Advanced SystemCare Ultimate Crack + Portable (2025)
Types of Token_ From Utility to Security.pdf
Computer Software - Technology and Livelihood Education
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
GSA Content Generator Crack (2025 Latest)
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...

From 0 to 60 million users scaling with microservices and multi cloud architecture - Aviran Mordo

  • 1. Aviran Mordo Head of Engineering @aviranm linkedin.com/in/aviran aviransplace.com Scaling with Microservices Architecture and Multi-cloud platforms
  • 3. Wix in Numbers Over 72M users (website builders) Static storage is >2PB of data 3 data centers + 3 clouds (Google, Amazon,Azure) 2B HTTP requests/day 1000 people work atWix
  • 4. Initial Architecture Built for fast development Stateful login (Tomcat session), Ehcache, file uploads No consideration for performance, scalability and testing Intended for short-term use Tomcat, Hibernate, custom web framework Lighttpd (file serving) MySQL DB Wix (Tomcat)
  • 5. The Monolithic Giant One monolithic server that handled everything Dependency between features Changes in unrelated areas of the system caused deployment of the whole system Failure in unrelated areas will cause system wide downtime
  • 8. Concerns and SLA DataValidation Security / Authentication Data consistency Lots of data Edit websites High availability High performance Lots of static files Very high traffic volume Viewport optimization Long tail (immutable) Serving Media High availability High performance High traffic volume Long tail (mutable) View sites, created by Wix editor
  • 9. Wix Segmentation 1. Editor Segment 3. Public Segment2. Media Segment Networking
  • 10. HTML Editor Flash Editor MSM Private Media Public Media Editor Segment Public Segment Premium Services eCommerse List DB App Builder App Store App Market Dashboard Statics/me dia Mailer TimeZone Public HTML API Public API (Flash) MSP Public Server HTML Renderer HTML SEO Renderer Flash Renderer Flash SEO Renderer Sitemap Renderer Robots.txt Renderer User Server Template Viewer ContactsHUB Activit y Site Members Provided Mailing Service Comments Snapshoter User Pref Feed Me Shout-out Hotels PETRI Site Pref Dist LoggerSlicer eCom Renderer eCom Cart eCom Checkout eCom Catalog eCom Orders Payment Facade Account Info HTML API HTML Embeder BlogMobile
  • 11. It is all about
  • 13. Microservices Guidelines Each service has its own DB schema (if one is needed) Only one service should write to a specific DB table(s) There may be additional read-only services that directly accesses the DB (for performance reasons) Services are stateless No DB transactions Cache is not a building block, but an optimization
  • 14. Microservices Tradeoffs Each service has its own DB schema (if one is needed) Gain - Easy to scale microservices based on service level concerns Tradeoff – system complexity, performance Only one service should write to a specific DB table(s) Gain - Decoupling architecture – faster development Tradeoff – system complexity / performance May have additional read-only services that accesses the DB Gain - Performance gain Tradeoff - coupling Services are stateless Gain - Easy to scale out (just add more servers) Tradeoff - performance / consistency No DB transactions Gain - Better DB performance, easier to scale Tradeoff - system complexity
  • 16. Editor Server Immutable JSON pages (~3M / day) Site revisions Active – standby MySQL cross datacenters Editor Server MySQL Active Sites MySQL Archive
  • 18. Protect The Data DB outage with fast recovery = replication Data poisoning/corruption = revisions / backup Make the data available at all times = data distribution to multiple locations / providers
  • 19. Browser Editor Server GCS MySQL Active Sites MySQL Archive Saving Editor Data WixMedia (Amazon) WixMedia (Google) Save Page(s) 200 OK Upload Save Page DC replication Notify MySQL Archive MySQL Active Sites S3 WixMedia (DC-1)
  • 20. Browser Editor Server GCS MySQL Active Sites MySQL Archive WixMedia (Amazon) WixMedia (Google) Save Page(s) 200 OK Upload Save Page DC replication Notify MySQL Archive MySQL Active Sites S3 WixMedia (DC-1) Self Healing Process
  • 21. No DB Transactions Save each page (JSON) as an atomic operation Page ID is a content based hash (immutable/idempotent) Finalize transaction by sending site header (list of pages) Can generate orphaned pages, not a problem in practice
  • 22. 2. Media Segment (WixMP)
  • 23. Wix Media Platform (WixMP) Eventual consistent distributed file system (2PB user media files) Dynamic media processing Multi datacenter aware Automatic fallback cross DC Run on commodity servers & cloud
  • 24. T Google Cloud Prospero – Wix Media Manager get image.jpg First fallback Second fallback If not in CDN Amazon x36 T x36 T x32 Austin CDN
  • 26. Public Segment Roles Routing (resolve URLs) Dispatching (to a renderer) Rendering (HTML,XML,TXT) Public Server HTML Renderer HTML SEO Renderer Flash Renderer Sitemap Renderer Robots.txt Renderer www.example.com Flash SEO Renderer
  • 27. Public SLA Our goal: 99% response time <100ms at peak traffic
  • 28. Publish Site Publish site header (a map of pages for a site) Publish routing table Publish site header / routes (CQRS) Editor Segment Public Segment
  • 29. Built For Speed Minimize out-of-process hops (2 DB, 1 RPC) Lookup tables are cached in memory, updated every few minutes Denormalized data – optimize for read by primary key (MySQL) Minimize business logic
  • 30. How a Page Gets Rendered Bootstrap HTML template that contains only data Only JavaScript imports JSON data (site-header + dynamic data) No “real” HTML view
  • 31. Offload rendering work to the browser
  • 32. The average Intel Core i750 can push up to 7 GFLOPS without overclocking
  • 33. Why JSON? Easy to parse in JavaScript and Java/Scala Fairly compact text format Highly compressible (5:1 even for small payloads) Easy to fix rendering bugs and cross browsers issues (just deploy a new code)
  • 34. Minimum Number of Public Servers Needed to Serve 66M Sites 4
  • 36. Serving a Site – Sunny Day Archive CDN WixMP Browser http://example.wix.com Store HTML to cache HTTP Request Notify site view LB Public Renderer HTML Resources / Media HTTP Request
  • 37. Serving a Site – DC Lost Archive CDN WixMP Browser http://example.wix.com LB Public Renderer LB Public Renderer Change DNS HTTP Request
  • 38. Serving a Site – Public Lost Archive Browser http://example.wix.com LB Public Renderer Get Cached HTML Version HTML HTTP Request LB Public Renderer Fallback to 2nd DC
  • 39. Living in the Browser CDN WixMP Browser http://example.wix.com LB Public Renderer Editor Pages Fallback JSON / Media HTML HTTP Request Fallback
  • 40. Summary Identify concerns and SLA for different parts of the system Build redundancy in critical path (for availability) De-normalize data (for performance) Minimize out-of-process hops (for performance) Take advantage of client’s CPU power
  • 42. Aviran Mordo Head of Engineering @aviranm linkedin.com/in/aviran aviransplace.com http://engineering.wix.com http://goo.gl/3xhpNW @WixEng

Editor's Notes

  • #9: Editor – Read immediately after write – Small working set Viewer optimize for reads We fight for every ms. Page view = many resource downloading
  • #14: Read-only services only if it is part of the same business functionality
  • #15: Read-only services only if it is part of the same business functionality
  • #17: Immutable data helps handle eventual consistency MySql is a great key-value store Not all data is equal (only 6% of websites are edited 3 months after creation)
  • #19: Revision keep data safe from poisoning Pay in storage and management
  • #25: We can change the arrows as we want Tech vendor lock is a myth,  easy to change the api (small dev effort).  Invest in data distribution. Evaluation of new platform starts by putting the data.
  • #29: Save pages on JSON Upload to static storage
  • #37: Explain what is JSON and what is HTML
  • #38: UPS dies, secondary power source connected to the same UPS
  • #39: Due to error or bad configuration