Wczoraj na WJUGu wystąpił Adam Lider z demonstracją Consumer Driven Contracts. Opisywał duży, rozproszony system i problemy związane z jego wdrożeniem i utrzymaniem. Była to bardzo ciekawa prezentacja, ponieważ oprócz tego, że Adam był bardzo dobrze przygotowany i naturalny, to opowiadał o własnych doświadczeniach, bo przy projekcie pracował kilka lat.
Była również dodatkowa atrakcja, bo z powodu Świąt było zamknięte “akwarium” i nie mieliśmy rzutnika multimedialnego (Michale!) i dlatego musieliśmy się ścisnąć wokół laptopa Adama. To było integrujące!

Ale,ale, nie napisałeś o najważniejszym wniosku z prezentacji: NIGDY nie optymalizować architektury dopóki nie występuje problem z wydajnością
Comment by Jakub Nabrdalik — April 7, 2010 @ 10:53
@Jakub, słusznie!
Inne wnioski, które zapamiętałem to:
* w miarę możliwości moduły (w sensie dużych składowych kloców systemu) umieszczamy na jednym node (serwer), a przed nim stawiamy load balancer.
* moduły powinny być napisane tak, aby móc umieścić je na wielu maszynach, ale na siłę nie rozrzucamy ich – stanowiło to problem właśnie w przykładzie Adama
* bardzo ważne jest, aby na etapie projektowania policzyć planowane obciążenie, bo da to ważne wskazówki jakie zastosować technologie.
* testowanie CDC zostało zaimplementowane w postaci ich własnego DSLa, który w bardzo łatwy sposób umożliwiał opisanie przypadków. Dzięki temu używali tego również ludzie od frontendu, na co dzień pracujący w JavaScript.
Comment by Zdanek — April 7, 2010 @ 10:59