Cloud for begyndere: hvad betyder det for webapps, hosting og udvikling?

Cloud for begyndere: hvad betyder det for webapps, hosting og udvikling?

Cloud i én sætning: hvad er det egentlig?

Cloud betyder, at servere, lager, databaser og andre IT-ressourcer leveres via internettet i stedet for fra hardware, du selv ejer. For en webapp betyder det, at drift, skalering og meget af infrastrukturen kan flyttes til eksterne tjenester, som du lejer efter behov.

I den klassiske verden køber eller lejer du en fysisk server eller et webhotel hos et hostingfirma. I cloud-verdenen får du de samme ting som tjenester:

  • Compute (CPU og RAM) til at køre din kode
  • Datalagring til filer og assets
  • Databaser som en service
  • Netværk, load balancing og ofte CDN (Content Delivery Network)

Alt det tilgås over internettet og er typisk on-demand: du kan skrue op og ned efter behov og betaler ofte efter forbrug.

For dig som udvikler betyder det, at du kan fokusere mere på kode og arkitektur og mindre på kabler, hardwarefejl og manuelle reboots. Til gengæld skal du forstå, hvordan de forskellige cloud-tjenester hænger sammen omkring din webapp.

Hvad betyder cloud for en webapp og for din udviklingsproces?

For en webapp betyder cloud, at frontend, backend, database og filer kan køre på tjenester i skyen, så du kan deploye og skalere uden selv at eje og vedligeholde fysisk hardware. Det ændrer både, hvordan du bygger, tester, deployer og driver din app i hverdagen.

Lad os tage en typisk rejse fra kode til drift for en lille webapp:

  1. Du skriver kode
    Frontend (fx React), backend (fx Node/Express) og måske en lille API.
  2. Koden ligger i et repository
    Typisk på GitHub eller lignende. Det er derfra cloud-platformen henter din kode.
  3. Build
    Cloud-platformen bygger din app: kører tests, samler frontend, installerer dependencies osv.
  4. Deploy
    Den færdige build bliver rullet ud på en eller flere instanser (servere eller containere) i skyen.
  5. Hosting
    En webserver eller app-platform sørger for at svare på HTTP-requests til dit domæne.
  6. Database-hosting
    En managed database (fx Postgres) kører som separat cloud-tjeneste.
  7. Domæne og HTTPS
    Domænet peger mod din cloud-tjeneste via DNS, og TLS/SSL-certifikater håndterer HTTPS.
  8. Monitorering og logs
    Cloud-tjenesten samler logs, metrics og alarmer, så du kan se, hvordan appen har det.
  9. Skalering
    Du kan skrue op for antal instanser eller automatisk skalere efter trafik.

I praksis betyder det fx:

  • Du behøver ikke selv sætte Linux, webserver og firewall op fra bunden
  • Du kan deploye med et klik eller automatisk, når du pusher til main-branch
  • Du får typisk indbygget backup, automatiske certifikater, grundlæggende overvågning

Til gengæld skal du lære at tænke i miljøer (dev, test, prod), miljøvariabler, rettigheder og integrationer mellem tjenester. Artikler som lille CI, stor forskel og guides om deployment og drift giver et godt næste skridt, når du vil dykke dybere ned i workflowet.

Cloud-typer: public, private, hybrid – og SaaS, PaaS, IaaS

Der findes flere cloud-typer, men for begyndere er det vigtigst at skelne mellem public, private og hybrid cloud samt servicemodellerne SaaS, PaaS og IaaS. De beskriver ikke det samme, og forskellen er vigtig, når du skal vælge løsning.

Public, private og hybrid cloud

Det her handler om hvordan clouden er bygget og delt:

  • Public cloud: Ressourcer hostes hos en stor udbyder (fx AWS, Azure, Google Cloud) og deles logisk mellem mange kunder. Du får høj fleksibilitet og mange tjenester.
  • Private cloud: Cloud-teknologi, men dedikeret til én organisation, ofte i eget datacenter eller hos en hostingpartner. Mere kontrol, typisk dyrere og mere komplekst.
  • Hybrid cloud: Kombination af on-premise/privat cloud og public cloud. Bruges ofte af større organisationer, der både har gamle systemer og nye apps.

