„Bezserwerowy”, jak wiele rzeczy w naszej przestrzeni, staje się przeciążonym terminem. Ale ogólnie oznacza to „Funkcjonalnie, nasza architektura nie zależy od udostępniania lub bieżącej konserwacji serwera”
Pierwsze, co przychodzi mi do głowy, to jednostronna aplikacja javascript, która korzysta z pamięci lokalnej i jest przechowywana na czymś takim jak Amazon S # lub Github Pages (lub dowolna strona statyczna - to tylko typowe przykłady). Wyobraź sobie coś w stylu aplikacji typu „todo” lub „załatwianie spraw”, która działa całkowicie w przeglądarce. Twoja przeglądarka trafia na usługę taką jak S3, aby pobrać kod, a wszystkie przechowywane elementy są przechowywane w pamięci lokalnej w przeglądarce. Nie ma serwera, który utrzymasz w tym celu.
Druga instancja, która jest nieco bardziej skomplikowana (a także ta, która spopularyzowała termin „bez serwera”), korzysta z usługi takiej jak AWS Lambda. Pozwól, że wyjaśnię to, przedstawiając rozwiązany problem:
Wiele razy w mojej karierze rozwiązałem problem biznesowy dla klienta z niewiele więcej niż kodem ruby, który okresowo wyodrębniał, przekształcał i ładował (zwykle napisany jako zadanie rake). Po rozwiązaniu zwykle zautomatyzowałem go za pomocą crona. Potem pojawia się problem: „gdzie mam hostować to, co działa raz na godzinę?” W przypadku niektórych klientów skonfigurowaliśmy serwer w ich istniejącej infrastrukturze. Dla innych stworzyliśmy instancję EC2, mimo że w 99% przypadków była ona bezczynna. W obu przypadkach istnieje serwer, który wymaga obsługi administracyjnej, łatania, monitorowania, aktualizacji itp.
Dzięki Amazon Lambda mogę podjąć to zadanie prowizji i uruchomić je w swojej usłudze jako czystą „funkcję”. Mogę to nawet zaplanować. Ten klient nie potrzebowałby już infrastruktury do tak prostej rzeczy raz na godzinę.
W „bezserwerowym” nadal istnieje serwer, podobnie jak w „chmurze” jest jeszcze komputer. Jest na nim tylko poziom abstrakcji, który bierze na siebie część odpowiedzialności za środowisko.