Serverless web applikation – Azure

Gå ikke glip af ny viden

Tilmeld dig vores nyhedsbrev

Udgivet den: 14. april 2021
Opdateret den: 13. oktober 2021

Serverless er på vej ind

Azure har mange forskellige services og tilføjer nye services i en høj hastighed. Én af de ting, udviklerne bag Azure, er rigtig gode til, er at sikre et godt sammenspil mellem de forskellige services i Azure. Denne tilgang giver virksomhederne mange forskellige muligheder for at optimere deres applikationer og skræddersy dem efter deres behov.

Serverless er en af de helt store ting i nutidens cloud univers, og derfor bør alle virksomheder kende til alle de fede muligheder en serverless arkitektur bringer med sig.

Hvad er en serverless arkitektur?

Idéen bag en serverless arkitektur er primært, at Azure står for 100% af din server infrastruktur. Azure giver dig mulighed for at hoste din kode i Azure Functions. Fordelen ved Azure Functions er, at de er utrolig skalerbare og omkostningseffektive. Som en ekstra bonus slipper du for at bekymre dig om den underliggende serverstruktur.

Grunden til Azure Functions er omkostningseffektive, er blandt andet fordi deres consumption plan, som indikerer, at du kun betaler for dét, du bruger. Det er netop her hele formålet med en serverless web applikation virkelig træder i kraft. Du kan gemme dine statiske filer i et fildrev i Azure, eksempelvis Azure Storage og hoste hele din backend kode i Azure Functions, som kun kører, når en bruger forespørger en ressource.

Disse forespørgsler kunne for eksempel være:

  • Hente data fra en database
  • Indsætte data i en database
  • Sende informationer gennem en kontaktformular til en mail addresse.
  • ... og meget mere

Når der ikke laves forespørgsler, vil Azure Function automatisk gå i "dvale" - hvilket er gratis indtil, den bliver aktiveret igen. Idéen er dermed, at du håndtere al din logik på klienten og kun benytte din Azure Function, når der skal kommunikeres med et eksternt system eller en database.

Du kan også opdele din forretningslogik i flere forskellige Azure Functions, hvis du ønsker. Eksempelvis, så du har én, der står for at sende mail, én der står for at skrive til en database mm. hvis du ønsker. Det giver din kodebase mere modularitet og gør den nemmere at vedligeholde.

Fordele ved serverless arkitektur

Serverless arkitektur kan bruges af applikationer i alle størrelser. Azure Functions er bygget til at have en uendelig høj skalerbarhed. Det betyder blandt andet, at alle slags applikationer med al slags trafik vil køre godt på dem.

En anden markant fordel er de besparelser, man kan opnå med disse, frem for andre digitale løsninger, hvor du ofte skal betale for meget mere, end hvad du bruger. Det varierer selvfølgelig efter virksomhedens behov, men nogle af områder, hvor du kan spare er blandt andet server administrations omkostninger samt månedlige server omkostninger.

Da Azure står for 100 % af serverdriften, behøver din virksomhed ikke at bruge kræfter på at skulle opsætte og vedligeholde servere, som ofte koster meget tid og mange ressourcer. Udover det vil du kunne sove trygt om natten velvidende om, at Microsoft har certificerede IT eksperter ansat, som sørger for at din applikation kører gnidningsfrit og sikkert døgnets 24 timer.

En serverless web applikation er sammensat af følgende Azure services:

  • Azure Blob Storage - Til at håndtere statiske filer (billeder og html, css og javascript filer).  Al kommunikation mellem de statiske filer og back-end koden sker igennem JavaScript.
  • CDN - Azure Content Delivery Network sørger for at levere de statiske filer til brugeren hurtigt, så brugeren får en bedre oplevelse. Denne del er valgfri og er kun relevant hvis loading tid og performance er meget vigtig for virksomheden.
  • Azure Function - Som beskrevet tidligere, er dette stedet hvor din back-end kode ligger og håndterer forespørgsler fra klienten.
  • Azure API Management - Denne del er også valgfri, men kan være god, hvis man ønsker noget mere kontrol over sin backend kode. Azure API Management gør det muligt for dig at linke dine Azure functions op til et bestemt endpoint. Her kan du styre, hvem der har adgang til at kalde på ressourcen samt filtrere forespørgslen før den rammer Azure Function. Dette giver et ekstra lag af sikkerhed og kontrol.
  • Cosmos DB eller SQL Server - En database til at gemme din data.
  • Azure Active Directory - Håndter bruger login ved hjælp af Azure AD credentials.
  • Azure Pipelines - Pipelines er et Continuous Integration og Continuous Delivery setup, der tester og bygger din applikation for dig, så dine rettelser i koden bliver udgivet med det samme. Dette er en genistreg, idet det forøger hastigheden fra udvikling til publicering af opdatering markant.

Følg os på

Brug for mere information?

Så ta' fat i Claus eller en af vores andre flinke medarbejdere.

Image

Claus Friis Pedersen

Partner og CEO