Servicemodeller: SaaS, PaaS og IaaS

Her handler det om hvor meget du selv vil styre:

Model Hvad du får Hvad du selv styrer Typiske eksempler
SaaS (Software as a Service) Færdig app i browseren Næsten ingenting – mest brugere og indstillinger Mail, CRM, regnskabssoftware
PaaS (Platform as a Service) Platform til at bygge og køre apps Din kode, data, konfiguration og skaleringsregler App-hosting til webapps og API’er
IaaS (Infrastructure as a Service) Virtuelle servere, netværk og lagerplads OS, runtime, patches, sikkerhed på serverniveau Virtuelle maskiner (VM), egne databaser

Som webapp-udvikler rammer du oftest PaaS (app-platforme, functions, container-platforme) og nogle gange IaaS, hvis du vil have mere kontrol. SaaS bruger du mere som bruger end som udvikler.

Cloud hosting vs. traditionel hosting: hvad er forskellen?

Traditionel hosting ligger typisk på én fysisk server eller en simpel VPS, mens cloud hosting bruger et netværk af virtuelle servere med fleksibel skalering. For en webapp betyder det ofte bedre oppetid og skalering, men også mere kompleks pris og opsætning.

Teknisk forskel

Feature Traditionel hosting Cloud hosting
Servertype Én fysisk server eller simpelt webhotel Virtuelle servere på tværs af flere maskiner
Skalering Manuelt, ofte begrænset til en maskine Automatisk/horisontal skalering på flere instanser
Redundans Afhænger af udbyder; ofte begrænset Typisk indbygget redundans og failover
Prisstruktur Fast pris pr. måned/år Forbrugsbaseret (CPU, RAM, trafik osv.)
Opsætning Simpel til klassiske websites Mere fleksibel, men kræver forståelse af tjenester

Hvad betyder det for din webapp?

  • Har du en simpel, statisk side med stabil trafik, er traditionel hosting ofte rigeligt og let at styre.
  • Har du en dynamisk webapp med login, API’er og varierende trafik, spiller cloud-hosting bedre sammen med moderne udviklingsflow.
  • Cloud gør det lettere at koble services på (databaser, køer, caching), men kræver, at du har styr på miljøvariabler, secrets og deployment. Her kan fx miljøvariabler og secrets-praksis spare dig for mange fejl.

En ærlig pointe: Cloud er ikke automatisk “billigere og bedre”. Det er mere fleksibelt. Om det er en fordel for dig, afhænger af din app, dit trafikmønster og hvor meget du vil styre selv.

Hvordan hoster du en webapp i cloud i praksis?

En webapp hostes i cloud ved, at din kode bygges, deployes og køres på en app-platform, mens databaser, filer, domæne og overvågning håndteres af tilknyttede cloud-tjenester. Det giver høj fleksibilitet, men kræver stadig, at du sætter adgang, miljøer og sikkerhed rigtigt op.

Et enkelt flow: fra din maskine til skyen

  1. Lokal udvikling
    Du bygger din webapp lokalt. Det kan være en SPA-frontend, en backend-API eller begge dele. Et konkret eksempel er at bygge et lille Express API og senere lægge det i skyen.
  2. Versionering i Git
    Koden pushes til GitHub eller en anden Git-tjeneste. Mange cloud-platforme lytter direkte på dit repo.
  3. CI/CD pipeline
    Når du pusher, kører en pipeline (Continuous Integration/Deployment): tests, build, evt. linting. Det kan være en simpel “build & deploy”-workflow; se fx lille CI, stor forskel.
  4. Build og container
    Appen bygges til noget, der kan køre stabilt i cloud: en container (Docker) eller en build-output, som en platform kan serve.
  5. Deployment til miljø
    Builden rulles ud i et miljø (typisk “production”). Platformen opretter en eller flere instanser og kobler netværk på.
  6. Database-hosting
    Din database kører som en separat managed tjeneste. Du forbinder til den via en connection string og miljøvariabler. Artiklen om database-hosting går i dybden med det valg.
  7. Domæne og TLS
    DNS for dit domæne peger til cloud-tjenesten. Mange platforme kan selv udstede og forny SSL/TLS-certifikater.
  8. Logs og observability
    Cloud-platformen samler logs og metrics. Det er her, du fejlsøger performance og fejl – læs fx om logs og observability i logs vs. mavefornemmelse.

