architectural complexity
play

Architectural Complexity Lessons from the bwin P5 Poker System - PowerPoint PPT Presentation

Architectural Complexity Lessons from the bwin P5 Poker System Presented by: Henrik Henke Lagercrantz & Gerold Cactus Kathan QCon London 2010, March 10 2010 Online Poker Functional Requirements in the Poker domain are well-


  1. Architectural Complexity Lessons from the bwin P5 Poker System Presented by: Henrik “Henke” Lagercrantz & Gerold “Cactus” Kathan QCon London 2010, March 10 2010

  2. Online Poker • Functional Requirements in the Poker domain are well- understood and therefore EASY to implement • However, there are a series of Non-Functional requirements that complicate the implementation of Online Poker

  3. extreme performance

  4. massive stability

  5. immediate time2market

  6. infinite flexibility

  7. seamless integration

  8. maximum cost efficiency

  9. superior quality

  10. cosy customer experience

  11. customer care friendly

  12. tons of real money

  13. real-time transactions

  14. ultimate security

  15. fraud detection

  16. auditable compliance

  17. global reach

  18. organizational scaling

  19. operational excellence

  20. pervasive monitoring

  21. fully automated processes

  22. hold on every serious e-commerce shop has to deal with those issues.....

  23. who are those guys ? ...getting COMPLEX ?

  24. The Speakers Henke Cactus “I would prefer the correct "...guys, what is the real problem solution over the simple one" you want to solve here ?"

  25. P5 HISTORY P4 ?

  26. What was P4? • P4 = Poker v4 • Ran from 2002 to 2008...it worked! But...we had performance issues, that we fixed... • Then the UIGEA happened...and we turned to Europe... REGULATION!!

  27. REGULATION • Non-compliance = NOT OPTIONAL! • „Weird‟ regulations/requirements • Implementation on P4 = IMPRACTICAL for multiple markets

  28. NEW Build = P5

  29. 2007 challenging project ahead...

  30. business drivers

  31. Support the widest range of gaming regulatory requirements

  32. Build a poker platform with a highly customizable client.

  33. Enable a wide range of new games, business models, and integration scenarios

  34. Build the world‟s most scalable and cost-efficient poker platform.

  35. we took a step back ...

  36. we could feel the complexity of P4 ...

  37. But it looks simple?

  38. we looked inside the simple boxes ...

  39. Buuuuh ......... good old legacy mess

  40. we learned to differentiate ...

  41. Accidental Complexity Hello!!

  42. Essential Complexity

  43. m c² E =

  44. “In the presence of essential complexity, establishing simplicity in one part of a system requires trading off complexity in another” – Grady Booch, IT Guru

  45. WTF is that? P5 Architecture

  46. KEY Principles • Modularisation • Asynchronous Integration • Abstraction • Encapsulation

  47. Eventual Consistency

  48. “Those are my principles, and if you don't like them... well, I have others” - Groucho Marx

  49. too much fluffy stuff already… details pleeese!

  50. Sorry about that ... …let’s look at an Example instead

  51. Original Setup reads writes Reader Writer DB History Storage Service

  52. Availability Performance Flexibility Consistency

  53. Availability Performance Flexibility Consistency

  54. Relational Data Model d s e e p n e i n f d e d s o n reads writes Reader Writer DB History Storage Service

  55. Time to Modularize… DB Became DB History Storage History Service Audit Service Service

  56. Relational Data Model defines translates fetches reads writes Reader Writer DB History Service Audit Service

  57. LB Audit Service Writer High Performance Continuous Availability

  58. DB Reader History Service Audit Service Consistency Flexibility

  59. Busting a CAP (theorem) High Performance Continuous Availability Flexibility Consistency Eventual Consistency

  60. Reader DB Writer History Storage Service

  61. LB DB Reader History Service Audit Service Writer

  62. fine ...

  63. short recap...

  64. we did a big rewrite of our poker system

  65. we won't do it again ;-)

  66. we learned our lessons !

  67. do not try to escape the essential complexity !

  68. architect it !

  69. resistance is futile

  70. any questions ?

  71. you remember the cat ...

  72. join.us@bwin.com

  73. Embrace Essentíal Complexity. Architect it !

Recommend


More recommend