Μια λύση job scheduling πρέπει να είναι αρκετά περιεκτική. Πρέπει να υποστηρίζει την ενσωμάτωση σε κάθε λειτουργικό, πλατφόρμα και τεχνολογία που χρησιμοποιείται στην υποδομή IT. Γι' αυτό και η εύρεση της κατάλληλης λύσης job scheduling αποτελεί πρόκληση για κάθε Διεύθυνση Πληροφορικής.
Νέες τεχνολογίες εισάγονται ή χρησιμοποιούνται συνεχώς για να βοηθήσουν τις επιχειρήσεις να βελτιώσουν την ανταγωνιστικότητα και κερδοφορία τους, δίνοντας στη Διεύθυνση Πληροφορικής όλο και πιο σημαντικό ρόλο μέσα σε μια επιχείρηση. Ωστόσο, εκτός από τα αδιαμφισβήτητα κέρδη (μείωση κόστους, αύξηση παραγωγικότητας, καλύτερη πρόσβαση στην πληροφορία κ.λπ.) που φέρνουν οι νέες τεχνολογίες, υπάρχουν και μερικά μειονεκτήματα. Οπως είναι τα σύνθετα πακέτα software, τα οποία δεν αποδίδουν πάντα τα διαφημιζόμενα οφέλη τους, αυξάνουν τις απαιτήσεις σε προσωπικό υποστήριξης και συμβάλουν στη δημιουργία ενός, εν γένη, ασταθούς συστήματος, το οποίο αποτελείται από διαφορετικές εφαρμογές και σύνολα hardware, που δεν συνεργάζονται πάντα άψογα μεταξύ τους.
Τα προβλήματα προκύπτουν γιατί κάθε λειτουργικό σύστημα μιλά τη δική του γλώσσα, κάθε εφαρμογή μιλά επίσης τη δική της γλώσσα, κάθε εφαρμογή και λειτουργικό χρησιμοποιούν τα δικά τους μοντέλα ασφαλείας το οποία δεν ενσωματώνονται απαραιτήτως άψογα μεταξύ τους. Εκτός αυτού, η μεταφορά δεδομένων ή ο προγραμματισμός ενεργειών ανάμεσα σε ανομοιογενή περιβάλλοντα είναι είτε δύσκολος, είτε, μερικές φορές, αδύνατος με τη χρήση των γηγενών εργαλείων που προσφέρει το κάθε περιβάλλον, ενώ, το πιο σημαντικό, η κεντρική διαχείριση κάθε εργασίας που λαμβάνει χώρα δεν είναι εφικτή.
Η επίλυση όλων των παραπάνω προβλημάτων αποτελεί τον πρωταρχικό στόχο μίας λύσης IT job scheduling. Από μια κεντρική θέση, μια λύση job scheduling δημιουργεί μια πλατφόρμα στην οποία μπορούν να επικοινωνήσουν μεταξύ τους τα ανομοιογενή συστήματα. Χρησιμοποιώντας μια τέτοια κεντρική λύση, μια εργασία σε μια βάση δεδομένων, μια εργασία σε ένα περιβάλλον Linux/UNIX και μια εργασία FTP, όλες γίνονται μέρος του ίδιου framework διαχείρισης. Ολες ξεκινούν την εκτέλεση τους από το ίδιο μέρος, όλες διαχειρίζονται και παρακολουθούνται από την ίδια θέση.
Jobs
Σε έναν υπολογιστή, ένα batch job αποτελεί ένα πρόγραμμα το οποίο τρέχει χωρίς να χρειάζεται περαιτέρω αλληλεπίδραση με τον χρήστ η. Κλασικό παράδειγμα batch jobs σε ένα PC αποτελούν εργασίες, όπως είναι μια αίτηση εκτύπωσης ή μια ανάλυση ενός Web site log. Στα μεγάλα εταιρικά δίκτυα, τα batch jobs συχνά τρέχουν από ένα administrator, ενώ μερικά από αυτά έχουν καθοριστεί ώστε να τρέχουν σε συγκεκριμένη ώρα. Σε μερικά υπολογιστικά συστήματα τα batch jobs τρέχουν στο background και τα «κανονικά» προγράμματα, αυτά που αλληλεπιδρούν άμεσα με τον χρήστη, τρέχουν στο foreground. Γενικά, τα προγράμματα που λειτουργούν μέσω αλληλεπίδρασης με το χρήστη έχουν προτεραιότητα σε σχέση με τα batch προγράμματα, τα οποία εκτελούνται σε εκείνα τα χρονικά διαστήματα στα οποία τα κανονικά προγράμματα περιμένουν τις αιτήσεις των χρηστών.
Υπό μια γενικότερη έννοια, ένα «job» εκφράζει ένα είδος αυτοματισμού που λαμβάνει χώρα σε ένα σύστημα IT ή αντιπροσωπεύει μια ενέργεια που πρέπει να εκτελεστεί. Ενα IT job μπορεί να τρέχει ένα αρχείο batch ή script. Μπορεί ακόμα να τρέχει ένα shell command ή να αντιπροσωπεύει μια εργασία σε μια βάση δεδομένων. Βασικά, οτιδήποτε προκαλεί αλλαγή σε ένα σύστημα μπορεί να χαρακτηριστεί ως job. Για παράδειγμα, μπορεί να δημιουργήσει κανείς ένα job με την ονομασία «Connect to Oracle database» και να το χρησιμοποιεί κάθε φορά που χρειάζεται να κάνει μια σύνδεση με μια Oracle database από οπουδήποτε. Επιπλέον, μπορεί κανείς να συνδυάζει διαφορετικά jobs για να ολοκληρώσει ένα σχέδιο (plan). Οπως να στείλει δεδομένα κάπου. Στην προκειμένη περίπτωση εκτελούνται τρία jobs: ένα μέσω του οποίου γίνεται σύνδεση σε μια βάση δεδομένων, ένα δεύτερο που εξάγει δεδομένα από τη βάση δεδομένων και, τέλος, ένα τρίτο που ανεβάζει αυτά τα δεδομένα μέσω FTP σε μια συγκεκριμένη διεύθυνση.
Τα κέρδη της αυτοματοποίησης
H τεράστια αύξηση των jobs που χαρακτηρίζει σήμερα την υποδομή IT μιας επιχείρησης, κάνει επιτακτική την ανάγκη αποτελεσματικού ελέγχου, προγραμματισμού και διαχείρισης τους. Η χρήση αυτοματοποιημένων λύσεων job scheduling μπορεί να φέρει σημαντικά οφέλη, όπως:
Μείωση κόστους: καθώς η επιχείρηση επεκτείνεται και προσθέτει περισσότερη υπολογιστική ισχύ στα συστήματα της, αυξάνει ο αριθμός των jobs. Αυτό σημαίνει ότι η χειροκίνητη εκτέλεση των jobs προκαλεί περισσότερη σπατάλη χρόνου και αύξηση του κόστους, καθώς για τη διεκπεραίωση τους απαιτούνται υψηλά αμειβόμενοι και εξειδικευμένοι επαγγελματίες, οι οποίοι θα ξοδεύουν το χρόνο τους για να φέρουν εις πέραν μονότονες, επαναλαμβανόμενες εργασίες.
Μια αυτοματοποιημένη λύση job scheduling μπορεί να μειώσει το κόστος σε εξειδικευμένο προσωπικό, απελευθερώνοντας το για πιο παραγωγικές διαδικασίες.
Αύξηση παραγωγικότητας: η αυτοματοποίηση του job scheduling σημαίνει ότι τα jobs εκτελούνται μια φορά. Και όταν ένα job τελειώνει ξεκινά αυτόματα το επόμενο. Συν τις άλλοις, ο αυτοματισμός βελτιώνει την αποτελεσματικότητα και μειώνει το κίνδυνο του ανθρώπινου λάθους.
Αποτελεσματικότερη χρήση των πόρων: το job scheduling βελτιστοποιεί την κατανάλωση των πόρων. Οι υπάρχοντες πόροι σε υπολογιστική ισχύ και ανθρώπινο δυναμικό εκμεταλλεύονται πιο αποτελεσματικά
Γρήγορο ROI: οι Διευθύνσεις Πληροφορικής χρησιμοποιούν ένα μεγάλο μέρος του budget τους για τη διαχείριση των συστημάτων τους. Κάτι που μπορεί να βελτιωθεί σημαντικό με τη χρήση μιας λύσης job scheduling, η οποία οδηγεί σε ένα γρήγορο ROI.
Η κατάλληλη λύση
Το να αγοράσει και να ενσωματώσει στο πληροφοριακό σύστημα κανείς μια λύση job scheduling είναι μόνο το πρώτο βήμα. Καθώς αυτό που παίρνει, είναι συνήθως ένα άδειο framework, το οποίο θα πρέπει να εμπλουτίσει προσθέτοντας τα δικά του jobs και plans (σύνολο από jobs που διεκπεραιώνουν μια συγκεκριμένη διαδικασία). Ετσι, εν τέλη, μια λύση job scheduling είναι ένα σύνολο που διαμορφώνεται κατόπιν, με βάση τις ανάγκες της εκάστοτε Διεύθυνσης Πληροφορικής. Μια φρέσκια εγκαταστημένη λύση δεν θα ξεκινήσει να αυτοματοποιεί άμεσα το σύστημα, χρειάζονται οι σχετικές παραμετροποιήσεις.
Γι' αυτό η επιλογή της κατάλληλης λύσης job scheduling είναι ιδιαίτερα σημαντική. Η σωστή λύση διαθέτει τα απαραίτητα modules, ώστε να ενσωματωθεί στην υποδομή του data center.
Διαθέτει ένα πλούσιο σετ διακοπτών ενεργοποίησης (triggers) που θα φέρνουν απεριόριστη ευελιξία στο καθορισμό των εκάστοτε jobs και το πότε αυτά θα ξεκινούν. Και εν τέλει, η σωστή λύση θα σας βοηθήσει να επιτύχετε όλους τους επιθυμητούς αυτοματισμούς, εύκολα, με τη δέουσα προσοχή και με όλα τα εργαλεία που απαιτούνται, ώστε να ενορχηστρώσετε ολόκληρες ομάδες ΙΤ. Η δυνατότητα ενσωμάτωσης σε διαφορετικά περιβάλλοντα, η πληθώρα των διακοπτών ενεργοποίησης και η διαχείριση αποτελούν τις τρεις βασικές περιοχές στις οποίες πρέπει να εστιάσει κανείς πριν επιλέξει μια λύση job scheduling.
Αλλά δεν είναι μόνο τα παραπάνω, υπάρχουν πολλά ακόμα πράγματα που πρέπει κανείς να εξετάσει πριν καταλήξει σε μια λύση job scheduling, όπως:
- Καταρχήν, για να είναι μια λύση job scheduling χρήσιμη θα πρέπει να συνεργάζεται με οποιοδήποτε δυνατή τεχνολογία. Αυτό σημαίνει, για παράδειγμα, υποστήριξη κάθε διαφορετικής βάσης δεδομένων, μαζί με τις συναφείς γλώσσες query και management. Σημαίνει, επίσης, την ενσωμάτωση με τις εφαρμογές, είτε άμεσα είτε μέσω Web services. Απαιτεί, συνάμα, την άμεση ή έμμεση ενσωμάτωση με όλους τους μηχανισμούς μεταφοράς αρχείων, καθώς τα δεδομένα που επεξεργάζονται σχεδόν πάντα θα χρειαστεί να μεταφερθούν κάπου άλλου, κάποια στιγμή. Και θα πρέπει να είναι ικανή στο να διαχειρίζεται τη μετατροπή δεδομένων σε διαφορετικά formats καθώς αυτά επεξεργάζονται ή μετεγκαθίστανται.
- Οι πλατφόρμες, οι εφαρμογές και οι τεχνολογίες αποτελούν μόνο το πρώτο επίπεδο ενσωμάτωσης που απαιτεί μια λύση IT job scheduling. Για να είναι εφικτή η παροχή υποστήριξης για μια εφαρμογή, η λύση θα πρέπει να είναι ικανή, ώστε να διεισδύει στις δραστηριότητες και συμπεριφορές κάθε εφαρμογής.
- Οι λειτουργίες ενορχήστρωσης ανάμεσα σε πλατφόρμες, εφαρμογές και τεχνολογίες είναι τότε μόνο χρήσιμες, όταν η λύση IT job scheduling υποστηρίζει όλο το πεδίο των γλωσσών scripting. Η ανεξαρτησία από την εκάστοτε γλώσσα παραγωγής scripts είναι απαραίτητη.
- Τα queues εκπροσωπούν ένα μηχανισμό για τη διαχείριση και το καθορισμό προτεραιοτήτων σε jobs και plans. Μια λύση job scheduling θα πρέπει να αξιοποιεί και να υποστηρίζει τα πολλαπλά queues διαφορετικών προτεραιοτήτων, ώστε να μην υπάρχει αρνητική επίδραση στην απόδοση της, αλλά και στην απόδοση των διαφορετικών υπολογιστικών συστημάτων που συνδέει.
- Η ευελιξία των διακοπτών ενεργοποίησης είναι αυτή που κάνει μια λύση job scheduling να ξεχωρίζει από μια άλλη. Πρέπει, λοιπόν, να υποστηρίζονται τα file triggers (αυτά ενεργοποιούν την εκτέλεση ενός job βασιζόμενα στην παρουσία ή τα χαρακτηριστικά ενός αρχείου, π.χ. ενεργοποιούν τις διαδικασίες που ακολουθούν τη δημιουργία ενός αρχείου), τα message triggers, τα event based triggers (διακόπτες ενεργοποίησης που σχετίζονται με τις δραστηριότητες που λαμβάνουν χώρα σε ένα σύστημα) και τα time based triggers (ενεργοποιούν την εκτέλεση ενός job σε συγκεκριμένες χρονικές στιγμές).
- Οι μεταβλητές και άλλοι τύποι δυναμικών δεδομένων είναι κρίσιμα για την επαναχρησιμοποίηση μιας λύσης job scheduling. Γι' αυτό θα πρέπει να υποστηρίζεται η δυνατότητα χρήσης μεταβλητών, στα jobs και στα plans, αλλά και στις σχέσεις μεταξύ τους.
Διαβάστε εδώ το άρθρο του Γιώργου Φετοκάκη στο netweek.gr
Σχόλια