
Tekst: Kolofon
Silnik działa na brzegu sieci — czyli kod nie mieszka na jednym serwerze, tylko jest zwielokrotniony w setkach lokalizacji i uruchamia się w tej, która jest najbliżej czytelnika. Dla serwisu, którego czytelnicy siedzą na trzech kontynentach, to różnica między odpowiedzią natychmiastową a zauważalnym czekaniem.
Model rozliczeniowy jest przy tym taki, że przy typowym ruchu projektu literackiego rachunek wynosi zero. Nie „niewiele” — zero. To spełnia trzeci warunek z pierwszego wpisu w sposób, którego żaden serwer wynajmowany na miesiące nie spełni.
Rachunek płaci się w ograniczeniach i trzeba je wymienić uczciwie, bo określiły resztę architektury. Nie ma zapisywalnego systemu plików. Nie ma procesów żyjących między żądaniami, więc nie ma zadań w tle w klasycznym rozumieniu. Jest limit czasu procesora na żądanie. Jest limit rozmiaru paczki z kodem.
Każde z tych ograniczeń wraca w kolejnych wpisach tej serii jako przyczyna konkretnej decyzji. Brak systemu plików wymusił podział treść–baza. Brak procesów w tle wymusił oparcie wysyłki powiadomień o żądania, które i tak przychodzą. Limit rozmiaru paczki wymusił paginację, bo wysyłanie całego archiwum w jednej odpowiedzi przestaje działać przy odpowiednio dużym archiwum.
Warto to powiedzieć wprost, bo brzmi jak wada, a jest zaletą: ograniczenia platformy zadziałały jak recenzent, który nie przepuszcza leniwych rozwiązań. Wiele rzeczy, które w tym silniku są zrobione dobrze, jest zrobionych dobrze dlatego, że zrobienie ich źle po prostu by nie zadziałało.
Kolofon