scaling wix to over 70 m users

34
Scaling Wix to over 70M users

Upload: yoav-avrahami

Post on 18-Jan-2017

592 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Scaling wix to over 70 m users

Scaling Wix to over 70M users

Page 2: Scaling wix to over 70 m users
Page 3: Scaling wix to over 70 m users
Page 4: Scaling wix to over 70 m users
Page 5: Scaling wix to over 70 m users
Page 6: Scaling wix to over 70 m 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

Page 7: Scaling wix to over 70 m users

Initial Architecture

Page 8: Scaling wix to over 70 m users

Plan for gradual rewrite

Page 9: Scaling wix to over 70 m users

First Challenge - 2008• Server updates imposed downtime• Two concerns• Creating websites• Viewing websites

• Different service level needed

Page 10: Scaling wix to over 70 m users

Public vs Editor

Public Public DB

Editor Editor DB

Page 11: Scaling wix to over 70 m users

MySQL is better NoSQL

Page 12: Scaling wix to over 70 m users

Hosting

Co-Location Managed Hosting Cloud

Lease hardware and maintenance

Overnightprovisioning

Reliable software and hardware

Instant lease hardware

Instant provisioning

unlimited resourcesReliable software

unreliable hardware

Own and maintain your

hardwareProvision -> buy

deliver and install

Reliable software and hardware

Page 13: Scaling wix to over 70 m users

2006 2011 2012 2013 2014

Austin Amsterdam

Amazon,GoogleChicago

Tampa

Page 14: Scaling wix to over 70 m users

Wix Media• 500 GByte of small files– Hit IO limitations

• Need scalable solution– Number of files– HTTP connections

• Image manipulations

Page 15: Scaling wix to over 70 m users

Wix Media Platform

x36x36

x32

x36x36

x32

Austin

Chicago

get 37D815B5.jpg

First fallback

CDNIf not in CDN

Page 16: Scaling wix to over 70 m users

Wix Media Platform

x36x36

x32

x36x36

x32

Google Cloud

Austin

Chicago

get 37D815B5.jpg

First fallback

Second fallback

CDNIf not in CDN

Page 17: Scaling wix to over 70 m users

Wix Media Platform

Google Cloud

AustinTampa

get 37D815B5.jpg

CDN

If not in CDN

AmazonCloud

Page 18: Scaling wix to over 70 m users
Page 19: Scaling wix to over 70 m users

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

Page 20: Scaling wix to over 70 m users

People are the key

Page 21: Scaling wix to over 70 m users

2011 2012 2013 2014

CI / CD / TDDDevOps

ScalaWix Framework

Micro-Services

2010

TDD Redux

2015

Node.js

2016

React

Angular

Companies & Guilds

Page 22: Scaling wix to over 70 m users

Wix Framework

Modern

Flash Support

TDD Support

DevOps Support

Page 23: Scaling wix to over 70 m users

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

Page 24: Scaling wix to over 70 m users

CI / CD / TDD / DevOps• Small and fast changes• Empower the developer• Automate!!!• Measure!!!

• = x x RiskNumber

of changes

Size of change

$$$ impact of

change

Page 25: Scaling wix to over 70 m users

Prepare Release

Page 26: Scaling wix to over 70 m users

Deploy

Page 27: Scaling wix to over 70 m users

Monitor

Page 28: Scaling wix to over 70 m users

Micro-Services• Over 100 micro-services at Wix• A Micro Service is– Independent deployment– Independent OS process– Independent database

• Size of a service – based on the team

Page 29: Scaling wix to over 70 m users

Micro-Services• The good news:– Great risk mitigation– Enforces separation of concerns–Minimal blockers for deployment

• The bad news:–More network hops - Increases % of failures– Requires Back / Forward compatibility– Distributed operations / transactions

Page 30: Scaling wix to over 70 m users

Scala• Moves Java developers out of their

comfort zone.• Forced them to grow• Question how things are done

• End result – great innovation

Page 31: Scaling wix to over 70 m users

Companies & Guilds• Companies focus on products• Guilds focus on technology

How

What

Company leader

Guild master

Angular

React

Server

QA

Analysis

UXeComm

Editor

Hotels

Music

Shoutout

Contacts

Page 32: Scaling wix to over 70 m users

Angular & React• Modern & Productive

• Angular– Applications – like my account

• React–Websites – Wix sites are React– React Templates for applications – Wix

editor

Page 33: Scaling wix to over 70 m users

Node.js• Frontend server• Complement Scala– Not replace

• Let frontend devs take ownership of the full HTTP stack– HTML, Ajax, Sockets, etc.

Page 34: Scaling wix to over 70 m users

Questions?