Når du først har det her flow på plads, føles deployment tit som “push til main, vent et øjeblik, tjek produktion”. Men det kræver, at du har styr på miljøvariabler, secrets, og hvordan appen skalerer, når trafikken stiger.

Hvad koster cloud-hosting – og hvad driver regningen?

Cloud-hosting er typisk forbrugsbaseret, så prisen afhænger af compute, lager, trafik, databaser og forskellige driftstjenester. Det kan være meget billigt for små projekter, men regningen kan vokse, hvis du ikke holder øje med data transfer, backups og logging.

De vigtigste prisdrivere

Del Hvad du betaler for Hvad kan overraske?
Compute (CPU/RAM) Hvor mange og hvor store instanser der kører, og hvor længe Baggrundsopgaver eller “glemte” services der kører hele tiden
Storage (lager) Hvor mange GB du har liggende (filer, backups, billeder) Ældre backups og logs, der aldrig bliver ryddet op
Database Størrelse, antal forbindelser og evt. read replicas Høje I/O-krav eller mange små instanser af databaser
Data transfer / egress Hvor meget data, der sendes ud af platformen til brugerne Meget stor trafik, downloads eller tunge API-svar
Backups Automatiske og manuelle backups, antal versioner og retention Mange snapshots og lang gemmetid
Logging & monitorering Mængden af logs og metrics, samt hvor længe de gemmes Verbose logging på høje volumer uden oprydning
Support & ekstra features Betalt support, enterprise-features, avanceret sikkerhed Automatiske opgraderinger til dyre supportniveauer

Konkrete priser varierer fra udbyder til udbyder og over tid, så du skal altid tjekke den aktuelle prisliste. Mange platforme har gratis eller billige niveauer til små hobbyprojekter, men prisen kan stige markant, hvis du vokser eller tænder mange ekstra services.

Et godt udgangspunkt er at:

  • Lægge et simpelt budget ud fra forventet trafik og datamængde
  • Sætte alerts på forbrug og max-budget, hvor det er muligt
  • Bruge rate limiting og caching, så du ikke brænder unødigt compute af – se fx rate limiting i praksis

Pointen er ikke at kende den eksakte pris på forhånd, men at forstå mekanikken, så du ikke bliver overrasket.

Er cloud sikkert?

Cloud kan være meget sikkert, men sikkerheden afhænger af opsætning. Leverandøren beskytter normalt infrastrukturen, mens du selv skal sikre adgangskontrol, datahåndtering, backups og løbende monitorering.

Shared responsibility: hvem har ansvaret for hvad?

De fleste cloud-platforme arbejder med en form for shared responsibility:

  • Leverandøren har ansvar for datacenter, hardware, netværk og ofte basiskomponenter som hypervisor, disks osv.
  • Du har ansvar for din app, brugeradgange, data, konfiguration og hvordan du bruger tjenesterne.

I praksis betyder det, at leverandøren typisk leverer:

  • Redundans og backup-muligheder
  • Kryptering på transportlaget (HTTPS/TLS)
  • Muligheder for adgangskontrol, roller og MFA (Multi Factor Authentication)

Mens du selv skal:

Cloud er altså ikke automatisk mere eller mindre sikkert end en traditionel server. Det afhænger af, hvor disciplineret du er med opsætning og drift.

GDPR og cloud: hvad skal du være særligt opmærksom på?

Hvis din cloud-løsning behandler persondata, skal du kende leverandørkæden, have styr på dataansvar og databehandleraftale og være opmærksom på, om data eller se-adgang kan flytte til tredjelande. Det er især vigtigt efter Schrems II-dommen.

Nøglebegreber på dansk jord

  • Dataansvarlig: Den, der beslutter formål og midler for behandlingen (fx din virksomhed eller organisation).
  • Databehandler: Den, der behandler data på vegne af den dataansvarlige (fx cloud-leverandøren).
  • Underdatabehandler: Underleverandører, som cloud-leverandøren bruger.
  • Tredjeland: Lande uden for EU/EØS, fx USA. Overførsel hertil kræver ekstra grundlag.

