Continuous Delivery @ Wix       Yaniv Even-Haim           VP R&D  Agile Israel 2012
A story on Wix time machine
Wix Intro
Wix in numbers•   22,000,000 registered users from 233 countries•   ~1,000,000 new users every month•   ~ 25,000 new websi...
Time machine event                  =• Deployment capabilities : “no click” deployment   – Dozens of services , 230+ serve...
CD is business concern      Revenue per month201…201…201…201…201…201…201…201…201…201…201…201…201…201…201…201…201…201…201…2...
CD is culture & mindset• Trust the developers   – Empower developers to change production   – Developer knows his system b...
Get out of thought land      make sure you building the right it            before build it right• The Law of Failure   – ...
Some Best Practices• Everyone develops on the Trunk/Master   – Release frequent – small pieces of functionality   – It’s t...
Some Best Practices• Backwards and Forwards compatible   – Each component has to function with latest, next or prior     v...
CD – prepare to invest…..• Dev infrastructure - Refactor , Refactor, Refactor• Testing infrastructure & know how• Deployme...
Wix Developer Lifecycle
New Relic - Monitoring
Application dashboard
Application dashboard• Self-Test – Can my application function?
Chix – Staging Deployment
Scaling challenges• Deployment complexity   – Development velocity  more services   – Development velocity  Richer use c...
Scaling challenges – Cont.• Complex Matrix Management  -   People moving between teams frequently  -   One can have severa...
Continuous Deployment - Case Study at WIX
Upcoming SlideShare
Loading in...5
×

Continuous Deployment - Case Study at WIX

1,831

Published on

Continuous Deployment - Case Study at WIX
By Yaniv Even-Haim
@ Agile Israel 2012

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,831
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
16
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Continuous Deployment - Case Study at WIX

  1. 1. Continuous Delivery @ Wix Yaniv Even-Haim VP R&D Agile Israel 2012
  2. 2. A story on Wix time machine
  3. 3. Wix Intro
  4. 4. Wix in numbers• 22,000,000 registered users from 233 countries• ~1,000,000 new users every month• ~ 25,000 new websites every day• 16,000,000 web sites• 650,000 mobile sites• Over 120Tbyte of users media files• More than 1 Billion users media files• 230+ servers in 3 data centers• 270 employees• 80 R&D people
  5. 5. Time machine event =• Deployment capabilities : “no click” deployment – Dozens of services , 230+ servers over 3 Data Centers• Backward and forward compatibility at the extreme field test case – Mixed versions of services / DB with no service downtime• Empowerment – The power we give to individual• Risk taken and failure embracement
  6. 6. CD is business concern Revenue per month201…201…201…201…201…201…201…201…201…201…201…201…201…201…201…201…201…201…201…201…201…Traditional “Economies of scale” threaten by cloud technology Be faster than small startups CD “Economies of Agility “ = Velocity X Size
  7. 7. CD is culture & mindset• Trust the developers – Empower developers to change production – Developer knows his system best• Automation as a default choice – no more “is it worth to automate ? ” – Everything should be automated• Welcome to the twilight zone – Product/Dev/QA boundaries are going down – Everyone need to care about everything – Less formality : Corridor - IN , Meeting Room - Out
  8. 8. 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
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. Wix Developer Lifecycle
  13. 13. New Relic - Monitoring
  14. 14. Application dashboard
  15. 15. Application dashboard• Self-Test – Can my application function?
  16. 16. Chix – Staging Deployment
  17. 17. Scaling challenges• Deployment complexity – Development velocity  more services – Development velocity  Richer use cases -> more dependencies• 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
  18. 18. Scaling challenges – Cont.• 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• Product MVP practices – How to define a product that can be development in a day ? – And that can win in a/b test … It is not all or nothing game - it is continuous journey
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×