Ετικέτα: Πλήρης οδηγός

  • Πόσο σου κοστίζει πραγματικά κάθε πελάτης: ο πλήρης οδηγός για agencies

    Πόσο σου κοστίζει πραγματικά κάθε πελάτης: ο πλήρης οδηγός για agencies

    Ρώτα μια μικρή agency πόσο της κοστίζει ο κάθε πελάτης και θα πάρεις μια εκτίμηση. Ρώτα πού βγαίνει η εκτίμηση και θα δεις ένα Excel του περσινού Φεβρουαρίου. Στο μεταξύ μπήκαν ένα API για emails, ένα plugin με ετήσια άδεια, ένας μεγαλύτερος VPS, και το δολάριο άλλαξε. Το «συντήρηση 50€ τον μήνα» μπορεί να είναι ζημιά και να μην το ξέρει κανείς.

    Γιατί χάνεται το κόστος

    • Μικρά ποσά, πολλά. 3€ εδώ, 9$ εκεί, 15€ τον χρόνο για ένα domain. Κανένα δεν τραβά την προσοχή μόνο του.
    • Διαφορετικοί κύκλοι. Μηνιαία, ετήσια, ανά χρήση. Δεν αθροίζονται χωρίς δουλειά.
    • Διαφορετικά νομίσματα. Οι περισσότεροι πάροχοι χρεώνουν σε δολάρια.
    • Κοινόχρηστοι πόροι. Ένας VPS με δώδεκα sites, ένας λογαριασμός email για όλους. Σε ποιον ανήκουν;
    • Κόστη χρήσης. Τα APIs τεχνητής νοημοσύνης ή αποστολής SMS χρεώνουν όσο τα χρησιμοποιείς και αλλάζουν κάθε μήνα.

    Βήμα 1: κάθε πόρος με κόστος, κύκλο και νόμισμα

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

    Πόρος Κόστος Κύκλος Ανά μήνα
    Domain .gr 15 € Ετήσιος 1,25 €
    VPS 12 € Μηνιαίος 12,00 €
    Άδεια plugin 59 $ Ετήσιος ≈ 4,50 €
    Υπηρεσία email 20 $ Μηνιαίος ≈ 18,30 €

    Ο κανόνας είναι απλός: όλα γίνονται ανά μήνα. Ένα ετήσιο ποσό διαιρείται με το 12. Έτσι ο μήνας του Ιανουαρίου, που ανανεώνονται τα μισά domains, δεν δείχνει ψεύτικα ακριβός.

    Βήμα 2: μοίρασε τους κοινόχρηστους πόρους

    Ένας VPS με δέκα sites δεν ανήκει σε κανέναν από αυτά, ανήκει σε όλα. Δύο τρόποι να τον μοιράσεις:

    • Εξίσου: 12€ σε τέσσερα projects κάνει 3€ το καθένα. Απλό και συνήθως αρκετό.
    • Με ποσοστό: το e-shop που τρώει τη μισή μνήμη παίρνει 50%, και τα υπόλοιπα μοιράζονται εξίσου το άλλο μισό.

    Το Devios κάνει το δεύτερο αυτόματα: όσα projects έχουν δηλωμένο ποσοστό το παίρνουν, και τα υπόλοιπα μοιράζονται εξίσου ό,τι περισσεύει. Έτσι ορίζεις ποσοστό μόνο εκεί που έχει νόημα.

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

    Βήμα 3: ένα νόμισμα, με επίσημες ισοτιμίες

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

    Όταν λείπει ισοτιμία για κάποιο νόμισμα, το σύνολο δεν πρέπει να το κρύβει. Είναι καλύτερα να δεις «120 € + 15 CHF» παρά ένα σύνολο που ήσυχα αγνόησε τα φράγκα.

    Βήμα 4: τα κόστη χρήσης

    Τα APIs με χρέωση ανά χρήση (τεχνητή νοημοσύνη, SMS, αποστολή email σε όγκο) δεν έχουν σταθερή τιμή. Για αυτά χρειάζεσαι τα πραγματικά νούμερα του μήνα από τον πάροχο. Η σύνδεση με την Anthropic, για παράδειγμα, φέρνει το κόστος χρήσης των τελευταίων 30 ημερών και το βάζει στα κόστη του μήνα, ώστε ένα chatbot πελάτη που ξαφνικά έγινε δημοφιλές να φανεί πριν έρθει ο λογαριασμός.

    Βήμα 5: χρέωση μείον κόστος

    Τώρα έχεις το κόστος ανά project. Βάλε δίπλα τι χρεώνεις τον πελάτη κάθε μήνα για αυτό και βγαίνει το περιθώριο:

    Πελάτης Χρέωση/μήνα Κόστος/μήνα Περιθώριο
    E-shop ρούχων 120 € 38 € 82 € (68%)
    Ιατρείο 40 € 9 € 31 € (78%)
    Εφαρμογή κρατήσεων 90 € 71 € 19 € (21%)

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

    Βήμα 6: κοίτα τον μήνα, και την τάση

    • Σύγκριση με τον προηγούμενο μήνα: ένα κόστος που ανέβηκε 30% θέλει εξήγηση.
    • Οι πιο ακριβοί πόροι: συνήθως τρεις πόροι κάνουν το μισό κόστος. Εκεί αξίζει η διαπραγμάτευση.
    • Οι επερχόμενες ανανεώσεις: μια ετήσια άδεια 400€ τον επόμενο μήνα δεν πρέπει να είναι έκπληξη.
    • Εξαγωγή σε CSV για τον λογιστή, ανά μήνα.

    Τι κερδίζεις

    1. Σωστές τιμές για νέους πελάτες, γιατί ξέρεις τι κοστίζει ένα τυπικό project.
    2. Τεκμηριωμένες αυξήσεις, με νούμερα αντί για «ακρίβυναν όλα».
    3. Λιγότερες σπατάλες: πόροι χωρίς project, άδειες για sites που έκλεισαν, ένα δεύτερο hosting που ξεχάστηκε.
    4. Καθαρή μηνιαία εικόνα που μπορείς να μοιραστείς. Δες τη μηνιαία αναφορά προς τον πελάτη.

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

    Να βάλω και τις ώρες της ομάδας στο κόστος;

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

    Τι κάνω με πόρους που πληρώνει ο ίδιος ο πελάτης;

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

    Ποια ισοτιμία χρησιμοποιώ για παλιούς μήνες;

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

    Πόσο συχνά να το κοιτάζω;

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

  • Παρακολούθηση uptime, SSL και λήξεων για όλα τα sites πελατών: ο πλήρης οδηγός

    Παρακολούθηση uptime, SSL και λήξεων για όλα τα sites πελατών: ο πλήρης οδηγός

    Ο χειρότερος τρόπος να μάθεις ότι έπεσε ένα site είναι από τον πελάτη. Ο δεύτερος χειρότερος είναι από έναν συναγερμό που χτυπά κάθε φορά που ο server αργεί ένα δευτερόλεπτο. Η σωστή παρακολούθηση βρίσκεται ανάμεσα: σε ειδοποιεί για ό,τι μετρά, μία φορά, στον σωστό άνθρωπο.

    Τρία πράγματα που παρακολουθείς

    1. Λειτουργία (uptime): απαντά το site ή η υπηρεσία;
    2. Πιστοποιητικά SSL: είναι έγκυρα και πότε λήγουν;
    3. Λήξεις πόρων: domains, hosting, συνδρομές, άδειες.

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

    Έλεγχοι λειτουργίας: τι είδους

    Έλεγχος Τι ελέγχει Για τι
    HTTP, κωδικός απάντησης Ότι η σελίδα απαντά με 200 έως 399 Κάθε site
    HTTP, λέξη-κλειδί Ότι η σελίδα περιέχει ένα συγκεκριμένο κείμενο Sites που «απαντούν» αλλά δείχνουν σελίδα σφάλματος
    HTTP, health endpoint Ότι η εφαρμογή και η βάση της δουλεύουν Εφαρμογές και APIs
    TCP Ότι μια θύρα δέχεται συνδέσεις Βάσεις, SSH, mail
    Η παγίδα του 200Ένα WordPress με χαλασμένη βάση μπορεί να απαντά 200 με τη σελίδα «Error establishing a database connection». Ο έλεγχος λέξης-κλειδιού (π.χ. το όνομα του καταστήματος στη σελίδα) το πιάνει.

    Πόσο συχνά

    • Κάθε 1 λεπτό: e-shops, εφαρμογές με χρήστες, APIs που καλούν συνεργάτες.
    • Κάθε 5 λεπτά: εταιρικά sites πελατών με επισκεψιμότητα.
    • Κάθε 15 ή 60 λεπτά: landing pages, staging, εσωτερικά εργαλεία.

    Πότε ανοίγει περιστατικό

    Μια αποτυχία δεν είναι περιστατικό. Μπορεί να είναι ένα δίκτυο που κόλλησε ένα δευτερόλεπτο. Ο κανόνας που δουλεύει: δύο συνεχόμενες αποτυχίες ανοίγουν περιστατικό και στέλνουν ειδοποίηση. Η πρώτη επιτυχία το κλείνει, με τον χρόνο εκτός λειτουργίας καταγεγραμμένο.

    Έτσι η ειδοποίηση σημαίνει πάντα κάτι. Και η ομάδα δεν μαθαίνει να την αγνοεί.

    Ποιος ειδοποιείται και πώς

    • Email για όλη την ομάδα: καλό για ιστορικό, αργό για επείγοντα.
    • Telegram για τον υπεύθυνο βάρδιας: φτάνει αμέσως, και στο σπίτι.
    • Push στο κινητό για όσους δουλεύουν στο συγκεκριμένο project, ώστε να μη χτυπούν όλα τα τηλέφωνα για κάθε site.

    Κάθε κανάλι διαλέγει τα γεγονότα του: εκτός λειτουργίας, επαναφορά, SSL, λήξεις, ασφάλεια. Και κάθε ειδοποίηση στέλνεται μία φορά.

    Πιστοποιητικά SSL

    Τα πιστοποιητικά του Let’s Encrypt διαρκούν 90 ημέρες και ανανεώνονται αυτόματα, μέχρι τη μέρα που η ανανέωση αποτυγχάνει σιωπηλά: ένα DNS που άλλαξε, ένας proxy που μπλοκάρει την επαλήθευση, ένας server που μετακόμισε. Επιπλέον, η μέγιστη διάρκεια όλων των δημόσιων πιστοποιητικών μικραίνει σταδιακά τα επόμενα χρόνια, οπότε οι ανανεώσεις θα γίνονται όλο και συχνότερα.

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

    Λήξεις domains και συνδρομών

    Εδώ η παρακολούθηση είναι ημερολόγιο. Για κάθε πόρο με λήξη, ειδοποίηση 30, 14, 7 και 1 ημέρα πριν, και την ημέρα της λήξης. Δώσε ιδιαίτερη προσοχή σε όσα δεν έχουν αυτόματη ανανέωση, και σε όσα πληρώνει ο πελάτης με δική του κάρτα. Τι συμβαίνει όταν λήγει ένα domain, μέρα με τη μέρα, θα το βρεις εδώ.

    Σελίδα κατάστασης για τους πελάτες

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

    Έτοιμες ρυθμίσεις ανά είδος project

    Project Έλεγχοι Κανάλια
    E-shop Αρχική ανά 1′ με λέξη-κλειδί, checkout ανά 5′, SSL Telegram + Push + Email
    Εφαρμογή Health endpoint ανά 1′, βάση TCP ανά 5′, SSL Telegram + Push
    Εταιρικό site Αρχική ανά 5′, SSL Email
    Staging Αρχική ανά 60′ Email

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

    Γιατί όχι ειδοποίηση με την πρώτη αποτυχία;

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

    Ο πάροχος hosting δεν έχει ήδη παρακολούθηση;

    Παρακολουθεί τον server του, όχι το site σου. Ένα site μπορεί να είναι εκτός ενώ ο server δουλεύει τέλεια, π.χ. από ένα plugin, μια βάση ή ένα DNS.

    Τι είναι καλό ποσοστό διαθεσιμότητας;

    Για ένα site πελάτη, πάνω από 99,9% τον μήνα σημαίνει λιγότερα από 45 λεπτά εκτός. Πιο σημαντικό από τον αριθμό είναι να ξέρεις πότε και γιατί έπεσε.

    Χρειάζομαι παρακολούθηση και στο staging;

    Ελαφριά, ναι. Ένα staging που έπεσε πριν από μια παρουσίαση σε πελάτη είναι κι αυτό πρόβλημα.

  • Διαχείριση κωδικών για agencies και ομάδες development: ο πλήρης οδηγός

    Διαχείριση κωδικών για agencies και ομάδες development: ο πλήρης οδηγός

    Μια agency δεν διαχειρίζεται τους δικούς της κωδικούς. Διαχειρίζεται τους κωδικούς των πελατών της: hosting, domains, admin των sites, Stripe, Google, βάσεις, API keys. Αν διαρρεύσουν, το πρόβλημα δεν είναι ένας λογαριασμός· είναι η εμπιστοσύνη σαράντα πελατών. Αυτός ο οδηγός περιγράφει πώς το οργανώνεις σωστά.

    Πού βρίσκονται σήμερα οι κωδικοί σου

    Αν είσαι ειλικρινής, μάλλον σε περισσότερα από ένα από αυτά:

    • Ένα Excel ή Google Sheet «Κωδικοί πελατών».
    • Μηνύματα σε Viber, Slack ή email.
    • Τον browser κάποιου developer.
    • Ένα αρχείο .env σε laptop, ή χειρότερα, σε repository.
    • Έναν password manager με έναν κοινό λογαριασμό για όλη την ομάδα.

    Το κοινό σε όλα: δεν ξέρεις ποιος είδε τι. Και χωρίς αυτό δεν μπορείς να απαντήσεις στη μόνη ερώτηση που μετρά όταν κάποιος φεύγει: «ποιους κωδικούς πρέπει να αλλάξουμε;».

    Η σωστή δομή: μία συλλογή ανά project

    Οργάνωσε τους κωδικούς όπως οργανώνεις τη δουλειά. Κάθε project έχει τη δική του συλλογή, και υπάρχει μία «Γενική» για τα εταιρικά (λογιστικό, τράπεζα, εταιρικό email).

    • Ο developer που δουλεύει στο e-shop βλέπει τους κωδικούς του e-shop. Όχι της τράπεζας, όχι των άλλων πελατών.
    • Κάθε κωδικός δένεται με τον πόρο του: ο κωδικός του hPanel με τον VPS, ο κωδικός του Stripe με τον λογαριασμό πληρωμών.
    • Οι ιδιοκτήτες και οι διαχειριστές βλέπουν όλες τις συλλογές.

    Τι αποθηκεύεις, πέρα από κωδικούς

    Είδος Παράδειγμα
    Σύνδεση Χρήστης, κωδικός, διεύθυνση σύνδεσης, και 2FA
    API key Κλειδί Stripe, Resend, Anthropic, με όνομα και περιβάλλον
    Βάση δεδομένων Host, θύρα, χρήστης, κωδικός, connection string
    Κλειδί SSH Ιδιωτικό κλειδί και passphrase
    Αρχείο .env Ολόκληρο το αρχείο ρυθμίσεων ενός περιβάλλοντος
    Σημείωση Recovery codes, απαντήσεις ασφαλείας, PIN

    Το 2FA δεν είναι προαιρετικό

    Κάθε λογαριασμός που το υποστηρίζει πρέπει να έχει δεύτερο παράγοντα. Το πρόβλημα στην ομάδα είναι ότι ο κωδικός 2FA ζει στο κινητό ενός ανθρώπου. Η λύση είναι να αποθηκεύεις το κλειδί TOTP (το μυστικό πίσω από το QR) δίπλα στον κωδικό, ώστε όποιος έχει πρόσβαση στη συλλογή να βλέπει τον ζωντανό εξαψήφιο κωδικό.

    Και για το ίδιο το εργαλείοΤο εργαλείο που κρατά τους κωδικούς πρέπει να έχει υποχρεωτικό 2FA για όλους, χωρίς εξαιρέσεις. Ένας λογαριασμός χωρίς 2FA είναι η πόρτα για όλους τους υπόλοιπους.

    Γιατί έχει σημασία το zero-knowledge

    Σε ένα κλασικό σύστημα, ο server κρυπτογραφεί τους κωδικούς με δικό του κλειδί. Αν κάποιος πάρει τον server, παίρνει και το κλειδί. Σε ένα zero-knowledge σύστημα, η κρυπτογράφηση γίνεται στον browser σου, με κλειδί που βγαίνει από το master password σου. Ο server κρατά μόνο κρυπτογραφήματα που δεν μπορεί να ανοίξει. Η διαφορά εξηγείται αναλυτικά στο άρθρο για το zero-knowledge.

    Ιστορικό: ποιος είδε τι

    Κάθε «Εμφάνιση» ενός κωδικού πρέπει να γράφεται: ποιος, ποιον κωδικό, πότε, από πού. Αυτό δεν είναι καχυποψία· είναι η βάση για να ξέρεις τι αλλάζει όταν αλλάζει η ομάδα. Το ίδιο ισχύει για τις εκδόσεις: όταν αλλάζεις έναν κωδικό, ο παλιός μένει στο ιστορικό για την περίπτωση που η αλλαγή δεν πέρασε στον πάροχο.

    Όταν φεύγει κάποιος

    Η αφαίρεση πρόσβασης δεν αρκεί. Ό,τι είδε ο άνθρωπος που έφυγε, το ξέρει. Ο μόνος ασφαλής δρόμος είναι να αλλάξουν οι κωδικοί που είδε. Ένα καλό σύστημα τους σημειώνει αυτόματα «Θέλει αλλαγή» μόλις αφαιρεθεί η πρόσβαση. Η πλήρης λίστα βημάτων είναι στο offboarding ενός developer.

    Πώς στέλνεις έναν κωδικό σε πελάτη

    Ποτέ σε email ή chat, όπου μένει για πάντα. Η σωστή μέθοδος είναι ο σύνδεσμος μίας χρήσης: ο κωδικός κρυπτογραφείται με κλειδί που μπαίνει μέσα στον σύνδεσμο (μετά το #, που δεν στέλνεται ποτέ στον server), λήγει σε λίγες ώρες ή μέρες και ανοίγει μία φορά. Για επιπλέον ασφάλεια, βάζεις και μια φράση που λες στον πελάτη τηλεφωνικά.

    Υγεία κωδικών: τι ελέγχεις κάθε μήνα

    • Αδύναμοι κωδικοί: μικροί ή προβλέψιμοι.
    • Ίδιοι κωδικοί σε διαφορετικούς λογαριασμούς.
    • Διαρροές: έλεγχος με το Have I Been Pwned, με τη μέθοδο k-anonymity, ώστε να φεύγουν μόνο οι 5 πρώτοι χαρακτήρες του hash και ποτέ ο κωδικός.
    • Παλιοί κωδικοί: πάνω από έναν χρόνο χωρίς αλλαγή σε κρίσιμους λογαριασμούς.

    Μετάβαση από το Excel

    1. Στήσε τις συλλογές ανά project.
    2. Κάνε εισαγωγή από τον password manager που ήδη έχεις, αν έχεις.
    3. Πέρασε με το χέρι ό,τι ήταν σε Excel ή σημειώσεις.
    4. Σβήσε τα αρχεία και άδειασε τον κάδο.
    5. Άλλαξε τους κωδικούς που κυκλοφόρησαν σε chat ή email.

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

    Δεν αρκεί ένας κοινός λογαριασμός σε έναν password manager;

    Όχι, γιατί όλοι βλέπουν τα πάντα και δεν ξέρεις ποιος είδε τι. Όταν κάποιος φεύγει, πρέπει να αλλάξεις όλους τους κωδικούς, ή κανέναν.

    Τι γίνεται αν ξεχάσω το master password;

    Σε zero-knowledge σύστημα κανείς δεν μπορεί να το επαναφέρει για σένα. Γι’ αυτό υπάρχει το recovery key, που φυλάς εκτός συστήματος από την πρώτη μέρα, και η πρόσβαση έκτακτης ανάγκης για έναν δεύτερο διαχειριστή.

    Πρέπει να έχουν όλοι οι developers πρόσβαση σε όλους τους κωδικούς;

    Όχι. Κάθε developer βλέπει τα projects στα οποία δουλεύει. Αν χρειαστεί κάτι άλλο προσωρινά, η πρόσβαση δίνεται με ημερομηνία λήξης.

    Πού βάζω τα αρχεία .env;

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

  • Πώς οργανώνεις όλη την υποδομή μιας εταιρείας πληροφορικής σε ένα μέρος

    Πώς οργανώνεις όλη την υποδομή μιας εταιρείας πληροφορικής σε ένα μέρος

    Κάθε εταιρεία πληροφορικής ξεκινά με τρία sites και ένα Excel. Δύο χρόνια μετά έχει σαράντα πελάτες, τρεις servers, δύο λογαριασμούς Hostinger, έναν στο Cloudflare που άνοιξε κάποιος που έφυγε, και ένα Excel που κανείς δεν εμπιστεύεται. Το πρόβλημα δεν είναι η έλλειψη εργαλείων. Είναι ότι η γνώση για το τι τρέχει πού ζει σκορπισμένη σε πίνακες παρόχων, inbox και κεφάλια.

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

    Γιατί το Excel σταματά να δουλεύει

    Ένα spreadsheet είναι εξαιρετικό για να ξεκινήσεις και κακό για να συνεχίσεις. Τρία πράγματα το σπάνε:

    • Οι σχέσεις. Ένας VPS εξυπηρετεί πέντε projects, ένα domain έχει DNS σε άλλον πάροχο, ένα κλειδί Anthropic χρεώνεται σε δύο πελάτες. Οι γραμμές ενός πίνακα δεν δείχνουν σχέσεις πολλά-προς-πολλά.
    • Η φρεσκάδα. Οι λήξεις, οι τιμές και οι IP αλλάζουν στους παρόχους. Ό,τι γράφτηκε με το χέρι είναι ήδη παλιό.
    • Οι κωδικοί. Μόλις μπει ένας κωδικός στο ίδιο αρχείο, το αρχείο γίνεται το πιο επικίνδυνο πράγμα της εταιρείας.

    Το μοντέλο: πελάτες, projects, πόροι

    Η δομή που δουλεύει στην πράξη έχει τρία επίπεδα:

    1. Πελάτης. Η εταιρεία που πληρώνει. Μπορεί να έχει πολλά projects. Τα εσωτερικά projects (το site σας, τα εργαλεία σας) δεν έχουν πελάτη.
    2. Project. Κάτι που παραδίδετε και συντηρείτε: ένα e-shop, μια εφαρμογή, ένα API. Έχει κατάσταση (σε ανάπτυξη, live, συντήρηση) και προαιρετικά περιβάλλοντα, όπως production και staging.
    3. Πόρος. Οτιδήποτε χρειάζεται το project για να ζει: domain, DNS, πιστοποιητικό SSL, server, hosting, βάση, repository, email, AI provider, πληρωμές, άδειες.

    Το κλειδί είναι ότι ο πόρος δεν ανήκει σε ένα μόνο project. Ο server παραγωγής συνδέεται με όλα τα projects που φιλοξενεί, και το κόστος του μοιράζεται με ποσοστό. Έτσι απαντάς αμέσως σε δύο ερωτήσεις που αλλιώς θέλουν ώρες: «τι πέφτει αν πέσει αυτός ο server;» και «πόσο μας κοστίζει αυτός ο πελάτης;».

    Τι πρέπει να ξέρεις για κάθε πόρο

    Δεν χρειάζεσαι εκατό πεδία. Χρειάζεσαι αυτά που απαντούν στις ερωτήσεις μιας κακής μέρας:

    Πεδίο Γιατί το θέλεις
    Πάροχος και λογαριασμός Για να ξέρεις σε ποιο login να μπεις όταν κάτι χαλάσει.
    Βασικό αναγνωριστικό Domain, IP, όνομα repo ή βάσης. Αυτό που ψάχνεις.
    Λήξη και αυτόματη ανανέωση Τα περισσότερα «έπεσε το site» είναι στην πραγματικότητα «έληξε κάτι».
    Κόστος και κύκλος χρέωσης Μηνιαίο, ετήσιο, εφάπαξ, δωρεάν, και σε ποιο νόμισμα.
    Σημειώσεις Ό,τι δεν χωρά αλλού: «το DNS είναι στο Cloudflare του πελάτη».
    Κανόνας χρυσόςΟι κωδικοί δεν μπαίνουν ποτέ στα πεδία ενός πόρου. Μπαίνουν σε θησαυροφυλάκιο, δεμένοι με τον πόρο. Ένα καλό εργαλείο απορρίπτει πεδία που μοιάζουν με κωδικό.

    Οι κωδικοί, χωριστά αλλά δίπλα

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

    Ποιος βλέπει τι

    Ένα σχήμα ρόλων που καλύπτει σχεδόν κάθε agency:

    • Ιδιοκτήτης και Διαχειριστής: όλα, μαζί με κόστη και ομάδα.
    • Developer: μόνο τα projects που του έχουν δοθεί, και προσωρινά αν χρειάζεται.
    • Μόνο προβολή: για συνεργάτες που χρειάζονται εικόνα χωρίς κωδικούς.
    • Πελάτης: τα δικά του projects, αν λειτουργούν και τι ανανεώνεται, χωρίς κόστη και εσωτερικές σημειώσεις.

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

    Πώς μένει ενημερωμένο χωρίς κόπο

    Η καταγραφή πεθαίνει τη μέρα που γίνεται αγγαρεία. Τρεις μηχανισμοί την κρατούν ζωντανή:

    1. Συνδέσεις με τους παρόχους. Με ένα token μόνο ανάγνωσης, ο πάροχος φέρνει μόνος του domains, servers, repos, βάσεις, λήξεις και τιμές. Ό,τι βρεθεί ταιριάζει με τους πόρους που υπάρχουν ήδη, με βάση το domain, την IP ή το όνομα.
    2. Παρακολούθηση. Έλεγχοι λειτουργίας και SSL επιβεβαιώνουν κάθε λεπτό ότι αυτό που γράφει η καταγραφή είναι αλήθεια.
    3. Ειδοποιήσεις για λήξεις. Όταν η καταγραφή σε προστατεύει από ένα ξεχασμένο domain, η ομάδα σταματά να τη βλέπει σαν γραφειοκρατία.

    Το πρώτο απόγευμα: ένα σχέδιο

    Μην προσπαθήσεις να καταγράψεις τα πάντα την πρώτη μέρα. Ξεκίνα έτσι:

    1. Σύνδεσε τους βασικούς παρόχους (hosting, GitHub, βάσεις).
    2. Φτιάξε τους πελάτες και τα live projects. Τα παλιά και αρχειοθετημένα περιμένουν.
    3. Βάλε τους πόρους που έφεραν οι πάροχοι στα projects τους.
    4. Πρόσθεσε έναν έλεγχο λειτουργίας σε κάθε live site.
    5. Κοίτα τη λίστα «πόροι χωρίς project». Εκεί κρύβονται συνδρομές που πληρώνεις χωρίς λόγο.

    Αναλυτικά βήματα θα βρεις στο από το Excel στο κέντρο ελέγχου σε μία μέρα.

    Τεκμηρίωση που διαβάζεται

    Η καταγραφή λέει τι υπάρχει. Τα runbooks λένε πώς δουλεύει: πώς γίνεται deploy, πώς γυρνάς πίσω, πού είναι τα backups. Ένα σύντομο runbook ανά project, δίπλα στους πόρους του, αξίζει περισσότερο από ένα wiki που κανείς δεν ανοίγει. Δες τι πρέπει να γράφει κάθε runbook.

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

    Πόσο χρόνο θέλει η πρώτη καταγραφή;

    Για μια ομάδα με 20 έως 40 projects, ένα απόγευμα αν συνδέσεις τους παρόχους. Το μεγαλύτερο κομμάτι είναι να αποφασίσεις σε ποιο project ανήκει κάθε πόρος, όχι η πληκτρολόγηση.

    Πρέπει να καταγράψω και τα δωρεάν εργαλεία;

    Ναι, αν το project εξαρτάται από αυτά. Ένα δωρεάν πλάνο που ξεπερνά το όριό του ή ένας λογαριασμός που ανήκει σε πρώην συνεργάτη είναι κίνδυνος, ακόμα κι αν δεν κοστίζει.

    Τι κάνω με πόρους που μοιράζονται πολλοί πελάτες;

    Τους συνδέεις με όλα τα projects και ορίζεις ποσοστό κόστους για το καθένα. Έτσι το περιθώριο ανά πελάτη βγαίνει σωστό, και ξέρεις ποιοι επηρεάζονται αν πέσει ο πόρος.

    Χρειάζομαι περιβάλλοντα (production, staging);

    Μόνο όπου υπάρχουν πραγματικά. Για ένα απλό site είναι περιττά· για μια εφαρμογή με staging και production βοηθούν να μην μπερδευτούν οι βάσεις και τα κλειδιά.