rebuilding the monolith with composable apps https quora
play

REBUILDING THE MONOLITH WITH COMPOSABLE APPS - PowerPoint PPT Presentation

REBUILDING THE MONOLITH WITH COMPOSABLE APPS https://www.quora.com/Why-are-front-end-developers-so-high-in-demand-at-startups-if-front-end-development-is-relatively-easier-than-other-fields-of-engineering 2013


  1. REBUILDING THE MONOLITH WITH COMPOSABLE APPS

  2. https://www.quora.com/Why-are-front-end-developers-so-high-in-demand-at-startups-if-front-end-development-is-relatively-easier-than-other-fields-of-engineering

  3. 2013

  4. http://conference.phpnw.org.uk/phpnw13/schedule/dan-rathbone/

  5. XHR

  6. 2014

  7. WHY DO WE CARE SO MUCH ABOUT MOBILE? Because it makes up a huge proportion of our traffic, of which there is lots…

  8. MOBILE IS GROWING AT A SCARY RATE TOO…

  9. Weekly Uniques on Mobile 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52

  10. BACK TO THE TECH What are the challenges we were facing?

  11. Create a more engaging customer experience Increase the resilience of our core features Scale our product Scale our teams

  12. Nothing rendered by JavaScript No knowledge of routing in client State stored in data attributes in the DOM Spaghetti OO style JavaScript reliant on directly bound event listeners Increasingly real-time and interactive product demands

  13. “From a people and culture point of view, we’re very focused on maintaining the things that made Sky Bet great as we scale up the internal team – we doubled the number of employees last year.” http://www.silicon.co.uk/cloud/it-life-andy-burton-cto-sky-bet-197113

  14. WHOLLY OWNED, VERTICAL SLICES

  15. “Favor object composition over class inheritance… ...You should be able to get all the functionality you need just by assembling existing components through object composition.” Gamma et al, 1994

  16. CHOOSING THE TECH STACK

  17. “Don’t Rewrite, React” Ryan Florence, React Europe 2015

  18. IN PRACTICE IT’S NEVER THAT SIMPLE

  19. Independent components may share data requirements Real-time updates need to happen simultaneously to ensure consistent experience Apps may share code dependencies (i.e. Ramda) How do we instantiate these things?

  20. IT GETS HARDER AS THE PRODUCT REQUIREMENTS GROW MORE DETAILED

  21. WORKING WITH COMPONENTS

  22. FUNCTIONAL COMPOSITION

  23. “It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures..” Alan Perlis

  24. ENCAPSULATE CSS

  25. EXTRACT LOW LEVEL DESIGN LANGUAGE

  26. THE ELEVENTH HOUR CURVE BALL

  27. DELIVER A MARKET LEADING REQUESTABET™ PRODUCT FOR THE START OF THE PREMIER LEAGUE SEASON (That gave us less than six weeks)

  28. Allow customers to request a bet consisting of outcomes from the same event Select outcomes from a curated list of markets and add them to your request cart Request the bet – if it can be priced immediately you’ll see the result in real-time, Your requests are stored otherwise it will be sent to locally and a push the trading team notification is sent to the device to notify when the trading team have stopped pricing requests

  29. When a selection is added we calculate suggestions using a web worker When a request is submitted, we can use the pre-built suggestions list to show you highly related options Web worker runs in separate JavaScript thread to minimise performance overhead

  30. WORKING WITH REACT AND THE CLIENT-SIDE COMPONENT APPROACH ALLOWED US TO DEVELOP THE FEATURE IN PARALLEL TO THE EXISTING ROADMAP

  31. CUSTOMERS LOVE THE FEATURE (And we delivered it with a week to spare)

  32. OVER 1 MILLION UNIQUE USERS SINCE LAUNCH AND ROUGHLY 1.7 MILLION UNIQUE REQUESTS RECEIVED BY TRADERS

  33. THE BITS THAT DIDN’T GO SO WELL

  34. BUILT COMPONENTS IN THE UI-LIBRARY TOO SOON

  35. SERVER RENDERING

  36. SOME FUNCTIONAL TECHNIQUES CAME WITH A STEEP LEARNING CURVE

  37. TEAM NAMES MATTER MORE THAN YOU THINK

  38. HAVE WELL DOCUMENTED ENGINEERING PRINCIPLES WHICH ARE ACTIVELY DISCUSSED

  39. TDD, PAIRING AND CODE REVIEW KEEP THE QUALITY BAR HIGH

  40. WHAT’S NEXT?

  41. Create a more engaging customer experience Increase the resilience of our core features Scale our product Scale our teams

  42. THANK YOU Ian Thomas – Principal Engineer, Sky Betting & Gaming @anatomic

Recommend


More recommend