Datatilsynet har slået fast, at både faktisk flytning af data og se-adgang fra et tredjeland kan være en overførsel. Schrems II-dommen underkendte Privacy Shield-ordningen for USA, og amerikansk lovgivning som CLOUD Act og FISA 702 kan betyde, at myndigheder kan få adgang til data under visse omstændigheder.

En praktisk tjekliste før du vælger cloud

Hvis du bygger en løsning med persondata, er det fornuftigt at:

  • Afklare hvem der er dataansvarlig (ofte dig/organisationen) og hvem der er databehandler
  • Sikre en databehandleraftale, der beskriver behandling, sikkerhed og underdatabehandlere
  • Tjekke hvor data lagres (regioner i EU/EØS eller også tredjelande)
  • Undersøge om leverandøren har tredjelandsadgang (support, fjernadgang mv.)
  • Dokumentere hvilke tekniske og organisatoriske sikkerhedsforanstaltninger der er på plads (artikel 32)

For konkrete vurderinger og seneste praksis er det Datatilsynet, der er den autoritative kilde. Denne artikel kan kun være en teknisk og praktisk overflyvning, ikke en juridisk konklusion.

Hvis du arbejder i et team, giver det mening at koble det her sammen med mere generel governance og cybersikkerhed. Artiklen om IT- og cybersikkerhed i praksis er et naturligt supplement.

Cloud eller traditionel hosting – hvad skal du vælge?

Vælg cloud, hvis du har en dynamisk webapp, varierende trafik eller behov for skalering og fleksibel drift. Vælg traditionel hosting, hvis du har et mere simpelt projekt, nogenlunde fast trafik og ønsker lav kompleksitet og mere forudsigelig pris.

Beslutningsmatrix i praksis

Situation Typisk bedre valg Hvorfor?
Lille, statisk hjemmeside eller blog Traditionel hosting / webhotel Billigt, simpelt, du skal ikke deploye kode jævnligt
Mindre webapp med login og database, moderat trafik Begynder-venlig cloud/PaaS God balance mellem fleksibilitet og drift, lettere CI/CD
App med svingende eller kraftigt stigende trafik Cloud med autoskalering Kan følge med trafikken uden at du skal købe ny server hver gang
Projekt med stramme compliance-krav og komplekse integrationer Afhænger af krav; ofte kombination Kan kræve specifik region, kontraktvilkår eller privat/hybrid model
Hobbyprojekt, hvor du vil lære moderne webudvikling En enkel cloud-platform til webapps Du lærer workflows, der ligner det, der bruges professionelt

Hvis du mest er træt af at slås med hosting, kan det også give mening at overveje platforme, der er designet til webapps og frontend-projekter. Der findes flere bud, som er sammenlignet i artiklen om hvilken host der føles mindst i vejen. Den handler ikke om “perfekt” løsning, men om hvad der praktisk fungerer, når du bare vil have din kode ud at leve.

Har du svært ved at gennemskue hosting generelt, er det også værd at læse guiden stop med at kæmpe med hosting, som går mere systematisk til valg af løsning.

Hvilke cloud-platforme møder du typisk?

De mest kendte cloud-platforme er AWS, Microsoft Azure og Google Cloud, men for en begynder er det mindst lige så vigtigt at forstå forskellen på en stor hyperscaler og en mere specialiseret managed platform.

Hyperscalers vs. managed platforme

  • AWS, Azure, Google Cloud
    Meget brede platforme med IaaS, PaaS og SaaS-tjenester. Stor fleksibilitet, men også mange valgmuligheder og kompleksitet.
  • Managed app-platforme
    Fokuserer på at gøre én ting nem: hoste webapps, API’er og databaser med færre knapper at skrue på. Ofte målrettet udviklere, der vil hurtigt fra kode til produktion.

Et naturligt mønster er at starte på en enkel, udviklervenlig platform, og først senere – hvis behovet opstår – bevæge sig over mod mere rå IaaS-tjenester. Det vigtigste er, at du lærer begreber som deployment, logs, miljøvariabler og databaser. De er de samme, uanset om der står AWS eller noget andet på forsiden.

