Sky lysere
Seniorudvikler, arkitekt og partner

Mads Høgstedt Danquah

mads@reload.dk

29841615

Læs mere om Mads

Hvad er Cloud? 

Med mindre du har boet under en sten, så har du helt sikkert hørt om “Cloud”. Altså med mindre du slet ikke arbejder med IT, men helt ærligt: Det gør vi jo næsten alle, på den ene eller anden måde. 

Men hvad er Cloud egentligt? Det er helt fair, hvis du er forvirret, for det begreb bliver brugt vidt og bredt af alle mulige - og med alle mulige agendaer og forskellige forklaringer. Men begrebet lyder jo smart, ikk? “Det skal bare ud i skyen, så er alt godt” synes den fælles fortælling ligesom at være. 

I denne artikel vil jeg simpelthen driste mig til at komme med en forklaring på, hvad Cloud egentligt er - og hvad det kan bruges til. Så jeg bruger lidt energi på at få grundbegreberne på plads og få slået nogle søm i væggen, som jeg kan hænge de begrebsmæssige hatte på. 

For lige så svært det er at beskrive, hvad Cloud er, lige så vigtigt er det faktisk, at du gør dig klart, hvad Cloud er i forhold til din forretning. Igen, det udsagn er særligt gældende, hvis du på én eller anden måde arbejder med at udvikle eller drifte digitale løsninger - så det antager jeg herfra.

Spænd sikkerhedsselen. Nu kaster vi os ud i det! 

“Cloud” som koncept er en paraply for en generel bevægelse, vi har set i IT over de sidste mange år imod større grad af standardisering og automatisering af IT ydelser. Ting der før var dyre og komplicerede at bygge selv bliver pludselig hyldevare, du kan leje for 10 øre i timen. Bevægelsen vil accelerere og har med sikkerhed allerede haft en indflydelse på din branche. I fremtiden vil den muligvis helt overtage måden, du arbejder med IT.

Cloud handler i sin essens om, at en anden tager det fulde ansvar for et IT-område og udstiller det til dig “As A Service”. Fordi de tager det fulde ansvar, kan du stoppe med at bruge tid og penge på aktiviteter, der alligevel ikke er essentielle for den ydelse, du leverer til dine kunder. På samme måde som at du jo heller ikke interesserer dig for, hvordan strømmen i din stikkontakt bliver produceret af elselskabet.

Eller, jo, ok, den må gerne være grøn og miljørigtig, men strømmen skal i hvert fald bare være der, ikke? Det er ikke din hovedpine at sørge for, at strømmen flyder, eller at du har en generator i baghaven. Og det er jo egentligt ret fedt. Men tilbage til det, som det handler om.

Cloud har mange karakteristika, men her er nogle af de vigtigste. Cloud er:

  • Automatiseret og API drevet, du kan ved tryk på en knap eller kørsel af et program få din service oprettet.
  • Tilgængeligt, alle og enhver kan købe tjenester, og alle kan tilgå dem.
  • Elastisk og forbrugsafregnet, du betaler for, hvad du bruger, og du kan bruge så meget som du vil.

Disse karakteristika har en række fordele - men også ulemper. Det kommer vi lige tilbage til senere. For først skal vi lige have introduceret nogle flere begreber.

Når vi taler IT og Cloud, så taler vi om at have ting “As A Service”. Og fordi tech-miljøet elsker forkortelser, så snakker vi om SaaS, PaaS, IaaS og FaaS (for at nævne de primære). Det kræver jo nok lidt forklaring, så her er eksempler på X as a Service (XaaS bliver det selvfølgelig kaldt…)

Software as a Service (SaaS)

Outlook eller Gmail hvor du benytter softwaren til at sende mails via en browser, mens udbyderen står for, at servicen altid er opdateret og tilgængelig. 

 

Platform as a Service (PaaS)

En standardiseret serviceplatform som kan betragtes lidt som en kombination af SaaS og IaaS. Fx hostingplatforme som er skræddersyede til at hoste bestemte teknologier, men som også har truffet nogle beslutninger om, hvordan ting kører.  

Infrastructure as a Service (IaaS) 

En virtuel maskine hvor du står for operativsystem, og hvad der bliver installeret på serveren, mens udbyderen står for strøm, diske osv.

 

Function as a Service (FaaS, også kendt som Serverless)

Meget specifikke services såsom Amazon Lambda eller Google Cloud Run, hvor du leverer koden, der skal køres, mens udbyderen står for op og nedskalering af al maskineriet der skal til for at drive det.

 

Bemærk for øvrigt hvordan det går fra at være en færdigpakket ydelse (SaaS) til at tilbyde en ekstrem snæver ydelse (FaaS).

De store Public Cloud udbydere såsom Amazon Web Services, Google Cloud og Microsoft Azure udbyder services på alle disse niveauer fra PaaS og ned.

As a Service?

