• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Continuous Delivery at Wix, Yaniv Even Haim
 

Continuous Delivery at Wix, Yaniv Even Haim

on

  • 3,324 views

We will go over the motivations for wix.com R&D to move to a CI/CD/TDD model, how the model was implemented and the impact on Wix R&D. We will cover the tools used (developed in-house and 3rd party), ...

We will go over the motivations for wix.com R&D to move to a CI/CD/TDD model, how the model was implemented and the impact on Wix R&D. We will cover the tools used (developed in-house and 3rd party), change in methodologies, what we have learned during the transformation and the unexpected change in working with product and the rest of the company.


Presented in the Continuous Delivery track at DevOps Con Israel 2013

Statistics

Views

Total Views
3,324
Views on SlideShare
1,244
Embed Views
2,080

Actions

Likes
0
Downloads
13
Comments
0

12 Embeds 2,080

http://technodrone.blogspot.com 809
http://devopscon.com 692
http://www.devopscon.com 538
http://feeds.feedburner.com 21
http://www.directrss.co.il 6
http://smashingreader.com 5
http://translate.googleusercontent.com 3
http://technodrone.blogspot.co.uk 2
http://technodrone.blogspot.se 1
http://technodrone.blogspot.co.il 1
http://technodrone.blogspot.nl 1
http://www.verious.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Continuous Delivery at Wix, Yaniv Even Haim Continuous Delivery at Wix, Yaniv Even Haim Presentation Transcript

    • Continuous Delivery @ Wix Yaniv Even-Haim VP R&D DevOpsCon 2013
    • Wix Intro
    • Wix in numbers• 29,000,000 registered users from 233 countries• ~1,200,000 new users every month• ~ 30,000 new websites every day• 26,000,000 web sites• 800,000 mobile sites• 1Tbyte of media uploaded every day• More than 1 Billion users media files• 250+ servers in 3 data centers• 350 employees• 100 R&D people
    • A story on Wix time machine
    • CD is business concern Revenue per month 2010-… 2010-… 2010-… 2011-… 2011-… 2011-…2012-22010-82010-92011-12011-22011-32011-42011-52011-62011-72011-82011-92012-12012-32012-4Traditional “Economies of scale” threaten by cloud technology Be faster than small startups CD “Economies of Agility “ = Velocity X Size
    • CD is culture & mindset• Trust the developers – Empower developers to change production – Developer knows his system best
    • CD is culture & mindset• Automation as a default choice – no more “is it worth to automate ? ” – Everything should be automated
    • Welcome to the twilight zone• Product/Dev/QA/Ops boundaries are going down – Everyone responsible for everything
    • Welcome to the twilight zone• Move fast - Less formality – Corridor - IN , Meeting Room - Out
    • Get out of thought land make sure you building the right it before build it right• The Law of Failure – Most new “its” will fail even if they are flawlessly executed• Invest less, in-touch less , better ability to admit it fail – Data beats opinions - Let the market decide
    • Some Best Practices• Everyone develops on the Trunk/Master – Release frequent – small pieces of functionality – It’s the developer responsibility not to break anything• Code can get to production at anytime – TDD & integration test• Use Feature Toggle – Unbaked new code can go to production – no harm done – New code goes with a guard – use new or old code
    • Some Best Practices• Backwards and Forwards compatible – Each component has to function with latest, next or prior version of other components (including DBs)• Gradual Deployment & Self Test – Deploy new version to one server and perform self test. If it passes, continue deployment to other servers• A/B Testing – Open a new feature to a percent of your users. Is it better? – Deployment is an engineering decision
    • CD – prepare to invest…..• Dev infrastructure - Refactor , Refactor, Refactor• Testing infrastructure & know how• Deployment infrastructure & tools• Automation , Automation , Automation• Monitoring (business and technical) – hundreds of aspects – thresholds use is a Must – Monitor business KPIs – Internal & external – Endless Tuning & learning
    • Scaling challenges• Deployment complexity – More services – More dependencies – Multi data centers• Development complexity – Very hard to work on master/trunk with 30+ dev on same code base – backward and forward comptability is not easy• Wider set of technologies ,tools & languages – Higher level of infrastructure investments – Harder to have all around players – More communication/sync required
    • Scaling challenges – Quality– Testing coverage challenge • Use cases increases • Browsers wild west • Tablets and mobile variety– Feature toggle combinations • Dozens of parallel feature toggles– Production frequent changes • Services are updated daily • Toggles switch on/off on daily basis
    • Scaling challenges - Availability• Service Availability • Cost of fault/downtime increasing as business grow • Service downtime during deployment is unacceptable • Human mistakes are inventible when changing production daily
    • Scaling challenges – Monitoring• Monitoring in multi technology env• Unified dashboard require major effort• Reduce alert noises resulted by deployments• Identify root cause is not simple – Some faults does not have immediate impacts – Cascading effects• Reliable business KPI without false positive – Marketing changes – Special events (holidays, sport event etc)
    • Scaling challenges – Product• Product MVP practices – Does MVP meet your product standards? • What about tooltip,help,first time ux, etc.. ? – How to define a product that can be developed in a day ? – And that can win in a/b test … To Be Implemented
    • Scaling challenges – Org• Complex Matrix Management - People moving between teams frequently - One can have several managers on different tasks - Hard both to managers and employees - Everyone should master the matrix management skills
    • Wix Developer Lifecycle
    • Wix Developer Lifecycle
    • New Relic - Monitoring
    • Application dashboard
    • Chix – Staging Deployment
    • It is not all or nothing game - it is continuous journey