Hvad skal du lære først, hvis du er helt ny?

Hvis du er ny, giver det mest mening først at forstå webhosting, Git og grundlæggende deployment, og derefter lære cloud-modeller som PaaS og IaaS. Cloud bliver langt mindre mystisk, når du allerede ved, hvad en webapp, en database og et domæne gør.

En realistisk læringsrækkefølge

  1. Grundlæggende web
    Lær HTML, CSS og lidt JavaScript, så du kan bygge simple sider.
  2. En simpel backend
    Byg et lille API, fx med Express eller Python, som i springet fra script til lille app.
  3. Git og versionstyring
    Læg projekterne på GitHub og øv dig i at committe og pushe.
  4. Basis-hosting
    Prøv at lægge en simpel side eller app op på et webhotel eller en begynder-venlig host.
  5. Deployment-flow
    Lær at sætte en simpel CI/CD op, hvor en push kan trigge et build og deploy.
  6. Cloud-begreber
    Når det ovenstående sidder nogenlunde, giver SaaS/PaaS/IaaS, skalerbarhed og cloud-hosting pludselig meget mere mening.

Hvis du allerede bygger små projekter, men er i tvivl om, hvordan de flyttes til skyen på en fornuftig måde, er kombinationen af CI/CD-artiklen lille CI, stor forskel og deployment-guides i kategorien deployment og drift et godt næste skridt.

Sæt budgetter og cost-alerts fra starten, tag ressourcer med tags, og brug cloud-udbyderens prisberegner til at estimere forbrug. Overvej autoscaling med fornuftige grænser, vælg passende instance-typer (fx spot/reserved hvor relevant) og brug monitoring for at identificere pludselige omkostningssyndere.
Byg med standarder og portable teknologier som containere, Kubernetes eller open source databaser, og brug infrastructure-as-code (fx Terraform) til at beskrive ressourcer. Undgå at låse kernelogik til proprietære APIs uden nødvendig migrationplan, og sørg for regelmæssige dataeksporter og tests af migrationsscenarier.
Brug en dedikeret secret manager (fx AWS Secrets Manager, GCP Secret Manager, Azure Key Vault) i stedet for at committe nøgler i kode eller repo. Kombinér det med kortlivede credentials via IAM-roller/service accounts, mindst-mulige rettigheder og regelmæssig rotation af nøgler.
Lav en dataflow-mapping for at vide hvor data lagres og behandles, vælg regioner med passende dataresidens, og få en underskrevet databehandler-aftale (DPA) fra din leverandør. Krypter data i transit og i hvile, implementer slette- og opbevaringspolitikker, og dokumenter hvilke subprocessorer der bruges.

Jonas Kirkeby har skrevet kode siden han som teenager forsøgte at lave en helt simpel hjemmeside til sin fars lille vvs-firma – og endte med at sidde oppe hele natten for at få en knap til at skifte farve. Siden da har han lært sig det meste ved at prøve sig frem, kopiere andres eksempler, ødelægge dem og langsomt forstå, hvorfor tingene virker, som de gør.

Til daglig arbejder han slet ikke med IT, men bruger aftener og morgener på små projekter: en lille side til en forening, et simpelt værktøj til at holde styr på familiens madplan eller et Python-script, der rydder op i rodede filer. Det er den slags konkrete hverdags-behov, der har formet hans måde at tænke kodning på – hvad kan jeg bygge nu, som faktisk hjælper mig eller nogen, jeg kender?

På Coding Class deler Jonas de guides, han selv ville ønske, han havde haft: korte, konkrete forløb, hvor du kan se noget på skærmen efter få minutters læsning. Han viser hele vejen fra idé til færdig løsning, inklusive de typiske fejl og små snubletråde på vejen, så du ikke kun får den pæne, polerede version.

Hans mål er, at du som begynder eller let øvet hurtigt får følelsen af: “Det her kan jeg faktisk selv finde ud af” – uanset om du vil bygge din første lille hjemmeside, forstå JavaScript-funktioner eller bruge Python til at automatisere en kedelig opgave.

Send kommentar

You May Have Missed