Dei fleste designgjennomgangar stoppar på det første spørsmålet, fordi førespurnaden skildrar eit produkt og ikkje ei avgjerd. Ein brief som namngjev straumane, eigarane og feilåtferda, kan svarast på i eitt møte. Ein brief som seier bygg eit trygt VPN kan ikkje svarast på i det heile. Gå gjennom dei seks kontrollane nedanfor før du sender noko, og gjennomgangen blir ein samanliknad i staden for ein debatt.

Først, er spørsmålet ei avgjerd eller eit ønske

Ei avgjerd har alternativ og ei observasjon som ville velja mellom dei. Viss du ikkje kan namngje kva du ville sjå på for å velja eitt, er spørsmålet framleis eit ønske. Skriv alternativa ned først, sjølv om lista berre har to punkt. Skriv deretter kompromisset som skil dei.

Eit ønske har òg ein tendens til å skjula publikum. Sei kven som må godkjenna designet, fordi den same briefen blir lesen ulikt av ein nettverksseigar, ein tryggingsgjennomgåar og ein finansgodkjenner.

Stopp her viss svaret er ingen, fordi ei avgjerd utan eigar vil bli gjort på nytt av den som klagar høgast. Det er eit styringsproblem og ikkje eit designproblem.

Deretter, namngje straumane og avvisingane

List opp kjelda, destinasjonen og applikasjonen for kvar straum som må fungere. Deretter listar du opp straumane som må halde fram med å feile, fordi eit design som stillteiande tillèt dei, har endra kravet utan å seia det. Adresseoverlapp og oppstraums nåbarheit høyrer heime på denne lista som avgrensingar og ikkje som overraskingar.

Ver konkret om retninga. Eit stad som kan starta samband til hovudkvarteret, er eit anna design enn eit som kan ta imot dei, og skilnaden synest i kvar regel du skriv etterpå.

Legg merke til klientane og administrasjonstilstanden deira òg, fordi ein administrert eining med ein agent kan gjera ting ein medbrakt berbar ikkje kan.

Hald lista kort nok til å testast. Ti straumar du kan stadfesta, er betre enn førti du ikkje kan.

Kontroll 3: skil fakta frå antakingar

Merk kvar påstand du har stadfesta, og merk dei du ikkje har. Offentleg adressering, tilgjengeleg gjennomstrøyming og administrator tilgang er dei tre antakingane som oftast endrar svaret. Viss ein av dei er ukjend, sei korleis designet endrar seg når den viser seg i den eine eller andre retninga.

Eit illustrativt nettverk er greitt så lenge det er merkt. Problemet er ein hypotetisk filial som stillteiande får ei anna oppstraumsforbinding eller ein offentleg adresseblokk den aldri har hatt.

Stadfest antakinga du kan kontrollera før gjennomgangen, fordi eitt målt faktum fjernar ei heil grein av diskusjonen.

ip route get 10.50.0.10
traceroute -n -m 6 10.50.0.10
nc -vz 10.50.0.10 443

For det fjerde, skriv feilkontrakten

Sei kva som skjer når tunnelen er nede, og ver tydeleg på dei to ulike løfta. Å gjenoppretta nye samband etter ei gjenoppkopling er lett å lova. Å bevara økter som allereie var etablerte gjennom ein feil, er eit mykje sterkare krav, og det avgrensar teknologivalet.

Deretter bestemmer du reservevegen: blokker trafikken, rut han via ein annan godkjend veg, eller gjer noko anna per applikasjon. Eit stille tilbakefall til ein direkte veg er ei designavgjerd sjølv når ingen har skrive han ned.

Legg til gjenopprettingsmålet i klart språk, til dømes kor lenge eit stad kan drivast degradert, og kven som erklærer hendinga.

Kontroll 5 og 6: vel sømmen og registrer endringa

Vel éin søm å diskutera, fordi ein gjennomgang som prøver å avgjera alt, avgjer ingenting. Ruting, autorisasjon og kryptering er tre ulike sømar, og briefen bør seia kva for ein av dei spørsmålet gjeld. RFC 4301 er ei nyttig påminning her, fordi ho skil policyavgjerder, verna trafikk og tryggingsassosiasjonar i staden for å handsama dei som eitt objekt.

Registrer deretter kva som endra seg etter avgjerda, inkludert antakingane som vart reviderte. Den registreringa er det som gjer den neste gjennomgangen kortare.

git diff --stat design/vpn-brief.md
grep -n 'assumption' design/vpn-brief.md
ip route get 10.50.0.10

Ein brief som klarer alle seks kontrollane, gir eit spørsmål med eit svar: designet oppfyller dei angjevne straumane og feilkontrakten, eller ei namngjeven avgrensing forhindrar det. Når avgrensinga endrar seg seinare, viser registreringa kva avgjerd som må vurderast på nytt, og kva som kan stå. Det gjer øvinga gjenbrukbar i staden for ein eingongsdebatt.

Relaterte artiklar