Krótkie pytanie, ponieważ nie mam absolutnie doświadczenia w serverless chciałbym poznać mniej więcej powody, które sprawiają, że ten kierunek ma sens. Mogą to być powody biznesowe, powody technologiczne, lub inne o ile rzeczywiście wyjaśniają trend tworzenia takich rozwiązań. Chcę zrozumieć tylko powody jakie idą za tą idea. Nie chcę analizować jaka rzecz jest najlepsza z najlepszych.
Obecnie myślę, że tu bardziej chodzi o uzupełnienie rozwiązań zorientowanych na IO np. elixir, node. W tych jezykach najsłabszym punktem jest mielenie danych na większą skalę i to może być powód, dla którego potrzebna jest furtka do łatwego integrowania rzeczy wymagających nacisku na CPU.
Mimo to zastanawiam jaką różnicę robią te Functions.
Przecież nikt nikomu nie zabrania, można napisać własny serwis np. w go / C++ / Rust, który również wystawia API po http lub przez kolejkę i po prostu mieli nadchodzące zadania.
Pod jakim kątem te Functions są lepsze? Są bardziej skalowalne w stylu, że 1 wywołanie funkcji == 1 proces, i chodzi o to, że tych procesów może byc multum (pod warunkiem, że jest na to hajs).
Czy może chodzi o to, że pisanie serwisów w C++ / go / Rust - jest żmudne, niewygodne i że z Functions to nie trzeba się tym przejmować, bo tego typu rzeczy to Firebase weźmie na siebie. Ty jako programista myślisz wtedy tylko o kodzie do obliczeń.
Czy moze chodzi po prostu o to, ze w Firebase rozwiązanie łatwiej przekształcić na skalę globalną i że część workerów może być w jednym regionie, a część w drugim?
A może chodzi o to, by redukować koszt samej maszyny. Tzn raz na 3 godziny leci jakieś zadanie masz 15 min, to wtedy koszt tego to 15 min, a nie 3h, przez co w długofalowej perspektywie nie trzeba przywiązywać się do lepszych maszyn?