I dag fik jeg en tanke omkring Amazon Web Services, som er værd at dele. De fleste kender Amazon som en udenlandsk internetbutik med et enormt udvalg, men Amazon driver også en kæmpe serverpark, der holder mange andre netbutikker online. Den del af forretningen hedder Amazon Web Services (forkortet AWS), og det er den vi skal kigge nærmere på i det her indlæg.
Forestil dig at det er Black Friday. Du står i en enooorm lang kø i en butik, og er ved at være en lille smule træt af at vente for at kunne betale for dine varer. Medmindre du har fået et slagtilbud af en anden verden, er det ikke nødvendigvis positive tanker om din igangværende “indkøbsoplevelse”, der trænger sig på.
Forestil dig så, at du ikke er en del af køen. Du ankommer i stedet til butikken fordi du gør dig håb om at købe en bestemt vare til nedsat pris. Du ser køen og tænker: “Nej, det har jeg simpelthen ikke tålmodighed til”. Tilbage til parkeringspladsen, ind i bilen, hjem i varmen!
Forestil dig at du er indehaveren af butikken, der observerer kunder som forlader parkeringspladsen helt uden varer. Du ved som indehaver at noget af det værste du kan udsætte kunder for, er at få dem til at køre forgæves. Kunder er nogen utålmodige typer, der gerne vil have deres behov opfyldt, når de opstår (På et eller andet punkt er vi vist alle sammen kunder).
Kan det blive værre tænker du? Ja, det kan det! Forestil dig nu at der ikke alene er kø, men butikken er så prop-fyldt at ingen kan bevæge sig. Folk kan ikke nå frem til de varer de gerne vil købe, og dem der er nået frem til varerne kan ikke komme til kassen, pga. trængsel. Alt står stille. Som indehaver kan du slet ikke høre lyden kasseapparatet, der spiller en melodi om en rekordomsætning. I stedet er der kun lyden af frustrerede mennesker, der bander din butiksindretning langt væk. Folk er ikke bare kørt forgæves, de er kørt forgæves OG de er frustrerede.
Lyder det urealistisk? Hvor har alle de folk parkeret? Burde brandmyndighederne ikke have sat ind for at undgå det? Jo, i den virkelige verden, der burde de. I det sidste eksempel er vi bare ikke i den virkelige verden, vi er på internettet!
Når en webshop holder brandsalg, er der ingen fysiske begrænsninger i form af parkeringspladser, kubikmeter, hyldemeter, osv. Til gengæld er der andre fysiske begrænsninger, der relaterer sig til diskplads, processor-hastighed, RAM, osv. Hver besøg på en hjemmeside kræver at der bliver flyttet bits og bytes mellem serveren som hjemmesiden ligger på og de computere kunderne sidder på. Hvis der er alt for høj aktivitet, og der ikke er gjort særlige foranstaltninger, kan serveren bukke under, og INGEN får adgang til siden. Du kender det måske, hvis du har villet købe billetter til en længe ventet koncert. Billetsiden går ned i det øjeblik billetsalget starter, med stor frustration til følge.
Det værste er, at selv dem der slet ikke har tænkt sig at købe noget, men som bare er ude for at “ose” på siden, belaster også serveren. En kæmpe kilde til frustration for kunderne, og dermed også for ejeren af webshoppen!
Men vent lige… skulle det her ikke handle om Amazon? Jo, og det kommer vil til nu! For hvad gør man hvis man har verdens største webshop, og ind imellem gerne vil tiltrække kunder med gode tilbud? Når hele verden er potentielle kunder er der risiko for at blive løbet over ende hele tiden, medmindre serverparken er dimensioneret på en måde, der svarer til at starte bilen for at komme over til naboen!
Jeg tror det var her ideen til Amazon Web Services opstod. Simple belastningsprofiler af Amazon’s enorme serverpark har sikkert vist en kapacitetsudnyttelse der var helt til hundene. Det kunne f.eks. sammenlignes med at Bilka havde 500 kasseapparater hele året, fordi de én gang om året har gode tilbud på Black Friday.
Her er der nogen dygtige ingeniører (eller økonomer) der har tænkt: “Hey, alt den kapacitet vi har for at kunne klare vores spidsbelastninger, den må vi da kunne sælge de 364 dage vi ikke har behov for den”
Det er lige præcis det AWS gør muligt. Du kan – mod betaling – få lov at tappe ind i Amazon’s enorme serverpark, og undgå at skulle bekymre dig om ressourcemangel i situationer med spidslast. Fidusen er så, at forskellige virksomheder har forskellige belastningsprofiler. Nogen hjemmesider betjener primært folk tidligt på dagen, nogen gør det sidst på dagen, og igen andre har kun ganske få dage om året med ekstrem belastning.
Alle de her forskellige hjemmesider skulle i princippet dimensionere deres serverpark efter deres behov i spidslast, men med AWS kan de nøjes med at købe de ressourcer de skal bruge, og det formentligt til en billigere pris end selv at drive serverparken. Det er indlysende hvor god en forretning det er for de virksomheder, der er kunder hos AWS, men det er måske mindre indlysende hvem det er den bedste forretning for. Det må uden tvivl være Amazon!
Hvis vi leger med tanken om, at Amazon udelukkende selv brugte deres egen serverpark, så ville risikoen for nedbrud stige i takt med efterspørgslen. Dvs. Amazon ville begrænse sine muligheder for at køre særlige kampagner, idet det ville være nødvendigt at tage hensyn til serverkapaciteten. Alternativt skulle virksomheden tilføje serverkapacitet med tiltagende ringere kapacitetsudnyttelse.
I stedet har de nu skabt en platform, hvor der er så stor spredning på belastningen, at mængden af servere er stærk begrænset. Spidserne hos den ene virksomhed bliver udlignet af dalene hos den anden. Det sker fordi det er de samme kunder der lægger serverne ned, når der er billetter til en populær koncert, som når der er udsalg på elektronik.
Tilbage til eksemplet med den fysiske butik, så svarer AWS til, at butikken vokser når kunderne strømmer ind. Tilsvarende skrumper den, når kunder forlader den igen, fordi der er en anden butik der skal bruge pladsen.
AWS er et ekstremt profitabelt foretagne for Amazon, men jeg tror faktisk at det finansielle overskud på AWS er en lillebitte dråbe i havet, i forhold til den værdi AWS har for Amazon’s evne til at ekspandere og udvikle sig!
Pointen med indlægget er, at der kommer meget mere af den her slags i fremtiden. Min bil kan transportere 5 personer 24 timer i døgnet. Pt. bliver den nok brugt gennemsnitligt brugt til at transportere 1 person, 1 time om dagen. Det giver en kapacitetsudnyttelse på 1%. Dvs. at jeg betaler 100% for en bil jeg bruger 1%, lyder det ikke som en dårlig forretning? Men jeg ejer bilen fordi jeg SKAL kunne komme hvorhen jeg vil, hvornår jeg vil! Bilen er dimensioneret efter mit behov i spidslast, dvs. 5 personer.
Det lyder bekendt ikke? Hvis jeg primært kunne køre i en en-personers bil, og ændre mit behov på et splitsekund, hvis jeg skal have en passager med OG betale en brøkdel pr. kørt kilometer, hvorfor skulle jeg så ønske andet? Denne simple argumentation er årsagen til at fremtiden tilhører de selvkørende biler. Når folk i dag er villige til at betale 100% for at bruge 1%, er det økonomiske incitament til at udvikle den nødvendige teknologi, så vanvittigt stort, at de her biler kommer meget hurtigere end folk tror!
Så er vi tilbage ved AWS. At køre bil er en meget kompleks opgave, det kræver enorm computerkraft. Noget vores hjerne er særligt velegnede til. For AWS er det endnu et muligt forretningsområde, skabt af det samme mønster for bedre kapacitetsudnyttelse, der sandsynligvis skabte AWS.