Hva betyr det å ha database i skyen?

Ordet «nettside» betyr ikke det samme i dag som for ti år siden, og de fleste har fått med seg at det har noe med denne «skyen» å gjøre. Men hva betyr skyen for deg som har en nettside? Den store forskjellen er strukturen i systemene. I denne korte artikkelen skal vi se litt på hva det innebærer, og hvilke fordeler det gir deg. Du burde kunne få noe ut av dette både om du drifter tradisjonelle systemer og kan en del, og om du bare er nysgjerrig på hva en skyløsning, i grove trekk, betyr.

En hvilken som helst nettside består som regel av minst tre komponenter, enten det er en blogg, en nettbutikk eller en sosial plattform. Først består den av kode*, som er selve nettsiden. Så består den av bilder, lyd og video, og til slutt består den av selve innholdet i nettsiden. Kode og filer lagres på disk, og data (innholdet) lagres i en database. Databasen består ofte bare av en eller flere filer, og lagres også på disk.

*Vi sier kode, og ikke koder, litt av samme grunnen som vi sier vann og ikke vanner. Paintball-entusiaster sier også ball og ikke baller, for kulene i magasinet, men det er en helt annen historie.

I et tradisjonelt oppsett ville en utvikler som meg selv da ha bestilt ressurser i et datasenter, og så installert og konfigurert de forskjellige komponentene som trengs. Blant annet hadde jeg lagt inn kode og mediefiler, og jeg hadde installert og kjørt en database som nettsiden kunne ha snakket med.

La oss ta for oss hvordan vi heller ville satt opp to av disse i skyen, og se på noen fordeler det gir oss. Først ser vi på databaser, og så på fillagring.

Google Cloud SQL

Databaser er tidvis kompliserte monstre og krever mye kunnskap, tid og disiplin for å få riktig hvis man har noen særlige krav til hvor bra den skal virke.Hvis du har driftet et databasesystem på en maskin du har satt opp selv så vet du at det er en del ting som må ordnes, og mye som kan gå galt.

I skyen blir livet til en databaseadministrator mye lettere, og både kunde og administrator drar nytte her. Google Cloud Platform tilbyr en tjeneste som heter Cloud SQL, som for de aller fleste er akkurat det man trenger. Det store her er at dette er en såkalt «managed service». Det betyr at den er veldig lett å sette opp, og kanskje enda viktigere, at Google sørger for at den er tilgjengelig for trafikk og at programvare er oppdatert. Misforstå meg rett, det er mulig å ødelegge for seg selv hvis man prøver veldig hardt eller hvis man ikke aner hva man driver med, men i det tradisjonelle oppsettet man brukte før i tiden kunne et databasesystem ta kvelden selv om man både gjorde det man kunne for å holde den i live og man visste hva man drev med.

Google Cloud Storage Bucket

For lagring av mediefiler gjelder akkurat det samme. Å lagre filer på samme maskin som nettsiden kjører på er enkelt og fungerer greit. Helt til det ikke gjør det. Maskinen kan gå tom for plass, nettverket kan være overbelastet, noen kan ha slettet eller overskrevet filer ved en feil, eller så kan rett og slett hele disken ha lagt på røret fordi den var gammel eller fordi strømmen gikk og den ikke tålte det.

Alle problemene jeg listet opp blir borte når vi bytter ut disken for fillagring med en lagringstjeneste fra google. For å beskytte seg mot at filer slettes og overskrives må man ta jevnlige sikkerhetskopier, men alle de andre problemene forsvinner av seg selv. Det er det lov til å la seg imponere av. For meg som utvikler betyr det at jeg kan fokusere på viktigere ting, og for kunder betyr det at man kan stole på at mediefiler og andre filer ikke forsvinner, men også at de så godt som alltid vil være tilgjengelige for brukerne på nettsiden.

Å bruke dedikerte tjenester levert av skyleverandøren er et gjennomgående tema for aktører som har plattformen sin i skyen. Ofte er det slik at jo mer «logikk» man overlater til skyleverandøren, desto tryggere og mer pålitelig blir systemet.

Er du nysgjerrig på hvilke andre tjenester man kan få på Google Cloud Platform kan du ta en titt her.