Home

traceroute

2008/10/09

traceroute: Ένα παρεξηγημένο εργαλείο.

Πριν κάτι μέρες έφτασε στο mailbox μου η διαμαρτυρία ενός συνδρομητή (όπου χρειάζεται τα ονόματα έχουν αλλαχτεί):

Για πολλοστή φορά είναι αδύνατη η επικοινωνία της σύνδεσης που έχουμε στο internet μέσω ΤΕΕ με τον server της mitsosworks.

Είναι σίγουρο ότι πάλι υπεύθυνο είναι το ΤΕΕ αφού η mitsosworks μας λέει ότι το πρόβλημα με το ΤΕΕ είναι γνωστό και με άλλους πελάτες και δεν φαίνεται καν επικοινωνία με τον δικό τους server

Τι έχει συμβεί και εξοργίζει τον συνδρομητή; Έχει μια σύνδεση με εμάς και κάνει το web hosting της εταιρίας του στη mitsosworks. Το πρόβλημα; Δεν μπορεί να στείλει email ούτε από εμάς προς εκεί, ούτε από εκεί προς εμάς.

Η γρήγορη διάγνωση της mitsosworks; Το ίδιο πρόβλημα έχουν και άλλοι πελάτες της mitsosworks, ταυτόχρονα δεν έχουν πρόβλημα με κανένα άλλο δίκτυο, άρα είναι πρόβλημα δικό τους.

Oh really?

[ Πριν συνεχίσω: Δεν έχουμε το καλύτερο δίκτυο, δεν είμαστε οι καλύτεροι, δεν έχουμε τις καλύτερες υπηρεσίες και σίγουρα δεν έχουμε τις φτηνότερες. Δεν το έχουμε ισχυριστεί ποτέ αυτό. Αλλά σίγουρα όταν μαθαίνουμε για ένα πρόβλημα, το κυνηγάμε εξαντλητικά. ]

Για να είχε μια δόση σιγουριάς ο ισχυρισμός της mitsosworks, θα έπρεπε η αναμεταξύ μας σύνδεση να είναι κάπως έτσι:

Στην πραγματικότητα η σύνδεση είναι έτσι:

Πολλά πράγματα μπορούν να πάνε στραβά στο σύννεφο του Internet. Αφού λοιπόν o smtp server που παρέχεται στον συνδρομητή από την mitsosworks είναι ο smtp.mitsosworks.biz, ένα

$ traceroute smtp.mitsosworks.biz

αποκαλύπτει την τοπολογία και δείχνει που μπορεί να βρίσκεται το πρόβλημα:

Το βέλος δείχνει που μπορεί να βρίσκεται το πρόβλημα σε μια πρώτη επισκόπηση των αποτελεσμάτων που έβγαζε το traceroute. Τώρα, θα μπορούσαμε να απαντήσουμε και εμείς στον συνδρομητή κάτι της μορφής: “Εντοπίσαμε το πρόβλημα και δεν οφείλεται σε εμάς και το δίκτυό μας. Υπεύθυνοι για το πρόβλημα είναι η εταιρία F.”

Τόσο απλά και λακωνικά θα είχαμε τελειώσει σε ότι μας αφορούσε και για το πρόβλημα του πελάτη και για τη σιγουριά (;) της mitsosworks για το ποιος ευθύνεται.

Θα λυνόταν το πρόβλημα του ανθρώπου; Όχι βέβαια.

Παίρνουμε τηλέφωνο την εταιρία F, που είναι ένας από τους upstream provider μας και βρίσκουμε πως η πραγματική τοπολογία είναι η:

Όπου P ο network provider της mitsosworks. Ακολουθεί απόσπασμα από το email της F σχετικά με το θέμα (τα bold δικά μου):

Σε έλεγχο που έγινε διαπιστώθηκε ότι το xx.yy.0.0/17 ανακοινώνεται μέσω του national bgp, παρόλαυτα επειδή έχει αλλάξει η δρομολόγηση για το δίκτυο αυτό και δεν γίνεται μέσω F αλλά από international δίκτυο, η πρόσβαση από το ΤΕΕ δεν είναι εφικτή.

Στην τηλεφωνική μας ερώτηση “Και γιατί δεν αλλάζετε το national bgp σας τότε;” μας απαντήθηκε “Μα δεν μας έχουν ενημερώσει για την αλλαγή αυτή, είναι πελάτες και δεν μπορούμε εμείς να την κάνουμε αυτοβούλως”. Fair enough.