Essensen i “As a Service” er at du som kunde har ansvaret for at bruge servicen rigtigt og opnå din forretningsværdi ved at bruge og bygge oven på servicen. Bruger du den korrekt, vil udbyderen så til gengæld overtage al arbejdet i at drive og udvikle servicen og alt, hvad den har brug for for at fungere. Bagsiden af medaljen er potentielt, at udbyderen bestemmer over udviklingen af servicen. Du skal derfor altid forholde dig til, om det er en positiv eller negativ ting for lige netop din brug af ydelsen.

Husk at en Cloud service aldrig kommer alene. Når man bruger én service, vil man altid bruge et par andre. Hav derfor altid den komplette liste af produkter for øje, når du vurderer en given service.  

Her er eksempler på spørgsmål der kan bruges, når man vil forholde sig til, om man vil bruge et udvalg af services og vil vurdere, had det kan i forhold til den løsning, man vil lave:
 

  • Hvordan ser vi servicen udvikle sig i fremtiden, er det områder, det er relevant at kunne differentiere sig på ift. konkurrenter?
  • Hvilke relevante områder tager servicen sig ikke af?
  • Hvilke andre services afhænger servicen af?
  • Udbydes der andre relaterede services, jeg bør forholde mig til?
  • Hvad er den økonomiske model (f.eks. forbrugsafregning) og passer den med den funktionalitet, jeg bygger oven på den?
  • Passer ydelsen med vores ambitioner om hastighed/forbrug/sikkerhed?
  • Hvor meget binder jeg mig til leverandøren, og er det vigtigt?

Ultimativt skal spørgsmålene formes af den løsning, du skal bygge. Der er stor forskel på behovene for en landespecifik applikation, der skal betjene en niche, og et internationalt produkt, der skal kunne installeres i forskellige Clouds.

Erfaringer fra virkeligheden

Lad os tage nogle eksempler fra Reload og vores virkelighed, så bliver det lidt nemmere at forstå. I Reload bygger vi avancerede digitale løsninger for at løse komplekse forretningsproblemer. Et større brug af Cloud har for vores vedkommende betydet:

  • Standardisering og forsimpling af driften af mange af vores løsninger.
  • En langt større mulighed for automatisering.
  • Muliggørelse af nye forretningsområder. 

Standardisering af driften

Forsimpling af driften betyder for os, at vi som bureau kan fokusere på at bruge vores kunders penge bedst muligt på det, vi er bedst til - udvikling. Før i tiden lå ansvaret for at vedligeholde de servere, som lå bag en applikation i en gråzone imellem os og en driftsleverandør. Vi havde også en del forskellige måder at udrulle nye versioner af applikationer. I dag har vi skiftet en stor del af vores hosting af applikationer til produktet Platform.sh, en “Platform as a Service” der blandt andet er god til Drupal. De udstiller en simpel standardiseret måde, vi kan levere kode til dem, som de så udruller på servere, de administrerer og holder ved lige. Denne ansvarsfordeling er tæt på perfekt for mange af vores projekter, hvor detaljerne omkring hostingen ikke er vigtig, så længe kvaliteten holdes indenfor et vist niveau, og vi som udviklere til gengæld får frie hænder til at lave den bedste løsning for kunden.

Vi har med stor glæde brugt platform.sh for kunder som fx Samvirke og Det Danske Spejderkorps  - og ja, vores eget site (spoiler: hvor du er nu) er sørme også hosted på Platform.sh. 

Automatisering

I vores daglige arbejde med udvikling gør vi meget for at automatisere de manuelle arbejdsgange. Det kan være afvikling af tekniske tests, automatiseret detektering af utilsigtede visuelle ændringer eller at holde øje med sikkerhedsopdateringer. I gamle dage vedligeholdte vi selv en serverpark et sted i Glostrup til byg og tests. De servere blev ikke holdt så opdaterede, som de burde, og en skønne dag blev en af dem hacket, og det endte med at blive en smådyr affære (erhm). Lad os bare sige, at det involverede nogle film der pludselig lå på vores server og blev spredt over hele verden. 

På den ene side var den service som serveren løftede essentiel for vores forretning, men på den anden side var kompetencerne omkring drift og vedligehold af den server ikke en del af vores kerneforretning, og det endte med at koste os.

I dag har vi flyttet al vores automatisering ud i skyen. Vi bruger primært Github Actions, og det giver os en lang række fordele omkring at holde vores versionsstyring og automatiseringen tæt sammen. Men når vi ser tilbage, er den største fordel, vi får faktisk, at vi ikke længere skal holde servere opdateret. Vi fokuserer på at opsætte tests og udvikle features, GitHub tager sig af drift, udvikling og opdatering af infrastrukturen. Det gør os meget mere produktive. 

Nye forretningsområder

Lige netop drift og udvikling af infrastruktur har været et område, vi har holdt os fra i mange år. Ærligt talt har det skyldtes, at vi ikke har haft den dybe ekspertise i hardware, infrastruktur og i særdeleshed alle de arbejdsgange, drift kræver.

