Skribu VPN-dezajnobriefon, kiun iu povas vere revizii
Revizebla dezajno nomas la fluojn, la posedantojn kaj la malsukcesan kontrakton. Ses kontroloj transformas vagan demandon en unu, kiun iu povas respondi per decido.
Plej multaj dezajnorevizioj haltas ĉe la unua demando, ĉar la peto priskribas produkton anstataŭ decidon. Briefo, kiu nomas la fluojn, la posedantojn kaj la konduton de malsukceso, povas esti respondita en unu kunsido. Briefo, kiu diras konstruu sekuran VPN, tute ne povas esti respondita. Trapasu la ses kontrolojn sube antaŭ ol sendi ion, kaj la revizio iĝas komparo anstataŭ debato.
Unue, ĉu la demando estas decido aŭ deziro
Decido havas alternativojn kaj observon, kiu elektus inter ili. Se vi ne povas nomi, kion vi rigardus por elekti unu, la demando ankoraŭ estas deziro. Skribu la alternativojn unue, eĉ se la listo havas nur du erojn. Poste skribu la kompromison, kiu disigas ilin.
Deziro ankaŭ emas kaŝi la publikon. Diru, kiu devas aprobi la dezajnon, ĉar la sama briefo estas legata malsame de retposedanto, sekureca revizianto kaj financa aprobanto.
Haltu ĉi tie, se la respondo estas neniu, ĉar decidon sen posedanto refaros tiu, kiu plendas plej laŭte. Tio estas problemo de regado, ne de dezajno.
Due, nomu la fluojn kaj la malpermesojn
Listigu la fonton, celon kaj aplikaĵon por ĉiu fluo, kiu devas funkcii. Poste listigu la fluojn, kiuj devas daŭre malsukcesi, ĉar dezajno, kiu silente permesas ilin, ŝanĝis la postulon sen diri tion. Adresoverskueco kaj atingeblo suprenfluen apartenas al ĉi tiu listo kiel limigoj, ne kiel surprizoj.
Estu preciza pri la direkto. Ejo, kiu rajtas komenci konektojn al la ĉefsidejo, estas alia dezajno ol tiu, kiu rajtas akcepti ilin, kaj la diferenco aperas en ĉiu regulo, kiun vi poste skribas.
Notu ankaŭ la klientojn kaj ilian administradan staton, ĉar administrata aparato kun agento povas fari aferojn, kiujn kunportita tekkomputilo ne povas.
Tenu la liston sufiĉe mallonga por testi. Dek fluoj, kiujn vi povas kontroli, estas pli bonaj ol kvardek, kiujn vi ne povas.
Kontrolo 3: apartigu faktojn de supozoj
Marku ĉiun aserton, kiun vi kontrolis, kaj marku tiujn, kiujn vi ne kontrolis. Publika adresado, havebla trafiko kaj administranta aliro estas la tri supozoj, kiuj plej ofte ŝanĝas la respondon. Se unu el ili estas nekonata, diru, kiel la dezajno ŝanĝiĝas, kiam ĝi montriĝas en ajna direkto.
Ilustra reto estas en ordo, kondiĉe ke ĝi estas etikedita. La problemo estas hipoteza filio, kiu silente akiras duan suprenligon aŭ publikan adresblokon, kiun ĝi neniam havis.
Kontrolu la supozon, kiun vi povas kontroli, antaŭ la revizio, ĉar unu mezurita fakto forigas tutan branĉon de diskuto.
ip route get 10.50.0.10
traceroute -n -m 6 10.50.0.10
nc -vz 10.50.0.10 443Kvare, skribu la kontrakton de malsukceso
Diru, kio okazas, kiam la tunelo estas malsupre, kaj estu klara pri la du malsamaj promesoj. Restarigi novajn konektojn post rekonekto estas facile promesi. Konservi sesiojn, kiuj jam estis establitaj tra malsukceso, estas multe pli forta postulo, kaj ĝi limigas la teknologielekton.
Poste decidu la rezervan vojon: bloki la trafikon, direkti ĝin per alia aprobita vojo, aŭ fari ion alian por ĉiu aplikaĵo. Silenta reveno al rekta vojo estas dezajnodedcido eĉ kiam neniu skribis ĝin.
Aldonu la restaŭran celon per simpla lingvo, ekzemple kiom longe ejo rajtas funkcii degradite, kaj kiu deklaras la incidenton.
Kontrolo 5 kaj 6: elektu la kudron kaj registru la ŝanĝon
Elektu unu kudron por debati, ĉar revizio, kiu provas solvi ĉion, solvas nenion. Enkursigado, rajtigado kaj ĉifrado estas tri malsamaj kudroj, kaj briefo devus diri, pri kiu temas la demando. RFC 4301 estas utila rememorigo ĉi tie, ĉar ĝi apartigas politikajn decidojn, protektitan trafikon kaj sekurecajn asociojn anstataŭ trakti ilin kiel unu objekton.
Poste registru, kio ŝanĝiĝis post la decido, inkluzive de la reviziitaj supozoj. Tiu registro estas tio, kio faras la sekvan revizion pli mallonga.
git diff --stat design/vpn-brief.md
grep -n 'assumption' design/vpn-brief.md
ip route get 10.50.0.10Briefo, kiu trapasas ĉiujn ses kontrolojn, produktas demandon kun respondo: la dezajno plenumas la deklaritajn fluojn kaj la kontrakton de malsukceso, aŭ nomita limigo malhelpas ĝin. Kiam la limigo poste ŝanĝiĝas, la registro montras, kiun decidon oni devas reviziti kaj kiu povas resti. Tio faras la ekzercon reuzebla anstataŭ unufoja debato.