Και πάλι θα μπορούσαμε να ενημερώσουμε τον συνδρομητή σχετικά, και να σταματήσουμε εδώ. Ήταν δικιά μας ευθύνη; Όχι. Θα λυνόταν το πρόβλημά του; Όχι.

Ρωτάμε λοιπόν την F, “ΟΚ επειδή εμείς θέλουμε να τον βοηθήσουμε τι προτείνετε να κάνουμε;” και η απάντηση ήταν να υλοποιήσουμε μια εξαίρεση. Την υλοποιήσαμε. Η σύνδεση αποκαταστάθηκε. Αποκαταστάθηκε προσωρινά φυσικά γιατί κανείς δεν ξέρει πότε και χωρίς να ενημερώσει κανένα ο P, θα ξανααλλάξει το routing policy.

Και σκέφτομαι τώρα:

  • Ένας άνθρωπος έχει πρόβλημα. Το περιγράφει (καλά / κακά δεν έχει σημασία) στον προμηθευτή της υπηρεσίας του.
  • Ο προμηθευτής για να “κρατήσει” τον πελάτη δεν ψάχνει το ζήτημα, αντίθετα του αναφέρει και άλλα συμπτώματα, τα βαφτίζει ως πρόβλημα και ερεθίζει τον πελάτη.
  • Ο πελάτης στρέφεται εναντίον του άλλου προμηθευτή υπηρεσιών και τον κατηγορεί για ένα πρόβλημα που ποτέ μέχρι εκείνη τη στιγμή δεν ήταν σε γνώση του προμηθευτή #2.
  • Ο προμηθευτής #2 βρίσκει το πρόβλημα, διαπιστώνει πως δεν είναι δικό του και ενημερώνει σχετικά τον πελάτη. Βρίσκεται τώρα σε δίλημα: Να υλοποιήσει μια εξαίρεση “για να κάνει ο άνθρωπος τη δουλειά του”; ή να κάνει το “σωστό” και να μη μπορεί να κάνει ο άνθρωπος τίποτε;

Πόσος χρόνος και κόπος πήγε χαμένος γιατί κάποιος για να ξεφορτωθεί την καυτή πατάτα δεν έτρεξε ένα traceroute;


ΒΑ-ΡΕ-ΘΗ-ΚΑ

#include <std/disclaimer.h>

Update: So you think you know traceroute?


Future disclaimer: Το domain mitsosworks.biz δεν υπήρχε σε χρήση όταν γραφόταν αυτό το κείμενο

Advertisements

