"Bwin - P5 a future proof Poker platform"
-
Upload
gerold-kathan -
Category
Technology
-
view
1.677 -
download
0
Transcript of "Bwin - P5 a future proof Poker platform"
![Page 1: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/1.jpg)
Architectural Complexity
Lessons from the bwin P5 Poker System Presented by: Henrik “Henke” Lagercrantz & Gerold “Cactus” Kathan QCon London 2010, March 10 2010
![Page 2: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/2.jpg)
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
![Page 3: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/3.jpg)
extreme performance
![Page 4: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/4.jpg)
massive stability
![Page 5: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/5.jpg)
immediate time2market
![Page 6: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/6.jpg)
infinite flexibility
![Page 7: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/7.jpg)
seamless integration
![Page 8: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/8.jpg)
maximum cost efficiency
![Page 9: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/9.jpg)
superior quality
![Page 10: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/10.jpg)
cosy customer experience
![Page 11: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/11.jpg)
customer care friendly
![Page 12: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/12.jpg)
tons of real money
![Page 13: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/13.jpg)
real-time transactions
![Page 14: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/14.jpg)
ultimate security
![Page 15: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/15.jpg)
fraud detection
![Page 16: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/16.jpg)
auditable compliance
![Page 17: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/17.jpg)
global reach
![Page 18: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/18.jpg)
organizational scaling
![Page 19: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/19.jpg)
operational excellence
![Page 20: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/20.jpg)
pervasive monitoring
![Page 21: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/21.jpg)
fully automated processes
![Page 22: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/22.jpg)
e-commerce
shop has to deal with those issues.....
hold on
every serious
![Page 23: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/23.jpg)
![Page 24: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/24.jpg)
![Page 25: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/25.jpg)
![Page 26: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/26.jpg)
![Page 27: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/27.jpg)
![Page 28: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/28.jpg)
![Page 29: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/29.jpg)
![Page 30: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/30.jpg)
![Page 31: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/31.jpg)
![Page 32: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/32.jpg)
![Page 33: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/33.jpg)
![Page 34: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/34.jpg)
![Page 35: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/35.jpg)
...getting
COMPLEX ?
who are those guys ?
![Page 36: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/36.jpg)
The Speakers
Cactus
"...guys, what is the real problem
you want to solve here ?"
Henke
“I would prefer the correct
solution over the simple one"
![Page 37: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/37.jpg)
P5 HISTORY
P4 ?
![Page 38: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/38.jpg)
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!!
![Page 39: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/39.jpg)
REGULATION
• Non-compliance = NOT OPTIONAL!
• „Weird‟ regulations/requirements
• Implementation on P4
= IMPRACTICAL for multiple markets
![Page 40: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/40.jpg)
![Page 41: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/41.jpg)
NEW Build = P5
![Page 42: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/42.jpg)
2007 challenging project ahead...
![Page 43: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/43.jpg)
business
drivers
![Page 44: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/44.jpg)
Support the widest range of gaming
regulatory requirements
![Page 45: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/45.jpg)
Build a poker platform with a highly customizable client.
![Page 46: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/46.jpg)
Enable a wide range of new games, business models, and integration scenarios
![Page 47: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/47.jpg)
Build the world‟s most scalable and cost-efficient poker platform.
![Page 48: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/48.jpg)
![Page 49: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/49.jpg)
we took a step back...
![Page 50: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/50.jpg)
we couldfeel the complexity of P4 ...
![Page 51: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/51.jpg)
But it looks simple?
![Page 52: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/52.jpg)
we looked inside the simple boxes ...
![Page 53: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/53.jpg)
Buuuuh ......... good old legacy mess
![Page 54: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/54.jpg)
we learned to
differentiate...
![Page 55: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/55.jpg)
Hello!!
Accidental
Complexity
![Page 56: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/56.jpg)
Essential Complexity
![Page 57: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/57.jpg)
E
=
m
c²
![Page 58: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/58.jpg)
“In the presence of essential complexity, establishing simplicity
in one part of a system requires trading off complexity in another”
– Grady Booch, IT Guru
![Page 59: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/59.jpg)
P5 Architecture
WTF is that?
![Page 60: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/60.jpg)
KEY Principles
• Modularisation
• Asynchronous Integration
• Abstraction
• Encapsulation
![Page 61: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/61.jpg)
Eventual
Consistency
![Page 62: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/62.jpg)
“Those are my principles, and if you don't like them...
well, I have others” - Groucho Marx
![Page 63: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/63.jpg)
too much fluffy stuff already… details pleeese!
![Page 64: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/64.jpg)
![Page 65: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/65.jpg)
Sorryabout that ...
…let’s look at an Example instead
![Page 66: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/66.jpg)
![Page 67: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/67.jpg)
Original Setup
reads writes
WriterReader
History StorageService
DB
![Page 68: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/68.jpg)
Availability
Flexibility
Performance
Consistency
![Page 69: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/69.jpg)
Availability
Flexibility
Performance
Consistency
![Page 70: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/70.jpg)
Relational Data Model
defines
depends on
WriterReader
writesreads
History StorageService
DB
![Page 71: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/71.jpg)
![Page 72: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/72.jpg)
Time to Modularize…
Audit ServiceHistory Storage
Service
DB Became
History Service
DB
![Page 73: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/73.jpg)
reads writesfetches
Relational Data Model
defines translates
WriterReader
Audit ServiceHistory Service
DB
![Page 74: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/74.jpg)
High Performance
WriterAudit Service
LB
Continuous Availability
![Page 75: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/75.jpg)
Consistency
Flexibility
Reader
Audit ServiceHistory Service
DB
![Page 76: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/76.jpg)
Busting a CAP (theorem)
High Performance
Continuous Availability
Flexibility
Consistency
Eventual Consistency
![Page 77: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/77.jpg)
WriterReader
History StorageService
DB
![Page 78: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/78.jpg)
Writer
LB
Audit ServiceReader
History Service
DB
![Page 79: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/79.jpg)
fine ...
![Page 80: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/80.jpg)
recap...
short
![Page 81: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/81.jpg)
poker system
we did a big rewrite of our
![Page 82: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/82.jpg)
we won't do it again ;-)
![Page 83: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/83.jpg)
we learned our lessons !
![Page 84: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/84.jpg)
the essential complexity !
do not try to escape
![Page 85: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/85.jpg)
architect it !
![Page 86: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/86.jpg)
resistance is futile
![Page 87: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/87.jpg)
any questions ?
![Page 88: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/88.jpg)
you remember the cat ...
![Page 90: "Bwin - P5 a future proof Poker platform"](https://reader034.fdocuments.in/reader034/viewer/2022050614/58ed1e401a28abd8098b4691/html5/thumbnails/90.jpg)
Embrace Essentíal Complexity. Architect it !