DDD, Decoupling, Event Driven Architecture, HHVM, Big data, ale co było cool i jest cool już od 25 lat !?
Pomyślmy o biednym zapracowanym serwerze, który robi za nas wszystko… albo pomyślmy o sobie samych jako programistach, którzy są sami w zespole i wszystko muszą ogarniać - komunikację, fixy, featury, infrastrukture… dużo.. prawda?
Ja tam zawsze miałęm z restem problemy, z soapem też. Jest za wolny, nie odpowiada kiedy go o coś proszę, albo wręcz nie żyje (tutaj mogą być fajne slajdy :D) Jak temu zapobiec? CRON + DB?? Myślisz w małej skali - co się stanie jak będziemy cały czas zapisywać i odczytywać - baza danych przestanie odpowiadać aż w końcu umrzy - w końcu ledwo się skaluje
ale w koncu sama idea nie jest taka zla - potrzebujemy po prostu czegos znacznie szybszego - potrzebujemy message brokera.
Bez crone’a, bez czekania, bez ponawiania.
A propos ponawiania - wiekszosc firm w polsce wysyla wyplaty miedzy 1-10 kazdego miesiaca…. co sie wtedy dzieje? Zazwyczaj to samo, otwieramy swoje komorki i sie zaczyna - odswiez, oswiez, odswiez.
Dzwonie do luki, robi mi przelew i wartosc się zmienia. :)
Mowilismy o tym, ze nie chcemy zabic ani trasferu ani baterii. Ale polaczenie jednak trzeba jakos utrzymac. Pytanie brzmi - ile musimy wydac, zeby to zrobic. Andy Stanford-Clark i Arlen Nipper rozwiazali ten problem juz w 1999 roku w IBMie tworzac protokol MQTT (MQ Telemetry Transport) i potrzebujemy do tego tylko … 2 bytes
no… kasa przyszla - co teraz musimy zrobic? Dac znac zonie, ze juz moze sobie kupic nowa torebke :). Wchodzimy na fejsa.
Lucy Zhang, ktora miala w 2012 roku rozwiazac ten problem nie chciala. Podeszła do problemu niezwykle profesjonalnie probujac rozwiazac nie tylko problem obciazenia serwerow, ale takze baterii, obciazenia lacza komorkowego oraz opoznienia - w koncu kto jadac pociagiem moze polegac na polaczeniu internetowym. Czy wiecie z czego skorzystala? MQTT!
FB ma ponad miliard uzytkownikow, 650 mln korzysta z niego codziennie, 400 mln mobilnie wysylajac 200 mln wiadomosci… Kto chce uzyc do tego resta?
Ale o ile szybsze jest to od standardowego polaczenia http?
93x faster throughput
11.89x less battery to send
170.9 x less battery to receive
½ of power to keep connection open
8x less network overhead
Wyobrazcie sobie cos na prawde mobilnego… cos jak puszke 8x3x2 metry lecaca jakies 800 km nad ziemia. Tutaj nie mozna byc niczego pewnym. W 1999 roku takiego satelitę z systemem kolejkowania wystrzelono w celu monitorowania ropociągów w USA!
Obrocmy teraz tego satelite i sprobujmy zbadac nim kosmos - czy musimy wszystko liczyc na miejscu? W kosmosie?
Infrastructure as a service - 2008 rok. Kontenery w NASA - kazdy ma pojemnosc ok 15k CPU
any platform
any location
skalowanie w najczystrzej postaci
Platform as a service - Q4 2010 - udostepnienei frameworku, dokumentacji, repozytorium i web service’ów
Software as a Service - 2011
Tony kabli i elektroniki, przeszlismy przez rzeczy niekoniecznie zwiazane z PHP wiec gdzie jest lacznik - think outside the box - czyli jak podlaczyc lodowke pod nasz serwer, jak zarzadzac naszym mieszkaniem ze strony internetowej?
Film