SlideShare a Scribd company logo
Wix
Single-Runtime
Conquering the multi-service challenge
Server Guild / Nile
Natan Silnitsky November 2024
Wix Single-Runtime
Wix Single-Runtime
Wix Single-Runtime
Wix Single-Runtime
Single-Runtime Vision
Seamless
Backend Services
at Scale
● Single runtime goals
● Proposed solution
● SDL integration
● Benchmarks
● Takeaways
Agenda
Single Runtime goals
Wix Single-Runtime
Wix Single-Runtime
Most of the vision
was realized with Nile

● Codify best practices
● Cross cutting business concerns
● Focus on the business logic
Wix Single-Runtime
Most of the vision
was realized with Nile

● Codify best practices
● Cross cutting business concerns
● Focus on the business logic
● Substantial extra Cost
● Urgent Security fixes (Log4J)
● More hops
With success, we’ve reached
a new scaling challenge

Single-Runtime Main Goal
Wix Single-Runtime
“Develop like a microservice, run like a monolith”
Single-Runtime Main Goal
Wix Single-Runtime
“Develop like a microservice, run like a monolith”
Data Center
Node
Single-Runtime Main Goal
“Develop like a microservice, run like a monolith”
Cart
Node
Inventory
Node
Orders
Node
Catalog
RPC
Data Center
Node
Single-Runtime Main Goal
“Develop like a microservice, run like a monolith”
Cart
Node
Inventory
Node
Orders
Node
Catalog
RPC
Data Center
Cart Inventory
Orders Catalog
Local
eCommerce Virtual Monolith
Node
Single-Runtime - More Goals
Wix Single-Runtime
● Reduce costs
● Easier infra upgrades
● Performance improvement
4000 microservices
How to meet the goals
Wix Single-Runtime
How to meet the goals
Wix Single-Runtime
● Nile services bundle infra+BL
Infra
Nile Service
Business Logic
● Infra is a massive chunk ~90%
● It includes SDL, domain events, petri, 

How to meet the goals
Wix Single-Runtime
● Nile services bundle infra+BL Nile Service
Business Logic
● Infra should be separate from BL
● Leave the lean and mean focus on business
logic
Infra
Nile Service
Business
Logic
How to meet the goals
Wix Single-Runtime
● Nile services bundle infra+BL
Shared
Infra
● Infra should be separate from BL
● Leave the lean and mean focus on business
logic
Nile Service
Business
Logic
Nile Service
Business
Logic
Guest
Business
Logic
How to meet the goals
Wix Single-Runtime
● Nile services bundle infra+BL
● Infra should be separate from BL
● Leave the lean and mean focus on business
logic
● Infra - has to be multi tenant
Guest
Business
Logic
Guest
Business
Logic
Shared
Infra
Host
Cart
Business
Logic
Bundle together in prod - Virtual Monolith
Wix Single-Runtime
● services bundled back together
● Achieve goals
● The host should support multi
tenancy
● bundle services by affinity
Orders
Business
Logic
Inventory
Business
Logic
“Virtual” eCommerce Monolith
Shared
Infra
Host
Multi Service Challenge
Wix Single-Runtime
Multi Service challenge - Requirements
Wix Single-Runtime
● Guest Isolation
● Host/Guest Fast communication
● Multi Tenant Infra support
Guest
Business
Logic
Guest
Business
Logic
Guest
Business
Logic
“Virtual” Monolith
Shared
Infra
Host
First Attempt - GraalVM
Wix Single-Runtime
Multi Service challenge
Java HotSpot VM
GraalVM Compiler
Language Implementation Framework
Wix Single-Runtime
K8s Node
Pod
Pod
Pod
K8s Node
Pod
Pod
Multi Service challenge
Deployment ReplicaSet
Second Attempt - Kubernetes
Wix Single-Runtime
K8s Node
Pod
Pod
Pod
Pod
K8s Node
Pod
Pod
Pod
DaemonSet
Kubernetes DaemonSet
Wix Single-Runtime
Host
Host
DaemonSet
Single Runtime on Kubernetes
Guest
Guest
Guest
Guest
Guest
Wix Single-Runtime
DaemonSet
Smaller
pod footprint
Single Runtime on Kubernetes
Host
Host
Guest
Guest
Guest
Guest
Guest
Wix Single-Runtime
Host:
● Ingress
● Vault integration
● Petri
● Validations
● 