I dag varetager vi den fulde drift og udvikling af LokalBolig i Google Cloud og har siden 2020 bygget og drevet en avanceret drifts og udviklingsplatform til Københavns Kommune der driver hundredvis af websites i Azure Cloud efter DevOps principper. Så hvad ændrede sig?

Fællesnævneren for begge løsninger er, at de bygger på Kubernetes og en Cloud. Vi fortæller gerne meget mere om Kubernetes, men det korte af det lange er, at vi med Kubernetes i hånden pludselig kunne fuldautomatisere og skræddersy udrulning og driften af vores applikationer. Kubernetes og den underliggende Cloud tager sig af netværk, diske og alt det infrastruktur, vi ikke er specialister i - og vi kan i stedet koncentrere os om at lave den bedst mulige løsning til kunden.

Fordele og ulemper ved Cloud

Cloud gør altså en del meget nemmere. Det er hurtigt at komme i gang og “næsten gratis” at prøve noget af - fx at teste noget af i nogle uger uden at skulle investere i en masse etablering og hardware. Det giver en masse forretningsmæssige muligheder - lige fra startups der kan lave store forretninger, selvom de kun er få mennesker, til etablerede virksomheder, som pludselig kan rykke hurtigt og prøve ting af - uden at skulle vente et år på IT-afdelingen, som jo per definition aldrig har tid til dig og dine “sjove projekter”. 

Men når noget kan etableres nemt og hurtigt - og tilmed nærmest skaleres uendeligt, jamen så kan du nok også godt regne ud, at det kan være svært at styre. Økonomien kan nemt løbe løbsk, og hvem har egentligt ansvaret for løsningen, dens sikkerhed og økonomi? De traditionelle siloopdelte organisationer render hurtigt på problemer i denne Cloud-verden. 

Så er det vigtigt at nævne, at man ofte tænker på Cloud som noget der er billigt. Det er dog ikke korrekt isoleret set. Det er billigt at komme i gang, dvs. etableringsomkostningerne kan være lave, men du kan fx blive minut afregnet for computerkraft og forbrug, så hvis du ikke tænker dig om, så kan det også blive meget dyrt. Det har vi skam også prøvet. Det er øv.

Her er 4 gode grunde til, at Cloud nu er yderst relevant at forholde sig til:

Standarderne er på plads: En række værktøjer og standarder såsom containers og storage standarder en nået en kvalitet, hvor du som kunde har langt lettere ved at bygge din applikation på en måde, hvor du kan stole på, at en Cloud leverandør kan køre den, uden du skal bekymre dig om, hvordan de gør.

 

Udbuddet er på plads: Varerne på hylderne hos de tre største Cloud providere (Amazon, Microsoft, Google) er nået en kritisk masse og en kvalitet, hvor du nu kan være sikker på at få 99% af dine behov opfyldt. Det er med andre ord muligt at gå all-in på Cloud uden at risikere at mangle en tjeneste. 
 

Nye økonomiske muligheder: Særligt automatisering gør det muligt for dig at tilpasse dit forbrug til dit behov i realtid. Du kan lade være med at betale for, hvad du ikke bruger, og du kan få adgang til nærmest uendelige ressourcer, når du har brug for dem. 
 

Konkurrencedygtighed: Hvis du gør dig god i Cloud, får du en langt større mulighed for at konkurrere. Du kan tilpasse dit forbrug ved at inddrage netop de services, du har brug for.

Så hvad skal jeg passe på?

Træerne vokser naturligvis ikke ind i skyerne (høh høh), så lige så vel som Cloud giver dig muligheder, er der også en masse faldgruber:

  • Datasikkerhed og i særdeleshed GDPR er et område, hvor Cloud kan være problematisk i skrivende stund. Det er derfor essentielt, at du ved, hvornår du kan og ikke kan benytte dig af Cloud. De ovenstående punkter betyder, at det kan være risikabelt ikke at holde sig væk fra Cloud af princip.
  • Uddannelse og transformation - Cloud bringer rigtig meget nyt med sig og udfordrer, hvordan du arbejder og ansvarsfordelingen og mandat i organisationen.
  • Investering og eksperimentering. Med alle disse muligheder kommer også krav til, hvordan du afprøver og får fordel af mulighederne. Det stiller store krav til, hvordan du som organisation kan arbejde med eksperimentering og investeringer.

Selvfølgelig har vi også skrevet en e-bog

Dette var blot et udsnit af de muligheder og udfordringer, Cloud giver. Hvis du er interesseret i at høre mere om vores læringer med Cloud, har vi skrevet en e-bog med 5 konkrete erfaringer, vi har gjort os. Hvis du er mere til levende billeder, fortæller jeg her endnu mere om, hvad Cloud er, og hvad du skal være opmærksom på i din rejse ud i skyerne.

Du er selvfølgelig også velkommen til at tage fat i mig for at høre mere. Jeg er partner, senior udvikler og software arkitekt i Reload - og så må jeg tilstå at have et hjerte der banker for Cloud. 

 

Tel: 29841615

mads@reload.dk