Sporet var disken, ikke logind

De første meldinger kom omkring 23:10 amerikansk østkysttid den 26. juli ifølge Microsofts egen registrering, og mandag morgen markerede Xbox' statusside fire serviceområder som alvorligt nedbrud: konto og profil, butik og abonnementer, spil, samt apps og mobil. Xbox Support oplyste på sin officielle kanal, at brugere mødte fejl, når de forsøgte at logge ind, se deres spilbibliotek eller starte spil, og at ingeniørerne arbejdede aktivt på at afbøde problemet. Klokken 9:43 østkysttid oplyste selskabet at have fundet årsagen på alle fire områder, med en løsning der stadig manglede.

Downdetector satte toppen til 3.296 meldinger omkring midnat, faldende til omkring 700 klokken ni om morgenen, hvor 67 procent af klagerne udtrykkeligt nævnte spilstart og ikke logind eller butikken. Den fordeling er det første spor. Havde det været et almindeligt net- eller logindsvigt, ville logind have domineret meldingerne.

Det afgørende detalje er, hvad der ellers holdt op med at virke. Berørte spillere kunne ikke starte hentede titler, og de kunne heller ikke spille diskspil eller bagudkompatible titler. En disk i skuffen er så lokal, som software kan blive. Den fejlede, fordi serverne ikke kunne fuldføre den licenskontrol, en disk kræver, før den starter. Dette var ikke et netnedbrud, der tilfældigvis generede spillere. Det var et nedbrud i rettighedstjenesten, og disken er beviset.

Din tilgængelighed er det laveste af to tal

Ethvert produkt, der kontrollerer en licens ved opstart, arver tilgængeligheden hos den, der kontrollerer. Det giver dig en faktisk tilgængelighed svarende til det mindste af to tal: din applikations og din rettighedstjenestes. Det er simpel regning, og den står næsten aldrig på et instrumentbræt, fordi rettighedslogik som regel bygges én gang, tidligt, af et lille hold, og derefter behandles som rørføring.

Mønstret rækker langt ud over konsoller. Skrivebordssoftware med et aktiveringskald, systemer i eget hus der forespørger antal licenser, indbyggede enheder der validerer ved opstart, industrimaskiner med funktioner bag et abonnement, og enhver løsning hvis logindsti afhænger af en særskilt licenstjeneste: de har alle samme form. Kunden har filerne. Hvad kunden mangler under et nedbrud, er tilladelsen til at køre dem.

Fejltilstanden er desuden usædvanligt skadelig for tilliden, fordi den modsiger det, kunden tror at have købt. Nedetid på en streamingtjeneste er irriterende, men forståelig. Ikke at kunne starte et spil fra en disk, der er din, på en konsol der står foran dig, føles nærmere som et brudt løfte. Den reaktion er ikke urimelig, og i Europa er den ikke blot en reaktion.

I EU holder en gentagen afbrydelse op med at være en ulejlighed

EU-direktivet om aftaler om levering af digitalt indhold og digitale tjenester sætter standarden her, og den er strengere, end de fleste produkthold antager. Foreskriver en aftale løbende levering over en periode, skal det digitale indhold eller den digitale tjeneste være i overensstemmelse med aftalen i hele denne periode. Den erhvervsdrivende hæfter for enhver mangel, der viser sig i leveringsperioden, og ikke kun for tilstanden på salgstidspunktet.

Direktivet tager derefter nedbrud direkte op. Korte afbrydelser af leveringen skal behandles som tilfælde af mangel, når disse afbrydelser er mere end ubetydelige, eller når de gentager sig. Læs den bestemmelse med denne weekend for øje: det var det andet Xbox-nedbrud på to dage, og få dage tidligere havde der været et nedbrud i PlayStation Network. Tærsklen handler ikke kun om, hvor længe en enkelt hændelse varede. Gentagelse er en selvstændig vej til samme resultat, og det er netop fælden for en tjeneste med korte, hyppige udsving frem for ét langt svigt.

Er en mangel fastslået, har forbrugeren ret til at få tjenesten bragt i overensstemmelse med aftalen og, hvis det ikke sker, til et forholdsmæssigt afslag i prisen eller til at hæve aftalen. Om et bestemt nedbrud krydser den linje, er et spørgsmål om de konkrete omstændigheder, og en stor platform absorberer det. Det væsentlige for en mindre udbyder er, at den vurdering findes, og at det er din abonnementsomsætning, der er udsat for den.

Den prøve du bør køre på dit eget produkt i denne uge

Begynd med en optegnelse frem for en arkitekturdebat. List hvert sted i dit produkt, hvor en kundes handling venter på et kald til din infrastruktur efter en tilladelse og ikke efter data: aktivering, validering af pladser, funktionsknapper, opdatering af rettigheder, licenspuls. Skriv for hvert af dem i almindeligt sprog, hvad kunden ser, når det kald fejler. Hold bliver ofte overraskede, fordi fejlstien blev skrevet for år tilbage af nogen, der siden er gået.

Ret derefter de to ting, der er billige at rette. Giv hver licenskontrol en tålmodighedsperiode uden forbindelse, så et forbigående svigt falder tilbage til en forsinkelse og ikke til en lukning, og gør perioden lang nok til at dække en dårlig nat og ikke et dårligt minut. Overvåg for det andet rettighedstjenesten som en selvstændig, kundevendt afhængighed med sin egen alarm, og offentliggør dens status et sted, hvor kunderne kan se den, for under et nedbrud er det fraværet af information, der forvandler irritation til opsigelser.

Microsoft er ovenpå igen inden frokost og mister intet varigt. En mellemstor dansk softwarevirksomhed med et abonnementsgrundlag og en kontrol ved opstart har ikke den pude. Den arkitektoniske lære er gratis i denne uge, og det er den billigste måde at lære den.