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

Η διανομή και οι αυτόματες ενημερώσεις εφαρμογής υπολογιστή χρειάζονται σχεδιασμό από την αρχή. Η ανάπτυξη δεν τελειώνει όταν ολοκληρωθεί ο κώδικας. Πριν από την πρώτη εγκατάσταση πρέπει να έχουν προβλεφθεί το πακέτο εγκατάστασης, οι απαιτήσεις συστήματος, τα δικαιώματα χρηστών, η υπογραφή, οι εκδόσεις, η επαναφορά και η υποστήριξη πολλών υπολογιστών.
Μια εφαρμογή μπορεί να λειτουργεί σωστά στον υπολογιστή της ομάδας ανάπτυξης και να δημιουργεί προβλήματα όταν εγκατασταθεί σε δέκα, πενήντα ή διακόσιους υπολογιστές. Διαφορετικές εκδόσεις λειτουργικού συστήματος, περιορισμοί δικτύου και ελλιπή δικαιώματα αρκούν για να μετατραπεί μια απλή κυκλοφορία σε καθημερινή πηγή αναφορών.
Τι πρέπει να έχει σχεδιαστεί πριν από την πρώτη εγκατάσταση
Πριν διανεμηθεί μια εφαρμογή, χρειάζεται σαφές σχέδιο για τη λειτουργία της μετά την ανάπτυξη. Το σχέδιο πρέπει να απαντά σε πρακτικά ερωτήματα: ποιος εγκαθιστά την εφαρμογή, σε ποιους υπολογιστές, με ποια δικαιώματα, από πού κατεβαίνει η νέα έκδοση και τι γίνεται αν η ενημέρωση αποτύχει.
Χρειάζεται επίσης κατάλογος των υποστηριζόμενων περιβαλλόντων, διαδικασία ελέγχου, κανάλι αναφοράς προβλημάτων και υπεύθυνος για τις αποφάσεις κυκλοφορίας. Όταν αυτά μείνουν για αργότερα, οι χρήστες συχνά καταλήγουν να λειτουργούν ως δοκιμαστές σε πραγματικές συνθήκες. Αυτό δεν είναι καλό μοντέλο παράδοσης, ειδικά όταν η εφαρμογή χειρίζεται εμπορικά ή προσωπικά δεδομένα.
Από το πακέτο εγκατάστασης έως την υπογραφή της εφαρμογής
Το πακέτο εγκατάστασης εφαρμογής πρέπει να περιλαμβάνει όλα όσα χρειάζεται ο υπολογιστής για να ξεκινήσει σωστά. Δεν αρκεί η αντιγραφή του εκτελέσιμου αρχείου. Συνήθως πρέπει να ελεγχθούν τα παρακάτω:
- τα αρχεία της εφαρμογής και οι απαραίτητες εξαρτήσεις,
- οι υποστηριζόμενες εκδόσεις λειτουργικού συστήματος,
- οι προεπιλεγμένες ρυθμίσεις και οι διαδρομές αποθήκευσης,
- η σύνδεση με βάσεις δεδομένων, υπηρεσίες ή συσκευές,
- η διαδικασία απεγκατάστασης και η συμπεριφορά των δεδομένων μετά την αφαίρεση.
Οι απαιτήσεις συστήματος εφαρμογής πρέπει να γράφονται με τρόπο κατανοητό για τον υπεύθυνο εγκατάστασης. Ποια έκδοση λειτουργικού συστήματος χρειάζεται; Υπάρχει απαίτηση για συγκεκριμένη μνήμη, χώρο δίσκου ή σύνδεση στο εταιρικό δίκτυο; Χρειάζεται πρόσβαση σε συγκεκριμένη θύρα ή σε κοινόχρηστο φάκελο; Αυτές οι λεπτομέρειες πρέπει να ελεγχθούν πριν από τη διάθεση, όχι αφού εμφανιστεί το πρώτο σφάλμα.
Η υπογραφή εφαρμογής συνδέει το πακέτο με τον εκδότη του και βοηθά τον χρήστη ή το λειτουργικό σύστημα να διαπιστώσει αν το αρχείο προέρχεται από αναγνωρίσιμη πηγή και αν έχει τροποποιηθεί. Δεν αντικαθιστά τον έλεγχο ασφαλείας, όμως μειώνει την αβεβαιότητα και τις προειδοποιήσεις κατά την εγκατάσταση. Η διαδικασία πρέπει να καλύπτει και την ασφαλή διαχείριση του πιστοποιητικού υπογραφής.
Τέλος, πρέπει να αποφασιστεί ποιος έχει δικαίωμα εγκατάστασης. Σε εγκατάσταση διαχειριστή μπορεί να αλλάζουν αρχεία συστήματος και ρυθμίσεις για όλους τους χρήστες. Σε εγκατάσταση απλού χρήστη, οι αλλαγές περιορίζονται συνήθως στο προφίλ του συγκεκριμένου χρήστη. Η επιλογή επηρεάζει τη διανομή, την ασφάλεια και τον τρόπο με τον οποίο θα γίνονται οι μελλοντικές ενημερώσεις.
Πώς οργανώνονται οι εκδόσεις και οι ενημερώσεις;
Οι ενημερώσεις μπορεί να είναι αυτόματες, χειροκίνητες ή ελεγχόμενες. Η σωστή επιλογή εξαρτάται από το μέγεθος του οργανισμού, τη συνδεσιμότητα, τη συχνότητα των αλλαγών και το κόστος μιας διακοπής εργασίας. Για εφαρμογές με πολλούς απομακρυσμένους χρήστες, η αυτόματη ενημέρωση μειώνει τον χρόνο διαχείρισης. Για εφαρμογές που συνδέονται με παλιό εξοπλισμό ή αυστηρές εσωτερικές διαδικασίες, ο ελεγχόμενος χρονισμός συχνά είναι ασφαλέστερος.
Η αυτόματη ενημέρωση δεν πρέπει να σημαίνει «εγκατάσταση χωρίς ενημέρωση». Ο χρήστης χρειάζεται σαφή ένδειξη για τη διαθέσιμη έκδοση, το μέγεθος της λήψης, τις βασικές αλλαγές και το αν απαιτείται επανεκκίνηση. Αν η εφαρμογή χρησιμοποιείται σε ώρες αιχμής, η εγκατάσταση πρέπει να μπορεί να μετατεθεί.
Για τη διαχείριση εκδόσεων λογισμικού, βοηθούν σταθεροί κανόνες:
- κάθε έκδοση να έχει μοναδικό αριθμό και ημερομηνία δημιουργίας,
- οι αλλαγές να καταγράφονται σε σύντομες σημειώσεις κυκλοφορίας,
- να ελέγχεται η συμβατότητα με δεδομένα, συσκευές και παλαιότερες εκδόσεις,
- να διατηρείται γνωστό το πακέτο που εγκαταστάθηκε σε κάθε υπολογιστή,
- να ορίζεται ποιος εγκρίνει την κυκλοφορία και ποιος μπορεί να την αναστείλει.
Μια ενημέρωση που αλλάζει τη δομή βάσης δεδομένων χρειάζεται διαφορετικό έλεγχο από μια ενημέρωση που διορθώνει μόνο την εμφάνιση. Το ίδιο ισχύει για αλλαγές σε δικαιώματα χρηστών, διασυνδέσεις ή συσκευές. Η ταχύτητα έχει αξία, αλλά όχι όταν δημιουργεί αβεβαιότητα για τα δεδομένα και τη λειτουργία της επιχείρησης.
Η επαναφορά προηγούμενης έκδοσης δεν είναι σχέδιο έκτακτης ανάγκης
Η επαναφορά προηγούμενης έκδοσης πρέπει να σχεδιάζεται πριν από την κυκλοφορία. Αν μια ενημέρωση προκαλέσει σφάλματα, η ομάδα πρέπει να γνωρίζει ποιο πακέτο θα εγκαταστήσει ξανά, ποια δεδομένα θα διατηρήσει και ποιος θα πάρει την απόφαση ακύρωσης.
Το ελάχιστο σχέδιο επαναφοράς περιλαμβάνει:
- διατήρηση του αμέσως προηγούμενου πακέτου σε διαθέσιμο και ελεγχόμενο σημείο,
- αντίγραφο ασφαλείας πριν από αλλαγές σε βάσεις δεδομένων ή αρχεία,
- έλεγχο του αν η νέα έκδοση άλλαξε τη δομή ή τη μορφή των δεδομένων,
- σαφή κριτήρια ακύρωσης, όπως αποτυχία σύνδεσης, απώλεια δεδομένων ή επαναλαμβανόμενο σφάλμα,
- δοκιμή της διαδικασίας επαναφοράς σε περιβάλλον που μοιάζει με την παραγωγή.
Η επαναφορά δεν είναι πάντα απλή επιστροφή των αρχείων. Αν μια έκδοση έχει μετατρέψει δεδομένα σε νέα μορφή, μπορεί να χρειάζεται ειδικό βήμα επιστροφής. Γι’ αυτό οι αλλαγές στη βάση δεδομένων πρέπει να είναι καταγεγραμμένες και να έχουν ελεγχθεί με πραγματικό αντίγραφο δεδομένων, αφού πρώτα προστατευτούν τα ευαίσθητα στοιχεία.
Παράλληλα, η καταγραφή σφαλμάτων εφαρμογής πρέπει να δίνει χρήσιμες πληροφορίες χωρίς να αποθηκεύει κωδικούς, προσωπικά δεδομένα ή περιεχόμενο που δεν χρειάζεται. Τα αρχεία συμβάντων μπορούν να δείχνουν την έκδοση, την ώρα, το βήμα που απέτυχε και το περιβάλλον του υπολογιστή. Με ασφαλή απομακρυσμένη διάγνωση, η υποστήριξη δεν χρειάζεται να μαντεύει τι συνέβη.
Πώς γίνεται η διάθεση σε πολλούς υπολογιστές χωρίς χάος
Η διάθεση σε πολλούς υπολογιστές χρειάζεται σταδιακή διαδικασία. Πρώτα καταγράφονται οι συσκευές, οι χρήστες, οι εκδόσεις λειτουργικού συστήματος, οι δικτυακές ρυθμίσεις και οι συνδεδεμένες συσκευές. Έπειτα οι υπολογιστές χωρίζονται σε ομάδες με κοινά χαρακτηριστικά. Έτσι, ένα πρόβλημα σε συγκεκριμένο περιβάλλον δεν κρύβεται μέσα στον μέσο όρο του συνόλου.
Μια πρακτική σειρά διάθεσης είναι η εξής:
- Προετοιμασία: καταγραφή υπολογιστών, χρηστών, δικαιωμάτων, δεδομένων και εξαρτήσεων.
- Πιλοτική εγκατάσταση λογισμικού: εγκατάσταση σε λίγους υπολογιστές με διαφορετικά, αλλά αντιπροσωπευτικά, χαρακτηριστικά.
- Έλεγχος σε πραγματικές συνθήκες: εκτέλεση των βασικών εργασιών από τους χρήστες που θα χρησιμοποιούν καθημερινά την εφαρμογή.
- Σταδιακή επέκταση: διάθεση σε επόμενες ομάδες μόνο όταν τα ευρήματα έχουν αξιολογηθεί και αντιμετωπιστεί.
- Παραγωγική κυκλοφορία: ολοκλήρωση της εγκατάστασης, έλεγχος της έκδοσης και ενεργοποίηση της κανονικής υποστήριξης.
Στην πιλοτική φάση δεν ελέγχεται μόνο αν ανοίγει η εφαρμογή. Ελέγχεται αν λειτουργεί με τις πραγματικές συνδέσεις, τους εκτυπωτές, τους σαρωτές, τις άδειες χρήσης, τα κοινόχρηστα αρχεία και τα δεδομένα της επιχείρησης. Ελέγχεται επίσης τι βλέπει ένας χρήστης χωρίς δικαιώματα διαχειριστή.
Κάθε εγκατάσταση πρέπει να αφήνει ίχνη: υπολογιστής, χρήστης, ημερομηνία, έκδοση, αποτέλεσμα και τυχόν παρατήρηση. Με αυτόν τον τρόπο, η ομάδα γνωρίζει ποιοι υπολογιστές χρειάζονται ενημέρωση και ποιοι παραμένουν σε παλαιότερη έκδοση. Για εφαρμογές που λειτουργούν σε διαφορετικές συσκευές, χρήσιμη είναι η σχεδιασμένη προσέγγιση για εφαρμογές σε κινητά και υπολογιστές, με κοινό έλεγχο των απαιτήσεων κάθε περιβάλλοντος.
Η παράδοση συνεχίζεται με συντήρηση και υποστήριξη
Μετά την κυκλοφορία χρειάζεται σταθερός κύκλος παρακολούθησης. Οι χρήστες πρέπει να ξέρουν πού αναφέρουν πρόβλημα, ποιες πληροφορίες να στέλνουν και πότε θα έχουν απάντηση. Η ομάδα υποστήριξης χρειάζεται πρόσβαση σε εκδόσεις, αρχεία συμβάντων, οδηγίες επαναφοράς και γνωστά προβλήματα.
Η συντήρηση δεν περιορίζεται στη διόρθωση σφαλμάτων. Περιλαμβάνει ενημερώσεις εξαρτήσεων, ελέγχους ασφαλείας, προσαρμογές σε νέες εκδόσεις λειτουργικού συστήματος και μικρές αλλαγές που μειώνουν τα επαναλαμβανόμενα αιτήματα χρηστών. Το θέμα συνδέεται άμεσα με τη συντήρηση λογισμικού μετά την ολοκλήρωση της ανάπτυξης.
Πριν από κάθε νέα έκδοση, χρησιμοποιήστε ένα σύντομο φύλλο ελέγχου:
- Έχουν ελεγχθεί οι απαιτήσεις συστήματος και οι εξαρτήσεις;
- Έχει υπογραφεί και επαληθευτεί το πακέτο εγκατάστασης;
- Έχουν δοκιμαστεί τα δικαιώματα διαχειριστή και απλού χρήστη;
- Έχει ελεγχθεί η ενημέρωση σε διαφορετικούς υπολογιστές;
- Υπάρχει προηγούμενο πακέτο και δοκιμασμένη διαδικασία επαναφοράς;
- Καταγράφονται με ασφάλεια τα σφάλματα και οι εκδόσεις;
- Έχει ενημερωθεί η ομάδα υποστήριξης και οι χρήστες;
Οι παλιές τεχνολογίες προσθέτουν συχνά περιορισμούς σε αυτή τη διαδικασία. Μια εφαρμογή μπορεί να εξαρτάται από μη υποστηριζόμενο λειτουργικό σύστημα, παλιό οδηγό συσκευής ή ξεπερασμένο πρωτόκολλο. Σε τέτοιες περιπτώσεις, η διάθεση νέων εκδόσεων πρέπει να εξεταστεί μαζί με το συνολικό σχέδιο διαχείρισης παλαιών συστημάτων.
Το επόμενο βήμα για μια επιχείρηση που ετοιμάζει νέα εφαρμογή είναι συγκεκριμένο: καταγράψτε τα περιβάλλοντα εγκατάστασης, ορίστε την πρώτη πιλοτική ομάδα και γράψτε τη διαδικασία επαναφοράς πριν διανεμηθεί το πρώτο πακέτο. Έτσι η κυκλοφορία γίνεται ελεγχόμενη διαδικασία και όχι δοκιμή αντοχής μέσα στην καθημερινή εργασία.