Vad är server-less?

15 mars 2021

Tags
firebase javascript google

Vad innebär begreppet server-less?

Begreppet server-less är inte en materialfråga utan snarare en ägarfråga. Det här utgör också fundamentet för cloud computing.

När du designar och implementerar ett system som ska driftsättas på en molnplattform, dvs vara server-less, innebär det att du inte behöver införskaffa och underhålla servrar. Det ansvaret har dock leverantören för molnplattformen i fråga.

Vi på Ribomation har arbetat med molnlösningar sedan slutet av 2007, på några olika molnplattformar. På våren 2012 startade Firebase, som både namn på plattform och företag. Två år senare blev de förvärvade av Google som integrerade deras tjänster i deras större moln-utbud (GCP).

Firebase's första produkt i 2012, var RTDB, som utgör ett stort JSON träd. Dvs varje nod är ett JSON dokument, som i sin tur kan innehålla underdokument. Det anmärkningsvärda med RTDB, var dock att man enkelt kunde associera lyssnare ( listener subscriptions) på olika noder och via web-sockets skicka data till alla lyssnande klienter när något ändrats i den nod man lyssnade av.

Att kunna push:a ut data på detta sätt, utan att använda quick-polling eller long-polling, var helt enkelt revolutionerande. Det var också detta som låg till grund för Googles förvärvsbeslut.

Några år efter förvärvet, hösten 2017, lanserades Firestore, som en ersättare för RTDB. Firestore har hämtat en del inspiration från MongoDB, genom att JSON dokument är organiserade i sökbara collections och sub-collections. Realtidsegenskapen med att kunna lyssna på förändringar i JSON dokumenten, har Firestore hämtat från RTDB.

Vi på Ribomation har arbetat med Firebase sedan 2018 och utgör numera vår primära molnplattform. Vår webbplats ribomation.se är en Angular applikation utökad med server-side rendering (SSR) via Angular Universal och driftsatt på Firebase Hosting.

All data om kurser, datum med mera finns i Firestore och bakgrundsuppgifter hanteras av Node.js script som exekveras på Firebase Cloud Functions. Exempel på en bakgrundsuppgift är när du anmäler dig till en kurs. Formulärdata skickas till en HTTPS cloud funktion, vilken registrerar uppgifterna i Firestore och skickar dig en kvittens på att en anmälan har tagits emot.

Passa på och anmälan dig till kursen i Firebase och se det hela in action. På kursen kommer vi bl.a. diskutera best-practices med Firebase och kika på delar av vår egen implementation. Läs mer här