Većina pregleda dizajna zapne na prvom pitanju, jer zahtjev opisuje proizvod, a ne odluku. Brief koji imenuje tokove, vlasnike i ponašanje pri kvaru može se riješiti na jednom sastanku. Brief koji kaže izgradite siguran VPN ne može se riješiti nikako. Prođite kroz šest provjera ispod prije nego što bilo šta pošaljete, i pregled se pretvara u poređenje umjesto u raspravu.

Prvo, da li je pitanje odluka ili želja

Odluka ima alternative i zapažanje koje bi odabralo između njih. Ako ne možete navesti u šta biste gledali da odaberete jednu, pitanje je još uvijek želja. Prvo zapišite alternative, čak i ako lista ima samo dvije stavke. Zatim zapišite kompromis koji ih razdvaja.

Želja takođe sklona skrivanju publike. Recite ko mora odobriti dizajn, jer se isti brief različito čita vlasniku mreže, recenzentu sigurnosti i finansijskom odobravaocu.

Zaustavite se ovdje ako je odgovor niko, jer odluku bez vlasnika će ponovo donijeti onaj ko se najglasnije žali. To je problem upravljanja, a ne problem dizajna.

Drugo, imenujte tokove i odbijanja

Navedite izvor, odredište i aplikaciju za svaki tok koji mora raditi. Zatim navedite tokove koji moraju nastaviti da padaju, jer dizajn koji ih tiho dopušta promijenio je zahtjev bez da je to rekao. Preklapanje adresa i dostupnost uzvodno pripadaju ovoj listi kao ograničenja, a ne kao iznenađenja.

Budite precizni u pogledu smjera. Lokacija koja smije započeti veze prema sjedištu je drugačiji dizajn od one koja ih smije prihvatati, a razlika se vidi u svakom pravilu koje poslije napišete.

Zabilježite i klijente i stanje njihovog upravljanja, jer upravljani uređaj sa agentom može raditi stvari koje laptop koji donosite sa sobom ne može.

Držite listu dovoljno kratkom da se može testirati. Deset tokova koje možete provjeriti bolje je od četrdeset koje ne možete.

Provjera 3: odvojite činjenice od pretpostavki

Označite svaku tvrdnju koju ste provjerili, i označite one koje niste. Javno adresiranje, dostupni protok i administrativni pristup su tri pretpostavke koje najčešće mijenjaju odgovor. Ako je jedna od njih nepoznata, recite kako se dizajn mijenja kada se pokaže u bilo kojem smjeru.

Ilustrativna mreža je u redu dok je označena. Problem je hipotetička podružnica koja tiho dobije drugi uzvodni link ili javni blok adresa koji nikada nije imala.

Provjerite pretpostavku koju možete provjeriti prije pregleda, jer jedna izmjerena činjenica uklanja cijelu granu rasprave.

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

Četvrto, napišite ugovor o kvaru

Recite šta se dešava kada je tunel pao, i budite eksplicitni o dva različita obećanja. Vraćanje novih veza nakon ponovnog spajanja lako je obećati. Čuvanje sesija koje su već uspostavljene kroz kvar je mnogo jači zahtjev i ograničava izbor tehnologije.

Zatim odlučite rezervni plan: blokirajte saobraćaj, usmjerite ga drugim odobrenim putem ili uradite nešto drugačije po aplikaciji. Tihi povratak na direktan put je dizajnerska odluka čak i kada je niko nije zapisao.

Dodajte cilj oporavka jednostavnim jezikom, na primjer koliko dugo lokacija smije raditi u pogoršanom stanju i ko proglašava incident.

Provjera 5 i 6: odaberite šav i zabilježite promjenu

Odaberite jedan šav o kojem ćete raspravljati, jer pregled koji pokušava riješiti sve ne rješava ništa. Rutiranje, autorizacija i šifrovanje su tri različita šava, i brief treba reći o kojem je pitanje. RFC 4301 je ovdje koristan podsjetnik, jer razdvaja političke odluke, zaštićeni saobraćaj i sigurnosne asocijacije umjesto da ih tretira kao jedan objekat.

Zatim zabilježite šta se promijenilo nakon odluke, uključujući pretpostavke koje su revidirane. Taj zapis čini sljedeći pregled kraćim.

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

Brief koji prođe svih šest provjera daje pitanje sa odgovorom: dizajn ispunjava navedene tokove i ugovor o kvaru, ili ga imenovano ograničenje sprječava. Kada se ograničenje kasnije promijeni, zapis pokazuje koja odluka se mora ponovo razmotriti, a koja može ostati. To čini vježbu ponovo upotrebljivom, a ne jednokratnom raspravom.

Povezani članci