The perfect storm August 29, 2008 11:00 2 months ago
Den perfekte storm er en storm som præcis kan overvindes uden alvorlige komplikationer til følge. Indenfor aktiehandle forsøger man at bygge systemer der kan håndter virkeligt mange handler på kort tid.
For en capture virksomhed betyder det liv eller død at deres systemer kan gennemføre 150.000 handler i sekundet og alle under 5 millisekunder. Samtidig stiger efterspørgsel eksplosivt. Derfor kan de kun overleve hvis deres systemer er bygget til at kunne håndtere fremtidige krav. Altså en perfekt storm på deres system.
Det er den form for udfordringer vi står overfor i den parallelle computer verden. Hvis vores systemer bliver belastet mere end de kan klare bryder de samme. Det sker at en forretning opnår virkelig stor succes og får dermed nye problemer med at klare efterspørgselen. For ledelsen betyder det at de må opmande på alle vigtige poster lige som IT afdelingen skal kunne skalere både hardware og software.
Man taler om lineær skalerbarhed. Linear skalerbarhed har en enorm indvirkning på omkostninger for enhver virksomhed. Denne egenskab vokser betydeligt i applikationer som er basset på on-demand-prissætning. De fleste systemer, især klassiske n-lags arkitektur kan ikke skalere lineært.
Linear skalerbarhed betyder, at systemet er i stand til at øge sin kapacitet i en lineær relation til mængden af ressourcer der tilføres. Fx hvis en server kan behandle 50 transaktioner i sekundet, to servere kan behandle 100, ti servere kan behandle 500 og så videre. Ikke-lineært skalerbare systemer står over for faldende kapacitet for hver supplerende tilvækst. Så mens den første server kan behandle 50, to servere kan kun behandle 85, tre servere vil behandle 110 og så videre. På et eller andet tidspunkt vil et ikke lineært skalerbart system opleve at tilførte ressource ikke giver ekstra kapacitet.
De almindelige årsager til dette omfatter database forbindelser og låse, persistens og transport mekanismer for messaging middleware og ESB. Erfaring siger at traditionelle arkitekturer dvs. n-niveau applikationer ofte står overfor denne påstand. Amdahl’s lov giver os en formel til at beregne hvilken effekt forskellige ting som påvirker vores evne til at skalere. Applikationer kan modsvare flere forskellige egenskaber. Fx kunne man forud set en vis succes og bygge derefter. Nogle brancher skal kunne klarer en ekstra kapacitet på 4000% pr år. Andre applikationer er brygget til at kunne klare spidsbelastning.
Man kan opnå ekstra skalerbarhed gennem ved at designe systemet på en anden måde, skriver udvalgte dele om eller omdefinere systemets arkitektur. Måske er præmisserne for systemet omdefineret og man må tilpasse systemet til de nye præmisser. Et vigtigt punkt er valg af hardware, ofte er de trufne valg meget konservativt og basset på rutine frem for bevis.
Men i alle tilfælde vil det betyde økonomisk katastrofe. De økonomiske aspekter skal holdes oppe imod hvad system-nedetid koster og hvad betyder det at være uden oppetid i en time, et døgn? Kan virksomheden overleve? I vores medie tider er fejl lig med pressebevågenhed. Hvor risikovillig er virksomheden på dette område?
Langt de fleste IT systemer jeg har set kan slet ikke skalere. Ofte skyldes det ikke dårlige teknologi valg men blot ligegyldighed. Teknologien er valgt på forhånd af folk som dårligt kender de essentielle krav til systemet eller til forretningen.
Desværre er skalerbarhed først noget der dukker op efter en mere end “The Perfect Strorm”
By Frank Vilhelmsen - 1 tag: scaling - Add comment


