L'architettura di Stack Overflow - Mario Cecconi - Codemotion Milan 2014
-
Upload
codemotion -
Category
Technology
-
view
173 -
download
0
Transcript of L'architettura di Stack Overflow - Mario Cecconi - Codemotion Milan 2014
Marco Cecconi @sklivvz
http://sklivvz.com
ARCHITETTURA?
CHE E’?
Cresciuti a 130 siti (+20%)
Da 56º a 44º network più visitato al mondo (-12)
*source: Quantcast, Alexa
~50º network per traffico*
(fra imdb.com e t.co)
http://stackexchange.com/performance
Agile
BAT!CAVERNA
Ciclo scrivi-compila-testa sul computer di casa
Richieste feature
DEV.SO
Test su server di produzione
git push
BAT!CAVERNA
BAT!CAVE DEV.SO
META.SE
Utenti testano su meta.stackexchange.com
(“baking”)
git push
BAT!CAVERNA
1-click deploy
DEV.SO
META.SE
AZZ!
git revert
git push
BAT!CAVERNA
1-click deploy
DEV.SO
NETWORK META.SE
1-click deploy
git push
1-click deploy
In produzione! Tonnellate di utenti lo usano…
BAT!CAVERNA
BAT!CAVE DEV.SO
NETWORK META.SE
1-click deploy
git push
1-click deploy
…e richiedono nuove feature!
BAT!CAVERNA
Vai veloce e scassa le cose*
* Non la home page o pagine domande :-)
Vai veloce e scassa le cose*
* Non la home page o pagine domande :-)
Abuso dell’uso della cache
Il nostro amico/nemico: Il Garbage Collector
(“spazzin”)
Abusiamo della cache per aiutare il GC
Abusiamo del compilatore per aiutare il GC
IRepository<Order> orderRepository = container.Resolve<IRepository<Order>>(); Order order = orderRepository.Get(35);
La buona, vecchia dependency injection
IRepository<Order> repository = new ValidatingOrderRepository ( new SecurityRepository<Order> ( new LoggingRepository<Order> ( new CachingRepository<Order> ( new NHibernateRepository<Order> () ) ) ) ); Order order = repository.Get(35);
Il nostro sorgente
YAGNI*
* You Ain’t Gonna Need It!
Librerie e open source
Wrap code in libraries and open source it
PROGRAMMAZIONE DA “SUPEREROI”
LIVELLO STRUMENTI: HATTORI HANZŌ
• La performance è una feature • Always. Be. Shipping. • Usate le vostre circostanze. • Rilasciate O/S le vostre librerie • 3 monitor grandi da far schifo.
MORALE DELLA FAVOLA
Marco Cecconi @sklivvz
http://sklivvz.com
Stiamo assumendo nuovi ninja da ovunque nel mondo!