kompetanseguiden
Hva er skytjenester?
Hva er skytjenester – og hvor kan du lære det? I denne artikkelen får du en rask introduksjon til hva skytjenester går ut på, mens du i verktøyet øverst kan finne ut hvor og hvordan du kan lære det – basert på dine egne kriterier for læringen.
Tilbake til kompetanseguidens hovedside
Skytjenester er en samlebetegnelse på tjenester fra eksterne serverparker som gjøres tilgjengelig via internett. Dermed slipper kunden å selv bruke ressurser på å drifte og vedlikeholde egen infrastruktur.
Vi ba Phrida Norrhall, som jobber som utvikler i cloud-teamet hos Cisco, om å fortelle litt om skytjenester.
Kort oppsummert; hva er skytjenester?
Skytjenester er IT-tjenester som tradisjonelt sett har blitt utført på egne servere, men som nå blir administrert av en tredjepart gjennom internett.
Det kan være både lagring og behandling av data, men også prosessorkraft. Termen skytjenester brukes generelt for å beskrive datasentre som er tilgjengelige for mange brukere over internett.
Hva brukes skytjenester til i 2020? Når er det viktig å kunne dette?Skytjenester deles ofte opp i tre deler:
Infrastructure-as-a-Service:
Leverandører tilbyr brukere tilgang til prosesseringsressurser som servere, lagring og nettverk. Organisasjoner bruker da sin egen plattform og sine egne applikasjoner på leverandørens infrastruktur.
Fordelen med dette er at man ikke trenger å vedlikeholde sin egen maskinvare, og at det er enkelt å skalere avhengig av hvor mye prosessering og lagring som trengs.
Eksempel på IaaS er Amazon Web Services (AWS) og Microsoft Azure. Tilgang på slike tjenester skjer over internett.
Platform-as-a-Service:
Leverandører tilbyr maskinvare og programvare over internett som kan brukes til å utvikle, administrere og levere applikasjoner. Utviklere får tilgang på en plattform med verktøy til å teste, utvikle og hoste applikasjoner i samme miljø.
Fordelen er at utviklere kan fokusere på utvikling istedenfor å tenke på den underliggende infrastrukturen.
Et eksempel på PaaS er Heroku.
Software-as-a-Service:
SaaS gjør programvare tilgjengelig til brukere over internett. Det betyr at brukere ikke trenger å installere og kjøre applikasjoner på sin PC. Isteden er disse applikasjonene tilgjengelige over internett når man logger seg på online.
En fordel med SaaS er at man som oftest kan bruke programvaren fra hvilken som helst enhet så lenge man har tilgang til internett. Det betyr også at brukeren ikke trenger å forholde seg til å oppdatere programvare, ettersom dette blir gjort via leverandøren.
Et eksempel på SaaS er applikasjoner fra Google som Gmail, Google Maps og Google Drive.
Nivået på hvor mye kontroll man har som administrator avtar mellom disse.
Har du noen eksempler på typiske situasjoner eller utfordringer som skytjenester blir brukt til å løse?
Gjennom bruken av skytjenester trenger ikke organisasjoner å eie sin egen infrastruktur eller datasenter, fordi man får tilgang til det via en skytjenesteleverandør.
En fordel med å gjøre dette, er at bedrifter kan unngå kostnaden som oppstår ved å eie og vedlikeholde sin egen IT-infrastruktur. Isteden betaler man kun for det man bruker, når man
bruker det. Dette gjør det til en fleksibel modell for organisasjoner, hvor man enkelt kan skalere en applikasjon basert på ressursene man trenger uten at man trenger å tenke på innkjøp av ny maskinvare.
I tillegg er skytjenester viktig fra et sikkerhetsperspektiv. For å kunne beskytte dataen sin er det viktig å ha riktig sikkerhetskompetanse. Dette kan være vanskelig for mindre organisasjoner, men er noe man får fra de store skytjenesteleverandørene.
Skytjenester gjør også at organisasjoner unngår et «single point of failure» og kan passe på at man har høy tilgjengelighet på sin applikasjon. Hvis en skytjeneste som Netflix skulle ha en driftsstans så kommer vi med stor sannsynlighet ikke til å merke noe av det, da de enkelt kan flytte sin datalast til andre noder.
Er det noen vanlige språk, rammeverk eller verktøy som er særlig
knyttet til skytjenester?
Nylig har det blitt utviklet flere verktøy som gjør det lettere å ta kode fra utvikling til produksjon. Dette lar utviklere fokusere på utvikling uten å måtte bekymre seg for hva som skal til for å få koden ut til kundene.
Dette har ført til konsepter som «continuous integration», «continuous deployment» og «continuous delivery». Disse konseptene betyr at utviklere jobber på en delt kodebase som de oppdaterer regelmessig, helst flere ganger om dagen. Hver oppdatering blir deretter bekreftet av automatiske tester og bygget automatisk. Når kodeendringer har bestått alle tester blir den automatisk omdirigert til et annet testmiljø før den endelig når produksjon.
Fordelen med dette er at du sørger for at koden som enkeltutviklere jobber med ikke er for forskjellig, og at du sørger for at du har en applikasjon som alltid kan oppdateres i produksjon.
Andre verktøy som har dukket opp for å gjøre det lettere for utviklere, er containere og orkestrering av disse. For å kunne kjøre pålitelig programvare når du går fra et utviklingsmiljø til et annet, trenger man en måte å sikre at miljøet alltid er det samme. For å løse dette problemet ble containere utviklet.
En container inneholder hele kjøretidsmiljøet, dvs. en applikasjon i tillegg til alle avhengigheter den har, biblioteker, samt konfigurasjonsfiler som er nødvendige for å kjøre applikasjonen, alt samlet i en pakke. Ved å samle alt i en container trenger man ikke å tenke på den underliggende infrastrukturen eller forskjeller i operativsystemer.
Det mest populære verktøyet for containerteknologi i dag er Docker. Men en applikasjon består vanligvis ikke av bare én container, og et verktøy for å håndtere disse er avgjørende.
Orkestrering av containere brukes for å kontrollere og automatisere oppgaver relatert til containere. Eksempler på disse er distribusjon, tildeling av ressurser mellom containere, skalering for å spre applikasjonsbelastning jevnt over infrastrukturen og sørge for at containerne kjører. Et eksempel på en orkestreringsteknologi er Kubernetes.
Hvordan er vanskelighetsgraden og læringskurven? Hvilke forkunnskaper er det eventuelt en fordel å ha hvis man ønsker å sette seg inn i det?
Det er ikke noen direkte forkunnskaper som trengs for å jobbe med skytjenester. Men en viss forståelse for operativsystem samt konseptet om virtualisering kan være bra.
Hvilke ulemper eller utfordringer ser du med skytjenester?
Det er en del ting som må være på plass for å kunne benytte seg av skytjenester. For det første må man alltid ha tilgang på internett. For å kunne sende og ta imot data fra skyen må man alltid ha en forbindelse.
En annen ting er at man må stole på at en annen part passer på dataene dine og opprettholder sine datasentre på samme måte som man selv ville gjort hvis man hadde eid sin egen infrastruktur.
Man må også stole på at det er sikkert, både fysisk og online. Man kan derfor si at man mister en del av kontrollen gjennom å benytte seg av en skytjenesteleverandør.
Hva er forhistorien til skytjenester, og hvordan har utviklingen vært?
Forgjengeren til det vi i dag betegner som skytjenester finner man allerede på 1960-tallet, da under konseptet «time-sharing system». Disse systemene tillot flere mennesker å benytte seg av en enkelt, sentral datamaskin samtidig.
Med tiden har time-sharing-konseptet blitt videreutviklet. På 1990-tallet begynte bedrifter innen telekommunikasjon å tilby virtuelle private nettverk (VPN). Dermed kunne man balansere serverforbruk gjennom å endre datatrafikken, hvilket betydde at den totale nettverksbredden kunne brukes mer effektivt.
På 2000-tallet oppstod leverandører av skytjenester slik som vi kjenner dem i dag.
Med utviklingen av kunstig intelligens og maskinlæring er jeg overbevist om at skytjenester kommer til å være essensielle i fremtiden
Hvordan ser du for deg at skytjenester kan videreutvikles?
Jeg tror at vi i den nærmeste fremtiden kommer til å se mer av hybride løsninger hvor man kombinerer cloud med on-premise. På den måten får man skalerbarheten og fleksibiliteten som tilbys av skytjenester, men sikkerheten og kontrollen som man har gjennom et privat datasenter.
Med utviklingen av kunstig intelligens og maskinlæring er jeg overbevist om at skytjenester kommer til å være essensielle i fremtiden, og jeg tror det bare vil bli enklere og enklere å bruke og konsumere alle slags data og tjenester i skyen.
Hvilke råd kan du gi til en som ønsker å lære seg dette?
Det finnes mengder med bra online-kurs man kan ta for å få en god introduksjon til de forskjellige typene skytjenester og for å lære om hvordan de fungerer.
Hos de fleste leverandørene av skytjenester er det ganske enkelt å lage en konto og følge «Getting started»-guider. Som med mye annet er det «learning by doing» som er det beste.