12 Responses to “traceroute”

  1. HSOC Says:

    ερώτηση: γιατί δεν μπορούσε να σας δεί από το international δίκτυο; Το πρόβλημα ήταν στην mitsosworks ή στο bgp που τρέχει ο P; (βασικά η ερώτηση είναι: αφού άλλαξε η δρομολόγηση, γιατί συνεχίζει να ανακοινώνεται απο το national bgp;

    Με ενδιαφέρει διότι και στην παλιά δουλειά είχα έναν πελάτη που είχε προσωρινά παρόμοιο προβλ. – μήνες αργότερα ο go-to guy μου είπε τι έφταιγε (άσχετο με την συγκεκριμένη περίπτωση)


  2. ALL-TIME-CLASSIC! (ΝΑΙ, ΦΩΝΑΖΩ)

    Ένας από τους λόγους που βαρέθηκα το administration. Κοντεύω να βαρεθώ και το coding, για αντίστοιχους λόγους. Με βλέπω να το γυρίζω στο ψάρεμα…

  3. Χάρης Says:

    Πείτε στη mitsosworks να σας δώσουν γραπτώς την πεποίθηση τους ότι φταίτε εσείς και μετά ρίξτε τους μια μήνυση για συκοφαντική δυσφήμιση ή κάτι τέτοιο τέλος πάντων.
    Εντάξει, ξέρω ότι δεν γίνεται αυτό που λέω αλλά θα ήταν ωραίο αν γινόταν. :-)

  4. coby Says:

    Αυτή είναι δυστυχώς η πάγια τακτική στην Ελλάδα, ιδίως στον τομέα των ΤΠΕ (Τεχνολογίες Πληροφορικής και Επικοινωνιών): “put the blame on others”. Και δυστυχώς ο τελικός καταναλωτής, ειδικά αυτός που δεν έχει επαφή με το αντικείμενο και το μόνο που θέλει είναι να λειτουργεί η επιχείρησή του ή να κατεβάζει ταινιούλες και mp3, δεν ξέρει σε ποιον να στραφεί ή πού τελικά να τα χώσει.

  5. Aristotelis Says:

    Πόπο τι μου θύμισες τώρα. Ιστορία πριν από πολλά χρόνια όταν προσπαθούσα να αλλάξω την πάγεια πολιτική του “μπάτε σκύλοι αλλέστε” σε κάτι του στύλ “παιδιά πλέον περνάμε μόνο από τις μεγάλες well known τρύπες”. Ένα από τα πρώτα πράγματα που είχα κόψει ήταν η πόρτα 139.
    Μετά απο 1-2 μέρες εξοργισμένος χρήστης από κάποιο κατάστημα που βρισκότανε εντός του δικτύου με παίρνει τηλέφωνο γιατί ξαφνικά σταμάτησε να παίζει το πρόγραμμα που είχανε για να βλέπουνε τα βιβλία την αποθήκη και να κάνουνε παραγγελίες. Με τα πολλά αφού συζητάμε σε ήρεμους τόνους (λέμε τώρα) του εξηγώ πως εγώ δεν φταίω, δεν έχω εμποδίσει τη κίνηση προς αυτούς. Ακολουθεί τηλέφωνο από τον υπεύθυνο δικτύου της εταιρείας ο οποίος προσπαθεί να με πείσει ότι το δικό τους δίκτυο είναι μια χαρά και εγώ έχω κάνει κάτι.
    Αφού τον ρωτάω ποιές πόρτες χρησιμοποιεί για επικοινωνία , και τις ελέγχω μία μία βλέπω πως παίζουνε κανονικά. Άρα λέω εμείς είμαστε οκ δείτε το conf σας. Τον βάζω και τον ίδιο να τις ελέγχει από εκεί να δεί πως έχει connectivity και βλέπει ότι έχει. Την επόμενη μέρα τηλέφωνο από την εταιρεία που φτιάχνει το λογισμικό που να προσπαθούνε να με πείσουνε ότι σε αυτούς όλα καλά και προφανώς είναι δικτυακό πρόβλημα. Καταλήγω να μιλάω με τον “chief programmer” και αφού έχουνε ξαναρχίσει πάλι την κουβέντα πως λειτουργεί δικτυακά το πρόγραμμα , του επαναλαμβάνω πως δεν κόβω καμμία από τις πόρτες. Κάποια στιγμή πάνω στην κουβέντα του λέω: μήπως χρησιμοποιείς και την 139?? Η απάντηση αποκλείεται.
    Ανοίγω εγώ δοκιμαστικά την 139 .. ΞΑΦΝΙΚΑ ΘΑΥΜΑ έπαιζε.
    Τι είχε γίνει: Χρησιμοποιούσανε μια library για το socket που πριν κάνει το connect στην πόρτα που θέλανε έκανε πρώτα ένα connect στην 139, αν αυτό αποτύχαινε τότε έκανε fail όλη η σύνδεση (λόγο netbios). Μετά απο 3 μέρες debugging σε ένα πρόβλημα που μου είχε φορτωθεί και πλέον όλοι ξέρανε πως δεν έφταιγα εγώ, η απάντηση που πήρα ήταν:
    “Η εταιρεία που φτιάχνει το software δεν αλλάζει library (διότι δεν μπορεί να ξαναγράψει το κομμάτι αυτό για ένα μόνο πελάτη), η εταιρεία όμως που έχει το κατάστημα πρέπει να παίξει και δεν είναι δικό τους πρόβλημα το δικό τους δίκτυο είναι ασφαλές, και αφού πριν από καιρό έπαιζε και άλλαξε με το που άλλαξα κάτι εγώ, είναι δικό μου θέμα και να το κάνω να παίζει”.
    Final result: explicit allow ip κίνηση ανάμεσα σε 2 μηχανήματα. Δυστυχώς το δε-φταίω-εγώ-μη-με-σκοτίζετε mode στην περίπτωση δεν έπιασε :(

  6. WiZy Says:

    Συγχαρητήρια για την ανθρωπιά σου Γιώργο. Δεν ξέρω πολλούς που θα λειτουργούσαν έτσι.

  7. adamo Says:

    @HSOC:
    Εμείς παίρνουμε internet feed από τρεις παρόχους. Από τους δύο παίρνουμε ότι “ελληνικό δίκτυο” εξυπηρετούν (αυτό συνήθως το λένε εθνικό traffic) και από τον τρίτο όλα τα υπόλοιπα.

    Εμείς λοιπόν για να πάμε στην mitsosworks πρέπει να περάσουμε από την P, την οποία όμως τη μαθαίνουμε από το traffic που μας δίνει η F (γιατί είναι εθνικό traffic). Η F δεν αλλάζει τον πίνακα, γιατί η P άλλαξε την δρομολόγησή της και δεν την ενημέρωσε. Προφανώς δεν απασχολεί τα δίκτυα που ανακοινώνονται από το ASN της F, αλλά δίκτυα σαν το δικό μας που περνάνε από την F για να φτάσουν στην P. Μπορεί να είμαστε και οι μοναδικοί που περνάμε έτσι για την P, αλλά δεν το ξέρω αυτό.

    @Panagiotis Astithas:
    Μπορείς να μου αγοράσεις και εμένα ένα καλάμι;

    @Χάρης:
    Εμείς δεν είχαμε ποτέ καμία απευθείας επικοινωνία με την mitsosworks.

    @Wizy:
    Θα δεχτώ τα συγχαρητήριά σου για λογαριασμό όλου του NOC. Δεν αποφάσισα μόνος μου τις ενέργειές μας. Είμαστε τόσο λίγοι που μπορούμε να συναποφασίζουμε.

  8. ditw Says:

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

    Τώρα, θα μου πεις, εμείς θα σώσουμε τον κόσμο;

    Και εσείς.

  9. adamo Says:

    @ditw:
    Σε κάθε μας βήμα, ανακάλυψη και ενέργεια ενημερώναμε τον πελάτη μας. Θέλεις να μάθεις τι πιστεύω; Ο πελάτης δεν μας πιστεύει. Αυτό που ξέρει είναι:

    (α) πως η mitsosworks του είπε πως φταίμε εμείς,

    (β) πως διαμαρτυρήθκε σε εμάς και

    (γ) πως μετά από τη διαμαρτυρία του σε εμάς λύθηκε το πρόβλημα. Άρα γιατί να μας πιστέψει και να μη θεωρήσει πως απλά του γράφουμε δικαιολογίες;

    On a personal note: Όχι με την mitsosworks δεν μίλησα. Δεν ξέρω ποιος είναι ο υπεύθυνός τους και δεν θέλω να μάθω. Δεν θέλω άλλο χαμένο χρόνο.

  10. apostolos Says:

    Θέλεις να μάθεις τι πιστεύω; Ο πελάτης δεν μας πιστεύει.

    +1

    έτσι είναι. δυστυχώς :-(
    άσε που αν έχει την έπαρση μέσα του, θα νομίζει ότι είναι ο τσαμπουκαλής τύπος που “αρκεί ένα τηλεφώνημα του, ώστε να μπουν τα πάντα στην θέση τους”.

  11. BruteForce Says:

    Παίδες δυστυχώς η ευρύτερη διαπίστωσή μου είναι ότι γενικά η τεχνολογία είναι ακόμα εντελώς ανώριμη και σε μεγάλο ποσοστό αυτοί που καλούνται να τη *διαχειριστούν* συνήθως ανεκπαίδευτοι.
    Ο ένας δεν ήξερε να κάνει ένα traceroot, ο άλλος δεν ήξερε να κάνει ένα TCPView ή κάτι ανάλογο, και φυσικά όλοι προσπαθούν να εφαρμόσουν το SEP (Someone Else’s Problem) και να πασάρουν το πρόβλημα αλλού, αντί να κοιτάξουν την #1 προτεραιότητα, που δεν είναι άλλη από το να “Εξυπηρετήσουμε τον φουκαρά τον χρήστη”.

    Δυστυχώς ένα σύνδρομο που έχω παρατηρήσει στους ΙΤάδες είναι το εξής: “Εμείς είμαστε τα αφεντικά, users must obey/submit”.
    Δυστυχώς τα πράγματα είναι ανάποδα, οι χρήστες είναι τα αφεντικά και το ΙΤ πρέπει να τους υπηρετεί και να διευκολύνει τη δουλειά τους, πάση θυσία.
    Πόσες φορές έχω ακούσει από το ΙΤ πράγματα του τύπου “Μα αν το κάνουμε αυτό θα γίνει πολύπλοκη η τάδε διαδικασία, θα πρέπει να θυμάμαι να ενημερώνω το active directory κάθε φορά που χαλάτε ένα test PC (1 φορά το μήνα), θα δυσκολέψει εκείνο και το άλλο, κλπ”.

    Σοβαρά; Τι λες ρε φίλε! Εγώ που είμαι ο χρήστης (ενδοεταιρικός ή πελάτης) είμαι που κάνω τη δουλειά που φέρνει το χρήμα στην εταιρία, η δική μου δουλειά πρέπει πρωτίστως να διευκολυνθεί και να αυτοματοποιηθεί όσο γίνεται, και αν αυτό που ζητάω δεν είναι παράλογο και δεν παραβιάζει κανόνες ασφαλείας κλπ, τότε I want it done.

    Φαντάσου δηλαδή εγώ που γράφω software να μου ζητήσουν οι χρήστες ένα feature και να απαντήσω κάτι του στυλ “Πωπω, είναι πολύπλοκο να το κάνω αυτό, και πρέπει μετά να έχω άλλο branch, και πρέπει να αγοράσω και ένα library, κλπ κλπ κλπ”.
    Θα με πάρουν με τις λεμονόκουπες φυσικά! Δεν τους αφορά τι δυσκολίες αντιμετωπίζω εγώ, δουλειά μου είναι να τους δίνω το software που χρειάζονται για να κάνουν τη δουλειά τους όσο καλύτερα γίνεται. ΕΓΩ υπηρετώ ΑΥΤΟΥΣ, not the other way. Και φυσικά ΑΥΤΟΙ με “ταϊζουν”, αυτοί βάζουν το χρήμα στο πορτοφόλι μου στο τέλος κάθε μήνα.

    Και ναι, συχνά χρειάζεται και εγώ να βάλω κάποια “exceptions” στον κώδικα για να μην χαλάσω υπάρχοντα προγράμματα, που σημαίνει ότι γράφω έξτρα κώδικα, αλλά… that’s the deal.
    Εύγε σου Γιώργο που πάσχισες να βρεις λύση στο πρόβλημα του φουκαρά του χρήστη. Και λες τι θα γίνει όταν ο άλλος provider ξαναλλάξει το routing του; Ε βάλε και ένα demon κάπου να κάνει κάθε 3 ώρες ένα δοκιμαστικό connection σε κάποιο server του και την ημέρα που αποτύχει 5 φορές στη σειρά να σου στέλνει ένα mail.
    Τι να κάνουμε, that’s the deal, πολλές φορές εμείς πρέπει να κάνουμε έξτρα δουλειά για να μην χαλάει το “σύστημα” όταν οι *άλλοι* δεν κάνουν καλά τη δουλειά τους.
    Εμένα πάντως έχει προ πολλού σταματήσει να με εξοργίζει/εκνευρίζει αυτό, το έχω κάνει μέρος της νοοτροπίας μου: Don’t expect others to do their job properly/optimally; I must make sure the user is happy/satisfied no matter what.

    Και αν το βρίσκετε δύσκολο να υιοθετήσετε τέτοια νοοτροπία, δοκιμάστε το εξής απλό τρυκ: Την επόμενη φορά που ταϊζεις το παιδί σου, σε κάθε μπουκιά λέγε “Αυτή είναι από τον Χατζηπαπαγερασιμίδη, αυτή από τον παπαχατζησταυρίδη, κλπ”, και σιγά σιγά θα τους δεις με άλλο μάτι…

  12. adamo Says:

    @Brute Force:
    Γράφεις πολλά. Σε μερικά βρισκόμαστε σε violent agreement και σε μερικά σε violent disagreement. Θα περιοριστώ σε αυτά που διαφωνούμε:

    “να κοιτάξουν την #1 προτεραιότητα, που δεν είναι άλλη από το να “Εξυπηρετήσουμε τον φουκαρά τον χρήστη”.

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

    Έχω βαρεθεί να εξηγώ στο φουκαρά τον χρήστη πως δεν μπορώ να αλλάξω τους νόμους της Φυσικής για να τρέξει πιο γρήγορα το ad-hoc query που αυτός έγραψε και τρέχει σε μια βάση που αυτός σχεδίασε.

    Υπηρετώ τα μηχανήματα και όχι το χρήστη, ώστε να υπάρχουν μηχανήματα για να κάνει τη δουλειά του.

    “εγώ που είμαι ο χρήστης (ενδοεταιρικός ή πελάτης) είμαι που κάνω τη δουλειά που φέρνει το χρήμα στην εταιρία”

    Αυτό είναι πραγματικά εξοργιστικό. I have news for you. Χωρίς εμένα δεν μπορείς να φέρεις λεφτά! Για την ακρίβεια τα φέρνεις επειδή υπάρχω και δουλεύω και όχι το ανάποδο. Ο Εσθονικός Κυβερνοπόλεμος μας το απέδειξε: Όλος ο κυβερνητικός μηχανισμός της χώρας ήταν στη θέση του, αλλά δεν υπήρχε σύστημα για να δουλέψει! Και επειδή δεν είχαν “χάρτινες” διαδικασίες, κυριολεκτικά σταμάτησε η χώρα.

    [Test case: “Κλείσε το διακόπτη” και εάν συνεχίσεις να φέρνεις λεφτά στην εταιρία, τότε εσύ πραγματικά τα φέρνεις μόνος σου. Διαφορετικά δεν τα φέρνεις μόνος σου. ]

    Δεν είμαστε υπηρέτες κανενός χρήστη. Είμαστε ισότιμα μέρη που εργάζονται για το mission statement και τα βασικά goals του οργανισμού. Όποιος το βλέπει διαφορετικά, δημιουργεί πρόβλημα (και οι πρώτοι που το δημιουργούν είναι όσοι θεωρητικοποιούν τα MIS, που πάντα μα πάντα υποτιμούν το ρόλο του administrator).

    “η δική μου δουλειά πρέπει πρωτίστως να διευκολυνθεί και να αυτοματοποιηθεί όσο γίνεται”

    Όχι απαραίτητα: Εσύ βλέπεις και απασχολείσαι με το μικρό κοματάκι που σε αφορά. Αντίθετα εγώ είμαι υποχρεωμένος να βλέπω όλη την εικόνα και να προσπαθώ να καταλάβω που θα “χτυπήσει” η αλλαγή που ζητάς. Standard Operations Research.

    “θα πρέπει να θυμάμαι να ενημερώνω το active directory κάθε φορά”

    Και ποιανού ακριβώς ευθύνη είναι που έχω κολλήσει με το Active Directory, αν όχι ανθρώπων που γράφουν κώδικα και ταυτόχρονα πάσχουν από την αμνησία των 20 χρόνων στο CS και δεν έχουν κάνει ποτέ τη δουλειά; Από το 1970 που ο Codd έβγαλε το σχεσιακό μοντέλλο τελειώσαμε με το ιεραρχικό μοντέλλο. Αλλά όχι: Η ατυχία μας ήταν να είναι υπάλληλος της Netscrape ένας από τους lead developers του LDAP (θυμάται κανείς την αποτυχία του X.500 -επίσης ιεραρχικού συστήματος- του μπαμπά του LDAP;). Και σα να μην έφτανε αυτό, ακολούθησε και η Microsoft με το δικό της LDAP with Microsoft extensions, το Active Directory.

    Γράφτε καλύτερο software για να μη σου φωνάζουμε για το Active Directory. Εάν ο administrator σου, σου λέει πως φοβάται πως θα του “χαλάσει” το Active Directory, έχει τόσο δίκιο όσο περισσότεροι είναι οι κανόνες πολιτικής που έχει αποθηκεύσει.

    (Ή μήπως δεν κοντέψαμε να ζήσουμε το database machine revival με το WinFS; Ευτυχώς μας τελείωσε.)

    Τα συστήματα είναι πολύπλοκα και δύσκολα. Ο ρόλος μας είναι να περιορίζουμε την εντροπία που προκαλούν οι κατά την άποψή σας μικρές αλλαγές που μπορεί -αλλά μπορεί και όχι- να περιορίζονται στη “γειτονιά” σου.

    Στα παραδείγματά σου συγκρίνεις το COTS που γράφεις με το πως δουλεύει το internet routing. This is not the internet way of how things work. Εάν ήταν έτσι, κάθε router θα είχε static routes (== όλα είναι εξαιρέσεις) και θα είχαμε τελειώσει. Έτσι σχεδόν κανείς δεν θα έβλεπε κανένα. Υπάρχουν μοντέλα game theory που εξηγούν γιατί δουλεύει όπως δουλεύει συνεργατικά και με αυτόματο propagation των αλλαγών (μπορείς να δεις το “On a Network Creation Game” του Παπαδημητρίου). Αντίθετα:

    We believe in rough consensus and running code.

    Που σημαίνει πως οι εξαιρέσεις είναι κακό πράγμα. Και για αναγκαστούμε να καταφύγουμε σε εξαίρεση, αυτό σημαίνει πως κάποιος έκανε break το rough consensus.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: