Ετικέτα: Περιστατικά

  • Περιστατικά και post-mortem: τι κάνεις όταν πέφτει ένα site πελάτη

    Περιστατικά και post-mortem: τι κάνεις όταν πέφτει ένα site πελάτη

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

    Τα πρώτα 15 λεπτά

    1. Ένας αναλαμβάνει. Όποιος απαντήσει πρώτος στην ειδοποίηση το λέει στην ομάδα: «το έχω». Δύο άνθρωποι που ψάχνουν το ίδιο πράγμα χωρίς να το ξέρουν χάνουν χρόνο.
    2. Επιβεβαίωσε από άλλο σημείο. Άνοιξε το site από το κινητό, εκτός δικτύου γραφείου. Έλεγξε αν πέφτει όλο ή μια σελίδα.
    3. Άνοιξε το runbook του project. Εκεί λέει πού τρέχει, πώς γίνεται restart, πού είναι τα logs και ποιον πάροχο καλείς. Αν δεν υπάρχει runbook, αυτό είναι το πρώτο εύρημα του post-mortem. Δες τι γράφει ένα runbook.
    4. Ενημέρωσε τον πελάτη πριν σε πάρει. Δύο γραμμές αρκούν: «Το site είναι εκτός από τις 10:42. Το ψάχνουμε, θα σας ενημερώσουμε ως τις 11:15.»
    Πρώτα επαναφορά, μετά εξήγησηΣτόχος του περιστατικού είναι να ξαναδουλέψει το site. Η αναζήτηση της βαθύτερης αιτίας μπορεί να περιμένει μέχρι να είναι όλα πάνω: ένα rollback τώρα αξίζει περισσότερο από μια τέλεια διάγνωση σε μία ώρα.

    Οι συνηθισμένοι ύποπτοι

    Σύμπτωμα Συχνή αιτία Πρώτος έλεγχος
    Δεν απαντά καθόλου Server κάτω, γεμάτος δίσκος, λήξη hosting Πίνακας παρόχου, χρήση πόρων
    Σφάλμα 500 Πρόσφατο deploy, plugin, αναβάθμιση PHP ή Node Τι άλλαξε την τελευταία μέρα
    «Error establishing a database connection» Βάση κάτω, αλλαγμένος κωδικός, όριο συνδέσεων Η βάση και τα στοιχεία σύνδεσης
    Προειδοποίηση πιστοποιητικού SSL που δεν ανανεώθηκε Ημερομηνία λήξης, εγγραφές DNS
    Σελίδα στάθμευσης Domain που έληξε Ο registrar. Δες τι γίνεται όταν λήγει domain

    Η σελίδα κατάστασης

    Μια δημόσια σελίδα κατάστασης ανά πελάτη απαντά στο «είναι μόνο σε μένα;» χωρίς τηλέφωνο. Ο πελάτης βλέπει ποιες υπηρεσίες του λειτουργούν και τη διαθεσιμότητα των τελευταίων ημερών. Δεν βλέπει διευθύνσεις servers, IP ή μηνύματα σφάλματος.

    Στείλε τον σύνδεσμο στον πελάτη τη μέρα της παράδοσης, όχι τη μέρα της βλάβης. Έτσι τον ξέρει όταν τον χρειαστεί.

    Το κλείσιμο

    Όταν ο έλεγχος ξαναπετύχει, το περιστατικό κλείνει και ο χρόνος εκτός λειτουργίας μένει καταγεγραμμένος. Πριν το ξεχάσεις, γράψε δύο πράγματα στο ίδιο το περιστατικό: την αιτία σε μία γραμμή και σημειώσεις για το τι έκανες. Αυτές οι σημειώσεις είναι το προσχέδιο του post-mortem.

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

    Post-mortem σε μία σελίδα

    Δεν χρειάζεται έκθεση δέκα σελίδων. Χρειάζεται μια σελίδα που διαβάζεται σε δύο λεπτά και αλλάζει κάτι:

    1. Τι έγινε: μία παράγραφος, σε γλώσσα που καταλαβαίνει και ο πελάτης.
    2. Χρονολόγιο: πότε ξεκίνησε, πότε το μάθαμε, πότε ενημερώσαμε, πότε λύθηκε.
    3. Αιτία: η άμεση αιτία και, αν υπάρχει, η βαθύτερη («ο δίσκος γέμισε» και «δεν παρακολουθούσαμε τον δίσκο»).
    4. Τι πήγε καλά: για να το κρατήσεις.
    5. Τι αλλάζει: 1 έως 3 συγκεκριμένες ενέργειες, με υπεύθυνο και ημερομηνία.
    Χωρίς ενόχουςΤο post-mortem ρωτά «τι επέτρεψε να γίνει», όχι «ποιος το έκανε». Αν ένα λάθος ενός ανθρώπου μπορεί να ρίξει το site, το πρόβλημα είναι η διαδικασία. Μια ομάδα που φοβάται να πει τι έγινε κρύβει τα επόμενα.

    Μετά από μερικούς μήνες

    Τα περιστατικά, μαζεμένα, λένε μια ιστορία. Ποια projects πέφτουν συχνότερα; Ποιος πάροχος; Πόσο γρήγορα αντιδράτε; Η μηνιαία αναφορά ανά πελάτη τα δείχνει δίπλα στη διαθεσιμότητα, και συχνά είναι το καλύτερο επιχείρημα για μια αναβάθμιση hosting που ο πελάτης ανέβαλλε. Δες τι γράφει μια μηνιαία αναφορά.

    Συχνές ερωτήσεις

    Πρέπει να λέμε στον πελάτη κάθε περιστατικό;

    Όσα τα είδε ή θα μπορούσε να τα δει, ναι. Τα μικρά, που κράτησαν δύο λεπτά τα ξημερώματα, φαίνονται στη μηνιαία αναφορά. Η διαφάνεια χτίζει εμπιστοσύνη· το να το μάθει μόνος του τη χαλάει.

    Χρειάζεται post-mortem για κάθε περιστατικό;

    Όχι. Γράψε για όσα κράτησαν πάνω από λίγα λεπτά, για όσα τα έμαθες από τον πελάτη, και για όσα ξανάγιναν. Για τα υπόλοιπα αρκεί η αιτία σε μία γραμμή.

    Τι γίνεται αν η βλάβη είναι στον πάροχο;

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