Scaling wix to over 50 m users

32
Scaling Wix to over 50M users

Transcript of Scaling wix to over 50 m users

Scaling Wix to over 50M users

2006 2007 2008 2009 2010 2011 2012 2013 2014

Wix is founded

First funding

Open beta

1 M users

eCommerce

10 M users

IPO

50 M users

Mobile

App Market

Hive

Wix Worldwide

HTML 5

Initial Architecture

Plan for

gradual rewrite

Cache

Why?

Invalidate?

State?

Black Box

Distributed

Do you need it?

Cache

• You don’t need a cache

• Really, you don`t

• Cache is not part of your architecture

– Introduce it to solve a problem

First Challenge - 2008

• Server updates imposed downtime

• Two concerns

• Creating websites

• Viewing websites

• Different service level needed

Public vs Editor

Public Public DB

EditorEditor DB

MySQL is better NoSQL

Hosting

Co-Location Managed Hosting Cloud

Lease hardware

and maintenance

Overnight

provisioning

Reliable software

and hardware

Instant lease

hardware

Instant provisioning

unlimited resources

Reliable software

unreliable hardware

Own and maintain

your hardware

Provision -> buy

deliver and install

Reliable software

and hardware

2006 2011 2012 2013 2014

Austin Amsterdam

Amazon,

GoogleChicago

Tampa

Wix Media

• 500 GByte of small files

– Hit IO limitations

• Need scalable solution

– Number of files

– HTTP connections

• Image manipulations

Wix Media Platform

x36x36

x32

x36x36

x32

Austin

Chicago

get 37D815B5.jpg

First fallback

CDN

If not in CDN

Wix Media Platform

x36x36

x32

x36x36

x32

Google

Cloud

Austin

Chicago

get 37D815B5.jpg

First fallback

Second fallback

CDN

If not in CDN

Wix Media Platform

Google

Cloud

Austin

Tampa

get 37D815B5.jpg

CDN

If not in CDN

Amazon

Cloud

CDN

• Use a CDN!

• Cache killer pattern

– http://static.wix.com/client/1.3.2/css/viewer.css

Development Velocity - 2010

• Large and entangled codebase

• Hard feature rollout

• While at the same time, the iPad was

released

• We needed to enable Wix to move fast

2011 2012 2013 2014

CI / CD / TDD

DevOps

ScalaWix Framework

Micro-Services

2010

TDD Redux

Companies &

Guilds

People are the key

Wix Framework

Modern

Flash Support

TDD Support

DevOpsSupport

Micro Services

Why CI / CD / TDD / DevOps?

• Fear of change

• Low quality

• Slow product development

• 3 months from dev to GA

I want change

I want stability

CI / CD / TDD / DevOps

• Small and fast changes

• Empower the developer

• Automate!!!

• Measure!!!

• = x x RiskNumber

of changes

Size of change

$$$ impact of

change

Prepare Release

Deploy

Monitor

Micro-Services

• Over 100 micro-services at Wix

• Each service is a process

• Independent development & deployment

• Risk mitigation

• Increases % of network failures

• Back / Forward compatibility

• Size of a service – as large as the team

Companies & Guilds

• Companies focus on products

• Guilds focus on technology

How

What

Company leader

Guild master

Questions?