Guest:
● businesslogic
DaemonSet
Pod
Pod
gRPC
Tiny guest
framework
WIX infra
Single Runtime on Kubernetes
Zoom out
Wix Single-Runtime
K8’s
Node
K8’s
Node
Other Wix
Host
DaemonSet
Service A
Guest Pod
Service B
Guest Pod
Service C
Guest Pod
Host
DaemonSet
Service A
Guest Pod
Service B
Guest Pod
Service C
Guest Pod
● Guest Isolation
● Host/Guest Fast communication
● Guest Footprint
● Infra support
Wix Single-Runtime
Kubernetes - Multi Service challenge
?
DaemonSet Host
Host
Guest
Guest
Guest
Guest
Guest
Wix Single-Runtime
Host
Guest:
● businesslogic
DaemonSet Pod
Pod
gRPC
Tiny guest
framework
Infra support for Multi Service
Petri
Domain Events
Envoy
WixCache
GreyhoundProxy
Envoy
Wix Single-Runtime
Host
Guest:
● businesslogic
DaemonSet Pod
Pod
gRPC
Tiny guest
framework
Infra support for Multi Service
Petri
Domain Events
WixCache
GreyhoundProxy
SDL?
Wix Single-Runtime
SDL - Very Rich API & Settings
w/out trashbin
migration
ContactsMerged
GDPR Hooks
insert/update/query/



Host
Guest
Wix Single-Runtime
SDL - Very Rich API & Settings
w/out trashbin
migration
ContactsMerged
GDPR Hooks
insert/update/query/



w/out trashbin
migration
ContactsMerged
GDPR Hooks
insert/update/query/



