Skrevet af George Anadiotis, medvirkende skribent George Anadiotis Bidragende skribent
George Anadiotis fik teknologi, data og medier, og han er ikke bange for at bruge dem.
Fuld bio udgivet i Big on Data den 23. februar 2022 | Emne: Cloud
Skyen er blevet de facto-standarden for applikationsimplementering. Kubernetes er blevet de facto-standarden for applikationsimplementering. Optimal tuning af applikationer implementeret på Kubernetes er et bevægende mål, og det betyder, at applikationer kan være underpræsterende eller overforbrug. Kunne det problem på en eller anden måde løses ved hjælp af automatisering?
Det er et meget rimeligt spørgsmål at stille, et som andre også har stillet. Efterhånden som Kubernetes udvikler sig og bliver mere kompleks med hver iteration, og mulighederne for implementering i skyen breder sig, bliver finjustering af applikationsimplementering og drift stadig sværere. Det er den dårlige nyhed.
Den gode nyhed er, at vi nu har nået et punkt, hvor Kubernetes har eksisteret i et stykke tid, og tonsvis af applikationer har brugt det gennem hele dets levetid. Det betyder, at der er en mængde viden – og altafgørende, data – der er blevet akkumuleret. Hvad dette til gengæld betyder, er, at det burde være muligt at bruge maskinlæring til at optimere applikationsimplementering på Kubernetes.
StormForge har gjort det siden 2016. Hidtil har de været rettet mod præ-deployment-miljøer . Fra i dag er de også målrettet Kubernetes i produktionen. Vi talte med CEO og grundlægger Matt Provo for at diskutere ins og outs af StormForges tilbud.
Optimering af Kubernetes med maskinlæring
Da Provo grundlagde StormForge i 2016 efter en lang periode som produktchef hos Apple, var målet at optimere, hvordan elektricitet forbruges i store HVAC- og produktionsudstyr ved hjælp af maskinlæring. Virksomheden brugte Docker til sine implementeringer, og på et tidspunkt i slutningen af 2018 løftede de og skiftede til Kubernetes. Det var her, de fandt den perfekte usecase for deres kernekompetence, som Provo udtrykte det.
Et omdrejningspunkt, et opkøb, $68 mio. i finansiering og mange kunder senere annoncerer StormForge i dag Optimize Live, den seneste udvidelse til sin platform. Platformen bruger maskinlæring til intelligent og automatisk at forbedre applikationens ydeevne og omkostningseffektivitet i Cloud Native produktionsmiljøer.
Den første ting at bemærke er, at StormForges platform allerede havde gjort det for præproduktions- og ikke-produktionsmiljøer. Ideen er, at brugerne angiver de parametre, som de ønsker at optimere til, såsom CPU eller hukommelsesforbrug.
Så spinner StormForge forskellige versioner af applikationen op og vender tilbage til brugerens konfigurationsmuligheder for at implementere applikationen. StormForge hævder, at dette typisk resulterer i et sted mellem 40 % og 60 % omkostningsbesparelser og et sted mellem 30 % og 50 % stigning i ydeevnen.
Det er dog vigtigt også at bemærke, at dette er et multi-objektiv optimeringsproblem. Det betyder, at mens StormForges maskinlæringsmodeller vil forsøge at finde løsninger, der skaber balance mellem de forskellige mål, der er sat, vil det typisk ikke være muligt at optimere dem alle samtidigt.
Jo flere parametre, der skal optimeres , jo sværere er problemet. Typisk angiver brugere op til 10 parametre. Hvad StormForge ser, sagde Provo, er et kontinuum af omkostnings-ydelse.
I produktionsmiljøer er processen ens, men med nogle vigtige forskelle. StormForge kalder dette platformens observationsside. Telemetri- og observerbarhedsdata bruges via integrationer med APM-løsninger (Application Performance Monitoring) såsom Prometheus og Datadog.
Optimize Live giver så næsten realtidsanbefalinger, og brugere kan vælge enten at anvende dem manuelt, eller brug, hvad Provo kaldte “sæt og glem.” Det vil sige, lad platformen vælge at anvende disse anbefalinger, så længe visse brugerdefinerede tærskler er opfyldt:
“Målet er at give tilstrækkelig fleksibilitet og en brugeroplevelse, der gør det muligt for udvikleren selv at specificere de ting, de holder af. Det er de mål, jeg skal holde mig inden for. Og her er mine mål. Og fra det tidspunkt fremad, maskinen læring sætter ind og tager over. Vi vil give ti, hvis ikke hundredvis af konfigurationsmuligheder, der opfylder eller overgår disse mål,” sagde Provo.
Den fine linje med Kubernetes i produktion
Der er en meget fin linje mellem at lære og observere fra produktionsdata og live tuning i produktionen, fortsatte Provo med at tilføje. Når du krydser den grænse, er risikoniveauet uoverskueligt og uholdbart, og det ville StormForge-brugere ikke ønske — det var deres utvetydige svar. Det, brugerne bliver præsenteret for, er muligheden for at vælge, hvor deres risikotolerance er, og hvad de er komfortable med fra et automatiseringssynspunkt.
I præproduktionen bliver de forskellige konfigurationsmuligheder for applikationer load-testet via software, der er skabt til dette formål. Brugere kan medbringe deres egen præstationstestløsning, som StormForge vil integrere med, eller bruge StormForges egen præstationstestløsning, som blev bragt ombord gennem et opkøb.
Historisk set har dette været StormForges største datainput til sin maskine læring, sagde Provo. At sparke den i gang var dog ikke let. StormForge var rig på talent, men fattig på data, som Provo udtrykte det.
For at bootstrap sin maskinlæring gav StormForge sine første store kunder meget gode tilbud til gengæld for retten til at bruge dataene fra deres use cases. Det fungerede godt, og StormForge har nu bygget sin IP op omkring maskinlæring til multi-objektive optimeringsproblemer.
Mere specifikt omkring Kubernetes-optimering. Som Provo bemærkede, er fundamentet der, og alt, hvad der skal til for at finjustere til hver specifik brugssag og hver ny parameter, er et par minutter, uden yderligere manuel justering.
Der er en lille smule læring, der finder sted, men overordnet set ser StormForge dette som en god ting. Jo flere scenarier og flere situationer platformen kan støde på, jo bedre ydeevne kan det være.
I produktionsscenariet konkurrerer StormForge på en måde mod Kubernetes selv. Kubernetes har automatisk skaleringsfunktioner, bot vertikalt og vandret, med VPA (Vertical Pod Autoscaler) og HPA (Horizontal Pod Autoscaler).
StormForge arbejder med VPA og planlægger også at arbejde med HPA for at tillade, hvad Provo kaldte tovejs intelligent skalering. StormForge måler den optimering og værdi, der leveres i forhold til, hvad VPA og HPA anbefaler for brugeren i et Kubernetes-miljø.
Selv i produktionsscenariet, sagde Provo, ser de omkostningsbesparelser. Ikke helt så højt som præproduktionsmulighederne, men stadig 20 % til 30 % omkostningsbesparelser og typisk 20 % forbedring af ydeevnen.
Provo og StormForge går så langt som til at tilbyde en garanti for reduktion af affald i skyen. StormForge garanterer en minimal 30 % reduktion af Kubernetes cloud-applikationsressourceomkostninger. Hvis besparelserne ikke matcher de lovede 30 %, betaler Provo forskellen til din cloud-regning i 1 måned (op til 50.000 USD/kunde) og donerer det tilsvarende beløb til en grøn velgørenhedsorganisation efter eget valg.
Hvornår spurgte, sagde Provo, at han ikke behøvede at honorere denne forpligtelse endnu en gang til dato. Efterhånden som flere og flere mennesker flytter til skyen, og flere ressourcer forbruges, er der en direkte forbindelse til skyaffald, som også er relateret til CO2-fodaftryk, fortsatte han med at tilføje. Provo ser StormForge som en stærk missionsorienteret side.
Fremhævede
iPhone-ejere: Det er på tide at slippe af med disse Microsoft publicerer med detaljer om sin 'Singularity' AI infrastrukturtjeneste Ransomware-ofre betaler op. Men skurkene kommer tilbage efter mere AWS: Her er grunden til, at vi investerer i Rust-programmeringssproget Big Data Analytics | Digital transformation | Datacentre | CXO | Innovation | Opbevaring