Οι περισσότερες αξιολογήσεις σχεδίασης κολλάνε στην πρώτη ερώτηση, επειδή το αίτημα περιγράφει ένα προϊόν και όχι μια απόφαση. Ένα σχέδιο που ονομάζει τις ροές, τους υπεύθυνους και τη συμπεριφορά αποτυχίας μπορεί να απαντηθεί σε μία συνάντηση. Ένα σχέδιο που λέει φτιάξτε ένα ασφαλές VPN δεν μπορεί να απαντηθεί καθόλου. Περάστε τους έξι ελέγχους παρακάτω πριν στείλετε οτιδήποτε, και η αξιολόγηση γίνεται σύγκριση αντί για αντιπαράθεση.

Πρώτον, η ερώτηση είναι απόφαση ή επιθυμία

Μια απόφαση έχει εναλλακτικές και μια παρατήρηση που θα διάλεγε μεταξύ τους. Αν δεν μπορείτε να ονομάσετε τι θα κοιτάζατε για να διαλέξετε μία, η ερώτηση είναι ακόμη επιθυμία. Γράψτε πρώτα τις εναλλακτικές, ακόμη και αν η λίστα έχει μόνο δύο στοιχεία. Μετά γράψτε τον συμβιβασμό που τις χωρίζει.

Μια επιθυμία τείνει επίσης να κρύβει το κοινό. Πείτε ποιος πρέπει να εγκρίνει τη σχεδίαση, γιατί το ίδιο σχέδιο διαβάζεται διαφορετικά από έναν υπεύθυνο δικτύου, έναν αξιολογητή ασφαλείας και έναν εγκριτή χρηματοδότησης.

Σταματήστε εδώ αν η απάντηση είναι κανείς, γιατί μια απόφαση χωρίς ιδιοκτήτη θα ξαναγίνει από όποιον διαμαρτύρεται πιο δυνατά. Αυτό είναι πρόβλημα διακυβέρνησης και όχι σχεδίασης.

Δεύτερον, ονομάστε τις ροές και τις αρνήσεις

Καταγράψτε την πηγή, τον προορισμό και την εφαρμογή για κάθε ροή που πρέπει να λειτουργεί. Μετά καταγράψτε τις ροές που πρέπει να συνεχίσουν να αποτυγχάνουν, γιατί μια σχεδίαση που τις επιτρέπει σιωπηρά έχει αλλάξει την απαίτηση χωρίς να το πει. Η επικάλυψη διευθύνσεων και η προσβασιμότητα ανάντη ανήκουν σε αυτή τη λίστα ως περιορισμοί και όχι ως εκπλήξεις.

Να είστε συγκεκριμένοι για την κατεύθυνση. Μια τοποθεσία που επιτρέπεται να ξεκινά συνδέσεις προς τα κεντρικά είναι διαφορετική σχεδίαση από μία που επιτρέπεται να τις δέχεται, και η διαφορά φαίνεται σε κάθε κανόνα που γράφετε μετά.

Σημειώστε επίσης τους πελάτες και την κατάσταση διαχείρισής τους, γιατί μια διαχειριζόμενη συσκευή με πράκτορα μπορεί να κάνει πράγματα που ένας φορητός υπολογιστής που φέρνει ο χρήστης δεν μπορεί.

Κρατήστε τη λίστα αρκετά σύντομη για δοκιμή. Δέκα ροές που μπορείτε να επαληθεύσετε είναι καλύτερες από σαράντα που δεν μπορείτε.

Έλεγχος 3: χωρίστε τα γεγονότα από τις υποθέσεις

Σημειώστε κάθε δήλωση που έχετε επαληθεύσει και σημειώστε όσες δεν έχετε. Η δημόσια διευθυνσιοδότηση, η διαθέσιμη απόδοση και η πρόσβαση διαχειριστή είναι οι τρεις υποθέσεις που αλλάζουν συχνότερα την απάντηση. Αν μία από αυτές είναι άγνωστη, πείτε πώς αλλάζει η σχεδίαση όταν αποδειχθεί προς τη μία ή την άλλη κατεύθυνση.

Ένα ενδεικτικό δίκτυο είναι εντάξει εφόσον είναι χαρακτηρισμένο. Το πρόβλημα είναι ένα υποθετικό υποκατάστημα που αποκτά σιωπηρά δεύτερη ζεύξη ανάντη ή δημόσιο μπλοκ διευθύνσεων που ποτέ δεν είχε.

Επαληθεύστε την υπόθεση που μπορείτε να ελέγξετε πριν την αξιολόγηση, γιατί ένα μετρημένο γεγονός αφαιρεί ένα ολόκληρο κλαδί συζήτησης.

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

Τέταρτον, γράψτε το συμβόλαιο αποτυχίας

Πείτε τι συμβαίνει όταν το τούνελ είναι κάτω και να είστε σαφείς για τις δύο διαφορετικές υποσχέσεις. Η επαναφορά νέων συνδέσεων μετά από επανασύνδεση είναι εύκολη υπόσχεση. Η διατήρηση συνεδριών που είχαν ήδη καθιερωθεί μέσα σε αποτυχία είναι πολύ ισχυρότερη απαίτηση και περιορίζει την επιλογή τεχνολογίας.

Μετά αποφασίστε την εφεδρεία: μπλοκάρετε την κίνηση, δρομολογήστε την από άλλη εγκεκριμένη διαδρομή ή κάντε κάτι διαφορετικό ανά εφαρμογή. Η σιωπηλή επιστροφή σε άμεση διαδρομή είναι απόφαση σχεδίασης ακόμη και όταν κανείς δεν την έγραψε.

Προσθέστε τον στόχο ανάκαμψης σε απλή γλώσσα, όπως πόσο καιρό μια τοποθεσία μπορεί να λειτουργεί υποβαθμισμένη και ποιος κηρύσσει το περιστατικό.

Έλεγχος 5 και 6: διαλέξτε τη ραφή και καταγράψτε την αλλαγή

Διαλέξτε μία ραφή για να συζητήσετε, γιατί μια αξιολόγηση που προσπαθεί να τακτοποιήσει τα πάντα δεν τακτοποιεί τίποτα. Η δρομολόγηση, η εξουσιοδότηση και η κρυπτογράφηση είναι τρεις διαφορετικές ραφές, και το σχέδιο πρέπει να λέει για ποια είναι η ερώτηση. Το RFC 4301 είναι χρήσιμη υπενθύμιση εδώ, γιατί χωρίζει τις αποφάσεις πολιτικής, την προστατευμένη κίνηση και τις ενώσεις ασφαλείας αντί να τις αντιμετωπίζει ως ένα αντικείμενο.

Μετά καταγράψτε τι άλλαξε μετά την απόφαση, συμπεριλαμβανομένων των υποθέσεων που αναθεωρήθηκαν. Αυτή η καταγραφή είναι που κάνει την επόμενη αξιολόγηση συντομότερη.

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

Ένα σχέδιο που περνά και τους έξι ελέγχους παράγει μια ερώτηση με απάντηση: η σχεδίαση ικανοποιεί τις δηλωμένες ροές και το συμβόλαιο αποτυχίας, ή ένας ονομασμένος περιορισμός την εμποδίζει. Όταν ο περιορισμός αλλάξει αργότερα, η καταγραφή δείχνει ποια απόφαση πρέπει να ξαναδεί και ποια μπορεί να μείνει. Αυτό κάνει την άσκηση επαναχρησιμοποιήσιμη και όχι μια εφάπαξ αντιπαράθεση.

Σχετικά άρθρα