SDL Multi Guest Tenancy
Wix Single-Runtime
Sdl in Loom Prime
Wix Single-Runtime
sdl.insert(ProductDomain)
Loom Prime
MySql
SDL
Sdl Parts
Wix Single-Runtime
ProductDomain Typed
Struct / JSON
SDL
MySql
Loom Prime
Untyped
{
"id": { "stringValue": "123e4567
" },
"revision": { "numberValue": 42 },
"name": { "stringValue": "Confetti" },
"price": { "numberValue": 99.99 }
}
Sdl Parts
Wix Single-Runtime
Typed
Loom Prime
Untyped Struct / JSON
MySql
case class ProductDomain(
@id id: UUID,
revision: Option[Long],
name: String,
price: Double
)
ProductDomain
Sdl Parts Single-Runtime Split
Wix Single-Runtime
Guest
Host
Typed
Untyped MySql
sdl.insert(ProductDomain)
Sdl Parts Single-Runtime Split
Wix Single-Runtime
Guest
Host
Typed
Untyped MySql
MT service
client
MT service
gRPC
sdl.insert(ProductDomain)
Sdl Guest customizations
Wix Single-Runtime
Guest
Sdl Domain
Events Sender
Host
SingleRuntime Guest
SPI service
Map
Domain
to
Contract
(_: ProductDomain)
.mapTo[Product]
Untyped
RPC
Sdl Parts Single-Runtime Split
Wix Single-Runtime
Guest
Host
sdl.insert(ProductDomain) Typed
Untyped MySql
Service +
Client
gRPC
Service +
Client
Concern: Will SDL affect cost reduction goal?
Wix Single-Runtime
Let’s do benchmarking!
Benchmarking Plan
Wix Single-Runtime
Collect real traffic
data
Create guest
test artifacts
Simulate prod
environment/
traffic
Collect key
metrics
SDL method Traffic
Wix Single-Runtime
SR
SR
+27%
-18%
LP LP
Benchmark results - SDL Get + Query
Wix Single-Runtime
P50 traffic - 400 RPM , 10 entities, 800KB each
CPU Memory
30 LoomPrime Host+30 guests 30 LoomPrime Host+30 guests
Benchmark results - Pods vs. Nodes
Wix Single-Runtime
Host+30 guests
in 1 K8s Node
30 LoomPrime apps
in ~3 K8s Nodes
K8s Node
LoomPrime
K8s Node
Guest Guest
Guest Guest
Guest Guest
Guest Guest
Guest Host
LoomPrime
LoomPrime
P50 traffic - 400 RPM , 10 entities, 800KB each
I like it. How can I start using it?
Wix Single-Runtime
Wix Single-Runtime
● ÎČ Users / GA
● Java support
● Guest Affinity
● TBD: More languages
What comes next?
Takeaways
Wix Single-Runtime
Wix Single-Runtime
Microservices
have a cost
Takeaways
SDL large API requires
big infra efforts
Infra is more complex,
applications still simple
Conclusion
● Innovative projects are risky
● Success is not guaranteed
● High reward - cost-effective
polyglot environment
Q & A
www.natansil.com
@NSilnitsky

More Related Content

PDF
Reinventing Microservices Efficiency and Innovation with Single-Runtime
PDF
Refacoring vs Rewriting WixStores
PDF
Microservices - Hitchhiker's guide to cloud native applications
PPTX
Integration & Microservices
PDF
The Wix Microservice Stack
PPTX
Scaling wix with microservices architecture devoxx London 2015
PPTX
Session
PDF
Pipeline conference 2017 - Breaking down your build: architectural patterns f...
Reinventing Microservices Efficiency and Innovation with Single-Runtime
Refacoring vs Rewriting WixStores
Microservices - Hitchhiker's guide to cloud native applications
Integration & Microservices
The Wix Microservice Stack
Scaling wix with microservices architecture devoxx London 2015
Session
Pipeline conference 2017 - Breaking down your build: architectural patterns f...

Similar to Wix Single-Runtime - Conquering the multi-service challenge (20)

PPTX
Scaling wix with microservices architecture jax london-2015
PDF
Integration Ignited Redefining Event-Driven Architecture at Wix - EventCentric
PPTX
From 0 to 60 million users scaling with microservices and multi cloud archite...
PDF
Increasing velocity via serless semantics
PDF
Microservices Architecture For Conversational Intelligence Platform
PDF
2019 06-12-aws taipei summit-dev day-essential capabilities behind microservices
PPT
Session18 Madduri
PPTX
Scaling wix to over 70 m users
PPTX
Microservices vs monolithics betabeers
PDF
Microservices: The Best Practices
PDF
Gartner 2017 London: How to re-invent your IT Architecture?
PDF
Microservice architecture
PPTX
Web Services.pptx
PPTX
Mircoservices, dev ops and Engineering best practices at Wix.com
PPTX
Pros and Cons of a MicroServices Architecture talk at AWS ReInvent
PDF
Microservices in Practice
PDF
microservices in action.pdf
PPTX
Microservices: Yes or not?
PDF
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
ODP
micro services architecture (FrosCon2014)
Scaling wix with microservices architecture jax london-2015
Integration Ignited Redefining Event-Driven Architecture at Wix - EventCentric
From 0 to 60 million users scaling with microservices and multi cloud archite...
Increasing velocity via serless semantics
Microservices Architecture For Conversational Intelligence Platform
2019 06-12-aws taipei summit-dev day-essential capabilities behind microservices
Session18 Madduri
Scaling wix to over 70 m users
Microservices vs monolithics betabeers
Microservices: The Best Practices
Gartner 2017 London: How to re-invent your IT Architecture?
Microservice architecture
Web Services.pptx
Mircoservices, dev ops and Engineering best practices at Wix.com
Pros and Cons of a MicroServices Architecture talk at AWS ReInvent
Microservices in Practice
microservices in action.pdf
Microservices: Yes or not?
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
micro services architecture (FrosCon2014)
Ad

More from Natan Silnitsky (20)

PDF
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
PDF
Async Excellence Unlocking Scalability with Kafka - Devoxx Greece
PDF
WeAreDevs - Supercharge Your Developer Journey with Tiny Atomic Habits
PDF
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
PDF
Effective Strategies for Wix's Scaling challenges - GeeCon
PDF
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
PDF
Workflow Engines & Event Streaming Brokers - Can they work together? [Current...
PDF
DevSum - Lessons Learned from 2000 microservices
PDF
GeeCon - Lessons Learned from 2000 microservices
PDF
Migrating to Multi Cluster Managed Kafka - ApacheKafkaIL
PDF
Wix+Confluent Meetup - Lessons Learned from 2000 Event Driven Microservices
PDF
BuildStuff - Lessons Learned from 2000 Event Driven Microservices
PDF
Lessons Learned from 2000 Event Driven Microservices - Reversim
PDF
Devoxx Ukraine - Kafka based Global Data Mesh
PDF
Devoxx UK - Migrating to Multi Cluster Managed Kafka
PDF
Dev Days Europe - Kafka based Global Data Mesh at Wix
PDF
Kafka Summit London - Kafka based Global Data Mesh at Wix
PDF
Migrating to Multi Cluster Managed Kafka - Conf42 - CloudNative
PDF
5 Takeaways from Migrating a Library to Scala 3 - Scala Love
PDF
Migrating to Multi Cluster Managed Kafka - DevopStars 2022
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Async Excellence Unlocking Scalability with Kafka - Devoxx Greece
WeAreDevs - Supercharge Your Developer Journey with Tiny Atomic Habits
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Effective Strategies for Wix's Scaling challenges - GeeCon
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Workflow Engines & Event Streaming Brokers - Can they work together? [Current...
DevSum - Lessons Learned from 2000 microservices
GeeCon - Lessons Learned from 2000 microservices
Migrating to Multi Cluster Managed Kafka - ApacheKafkaIL
Wix+Confluent Meetup - Lessons Learned from 2000 Event Driven Microservices
BuildStuff - Lessons Learned from 2000 Event Driven Microservices
Lessons Learned from 2000 Event Driven Microservices - Reversim
Devoxx Ukraine - Kafka based Global Data Mesh
Devoxx UK - Migrating to Multi Cluster Managed Kafka
Dev Days Europe - Kafka based Global Data Mesh at Wix
Kafka Summit London - Kafka based Global Data Mesh at Wix
Migrating to Multi Cluster Managed Kafka - Conf42 - CloudNative
5 Takeaways from Migrating a Library to Scala 3 - Scala Love
Migrating to Multi Cluster Managed Kafka - DevopStars 2022
Ad

Recently uploaded (20)

PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Introduction to Artificial Intelligence
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
System and Network Administration Chapter 2
CHAPTER 2 - PM Management and IT Context
Adobe Illustrator 28.6 Crack My Vision of Vector Design
ManageIQ - Sprint 268 Review - Slide Deck
ISO 45001 Occupational Health and Safety Management System
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Operating system designcfffgfgggggggvggggggggg
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Navsoft: AI-Powered Business Solutions & Custom Software Development
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
How to Migrate SBCGlobal Email to Yahoo Easily
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Odoo POS Development Services by CandidRoot Solutions
2025 Textile ERP Trends: SAP, Odoo & Oracle
Introduction to Artificial Intelligence
Upgrade and Innovation Strategies for SAP ERP Customers
Understanding Forklifts - TECH EHS Solution
Odoo Companies in India – Driving Business Transformation.pdf
Softaken Excel to vCard Converter Software.pdf
VVF-Customer-Presentation2025-Ver1.9.pptx
System and Network Administration Chapter 2

Wix Single-Runtime - Conquering the multi-service challenge