Το application virtualization δεν αποτελεί πανάκεια. Οι οργανισμοί πρέπει να αντιληφθούν τις προκλήσεις και τους περιορισμούς που υπάρχουν, ώστε να το εκμεταλλευτούν βέλτιστα.

Το application virtualization περιγράφει τεχνολογίες software που βελτιώνουν τη φορητότητα, τη διαχειρισιμότητα και τη συμβατότητα των εφαρμογών, απομονώνοντας τις από το λειτουργικό σύστημα στο οποίο εκτελούνται. Μια πλήρως virtualized εφαρμογή δεν εγκαθίσταται με τον παραδοσιακό τρόπο, αν και εκτελείται σαν να είχε εγκατασταθεί έτσι. Το application virtualization έχει μεγάλο ενδιαφέρον για τις Διευθύνσεις Πληροφορικής, ενώ η υιοθέτηση του αυξάνεται συνεχώς τα τελευταία τρία χρόνια. Προσφέρει στους οργανισμούς σημαντική λειτουργική αποδοτικότητα, ενώ, σύμφωνα με την Gartner, μπορεί να μειώσει το TCO έως και 7%..

Virtualization και streaming
Το PC application virtualization αποτελεί μια τεχνολογία «πακεταρίσματος» εφαρμογών που απομονώνει τις εφαρμογές μεταξύ τους και περιορίζει το βαθμό αλληλεπίδρασης τους με το λειτουργικό που τρέχουν, παρέχοντας μια εναλλακτική πρόταση έναντι του παραδοσιακού τρόπου πακεταρίσματος και εγκατάστασης. Αρκετοί οργανισμοί, ωστόσο, συγχέουν το application virtualization με το application streaming. Το application streaming αποτελεί μια τεχνολογία διανομής που τεμαχίζει μια εφαρμογή σε μικρότερα συστατικά, τα οποία διανέμονται στο PC όταν ο χρήστης αιτείται τις εκάστοτε λειτουργίες τους.

Μερικοί προμηθευτές προϊόντων προσφέρουν και τα δύο. Αν και το application virtualization είναι πιο πολύ διαδεδομένο, τον τελευταίο καιρό παρατηρείται ένα αυξημένο ενδιαφέρον για το application streaming, ως μια μέθοδος διανομής για τα virtualized applications. Στο παρόν άρθρο, ωστόσο, θα επικεντρωθούμε μόνο στο application virtualization.

Οφέλη
Τα κυριότερο κίνητρο για την αρχική υιοθέτηση του application virtualization προήλθε από την ανάγκη διασφάλισης της συμβατότητας. Αυτό οδηγεί σε ένα από τα κυριότερα οφέλη του application virtualization, ήτοι στη μείωση του κόστους μέσω μιας πλατφόρμας ταχύτερου πακεταρίσματος και testing μιας εφαρμογής, μιας υλοποίησης που μειώνει τις κλήσεις στο τμήμα τεχνικής υποστήριξης και αυξάνει την τυποποίηση. Σύμφωνα με τη σχετική μελέτη της Gartner, η μείωση στο TCO μέσω του application virtualization μπορεί να κυμανθεί μεταξύ του 3 και 7%.
Αποτελεσματικότερη διανομή. Το application virtualization μειώνει το χρόνο packaging και ελέγχου των εφαρμογών. Ενώ το packaging μπορεί αρχικά να χρειαστεί περισσότερο χρόνο, με την πάροδο του χρόνου οι εταιρείες επιταχύνουν σημαντικά αυτή τη διαδικασία, καθώς γίνονται πιο οικείοι με αυτή. Από την άλλη τo παραδόσιακό MSI packaging απαιτεί, συχνά, μια προεργασία καθαρισμού για την απομάκρυνση στοιχείων που ενσωματώθηκαν χωρίς ουσιαστικά να χρειάζονται κατά τη διαδικασία του packaging. Η παραπάνω έξτρα διαδικασία καθαρισμού δεν χρειάζεται να γίνει στο application virtualization κι έτσι εξοικονομείται ένα βήμα. Ωστόσο, το πιο σημαντικό κέρδος όσον αφορά στην εξοικονόμηση χρόνου, είναι η απουσία των επαναλαμβανόμενων δοκιμών συμβατότητας που απαιτούνται από τις εφαρμογές, καθώς αυτές είναι απομονωμένες από τις άλλες. Οπως αναφέρει η Gartner, με αυτό τον τρόπο ο συνολικός χρόνος packaging και έλεγχου μπορεί να μειωθεί έως και 60%.
Μείωση στις αιτήσεις τεχνικής υποστήριξης. Το application virtualization μπορεί να μειώσει τις κλήσεις στα τμήματα τεχνικής υποστήριξης που σχετίζονται με προβλήματα συμβατότητας μιας εφαρμογής ή με θέματα που προκύπτουν από τις εγγραφές που κάνουν οι εφαρμογές στην Registry. Φυσικά, αυτό αποτελεί ένα θεωρητικό όφελος καθώς δεν μπορεί κανείς να προβλέψει πόσο συχνά μια εφαρμογή μπορεί να εμφανίσει τέτοιας φύσης ζητήματα.
Τυποποίηση. Οι οργανισμοί πασχίζουν για να διατηρήσουν την τυποποίηση, καθώς οι ανάγκες των χρηστών είναι ποικίλες και μερικές εφαρμογές απαιτούν δικαιώματα administrator για να μπορέσουν να εκτελεστούν. Το application virtualization επιτρέπει στους οργανισμούς να διαχειριστούν περισσότερες εφαρμογές, καθώς επιτρέπει το ευκολότερο packaging, testing, updating κ.λπ. Επιπλέον, το application virtualization επιτρέπει την εκτέλεση μιας εφαρμογής σε user mode, το οποίο σημαίνει ότι μπορούν να εκτελεστούν εφαρμογές που απαιτούν δικαιώματα administrator, σε PCs που έχουν ρυθμιστεί με δικαιώματα στάνταρ χρήστη.

Περιορισμοί
Ενας από τους περιορισμούς του application virtualization είναι το γεγονός ότι μερικές εφαρμογές δεν μπορούν (ή δεν πρέπει) να γίνουν virtualized. Αυτές οι εφαρμογές έχουν, στις περισσότερες των περιπτώσεων, τα ακόλουθα χαρακτηριστικά:
• Εφαρμογές που φορτώνουν κατά τη διάρκεια του. Τα application virtualization tools συσχετίζουν εφαρμογές με χρήστες παρά με μηχανήματα. Αυτό σημαίνει ότι θα πρέπει οι χρήστες να έχουν κάνει login στο σύστημα για να μπορέσουν να λειτουργήσουν.
• Εφαρμογές που σχετίζονται με device drivers.
• Εφαρμογές που χρησιμοποιούν το COM+ μπορούν να δημιουργήσουν διάφορα ζητήματα όταν γίνονται virtualized. Πιο συγκεκριμένα, η λειτουργικότητα που ενεργοποιείται από το COM+ ενδέχεται να προκαλέσει προβλήματα. Σε σπάνιες περιπτώσεις αυτό μπορεί να μην αποτελεί μείζον πρόβλημα, ωστόσο, γενικά οι οργανισμοί αποφεύγουν το virtualization των εφαρμογών COM+.
• Εφαρμογές που έχουν πρόβλημα ενσωμάτωσης στο shell των Windows όταν γίνονται virtualized.

Γενικά, εκτιμάται, σύμφωνα με την Gartner, ότι το 75-80% των εφαρμογών μπορούν να γίνουν virtualized, επειδή δεν διαθέτουν κάποια από τα χαρακτηριστικά που προαναφέραμε παραπάνω. Eπιπλέον, υπάρχουν άλλες εφαρμογές, που αν και από τεχνικής απόψεως μπορούν να γίνουν virtualized, κανονικά δεν θα έπρεπε να γίνουν. Πρόκειται για εφαρμογές που εξαρτώνται από άλλες. Κλασικό παράδειγμα το Microsoft Office και το Outlook. To virtualization απομονώνει τις εφαρμογές μεταξύ τους και κατά συνέπεια κόβει την επικοινωνία τους. Aν και υπάρχουν λύσεις για την αντιμετώπιση τέτοιων καταστάσεων, ο γενικός κανόνας είναι ο εξής: όσο περισσότερες εξαρτήσεις διαθέτει μια εφαρμογή με άλλες, τότε λιγότερο κατάλληλη είναι για να γίνει virtualized. Γι’ αυτό πολλοί οργανισμοί επιλέγουν να μην προχωρήσουν στο virtualization αυτών των εφαρμογών.

Δυσκολίες
Κατά τη διαδικασία του application virtualization, τις περισσότερες φορές είναι πιο πιθανό να αλλαχθεί το αρχικό format της εφαρμογής, κάτι που μπορεί να προκαλέσει λειτουργικά ζητήματα, τα οποία ενδέχεται να μην εντοπιστούν αρχικά. Επιπρόσθετα, ο προμηθευτής της εφαρμογής μπορεί να μην την υποστηρίζει όταν αυτή γίνει virtualized. Γι’ αυτό πρέπει να είναι κανείς πολύ προσεκτικός όταν εφαρμόζει το virtualization σε εφαρμογές που είναι κρίσιμες για την επιχειρηματική λειτουργία. Το πρόβλημα μπορεί να μην προέρχεται από τη αδυναμία μιας εφαρμογής να γίνει virtualized, αλλά κυρίως από το γεγονός ότι οι administrators δεν είναι οικείοι αρκετά με το τρόπο που οι εφαρμογές συμπεριφέρονται όταν γίνονται virtualized.

Η σωστή στρατηγική σε αυτή την περίπτωση είναι να ξεκινά κανείς με το virtualization λιγότερο κρίσιμων για τη λειτουργία μιας επιχείρησης εφαρμογών και αποκτώντας εμπειρία να προχωρήσει, στη συνέχεια, στο virtualization περισσότερων σημαντικών εφαρμογών. Ζητήματα δημιουργούνται και όσον αφορά στις επιδόσεις, καθώς, μερικές φορές παρατηρούνται αργές εκκινήσεις και χαμηλοί χρόνοι ανταπόκρισης στις εφαρμογές που έχουν γίνει virtualized. Αν και οι προμηθευτές λύσεων application virtualization φροντίζουν να περιορίζουν τέτοια φαινόμενα, το πόσο έντονα είναι αυτά εξαρτάται βασικά από τη φύση της εκάστοτε εφαρμογής. Οι εφαρμογές που κάνουν πολλές κλήσεις στην registry ίσως να γίνουν πιο γρήγορες μετά το virtualization, ενώ άλλες εφαρμογές μπορεί να γίνουν πιο αργές.

Software έλεγχος
Η φορητότητα που προσφέρει το application virtualization δημιουργεί μια σημαντική πρόκληση διαχείρισης. Οι χρήστες μπορούν να μεταφέρουν τις εφαρμογές τους σε ένα USB stick και να τις εκτελέσουν σε desktops τα οποία δεν έχουν αδειοδοτηθεί για αυτές τις εφαρμογές. Τα εργαλεία application virtualization επιχειρούν να το διευθετήσουν αυτό με διάφορους τρόπους. Κάποια διαθέτουν μια γηγενή λειτουργία παρακολούθησης και μέτρησης των αδειών. Κάποια άλλα διαθέτουν ένα μηχανισμό πρόληψης που εμποδίζει την εκτέλεση μιας εφαρμογής αν το PC δεν έχει ελεγχθεί από τον server διαχείρισης για ένα συγκεκριμένο χρονικό διάστημα.

Αυτό σημαίνει ότι χρειάζεται να καταλάβει κανείς το κίνδυνο να συμβεί αυτό και τις συνεπαγόμενες συνέπειες και στη συνέχεια να καθορίσει την πολιτική ελέγχου που θα περιορίσει το ρίσκο. Αν η εφαρμογή διαθέτει ένα υψηλό κόστος απόκτησης άδειας χρήσης, οι administrators ίσως να θέλουν να διαμορφώσουν την πολιτική ελέγχου με ένα χρονικό διάστημα δύο ή τριών ημερών. Καθώς, ωστόσο, υπάρχει η δυνατότητα να τη χρησιμοποιήσει κανείς δωρεάν ίσως και να μην ενδιαφερθούν να το κάνουν. Αυτός είναι και ένας από τους λόγους που οι περισσότεροι οργανισμοί ενσωματώνουν τα application virtualization tools που χρησιμοποιούν με τα PC configuration life cycle management (PCCLM) tools.

Τα τελευταία μπορούν να κάνουν μια απογραφή των virtualized applications για την παρακολούθηση της συμμόρφωσης και της παροχής αδειών. Οι οργανισμοί χρειάζεται επίσης να χρησιμοποιήσουν αυτά τα εργαλεία για να ενοποιήσουν τη διανομή software και να περιορίσουν τις περιττές υποδομές. Η ενσωμάτωση μεταξύ του application virtualization και των PCCLM tools έχει βελτιωθεί σημαντικά τα τελευταία χρόνια. Πολλοί προμηθευτές PCCLM υποστηρίζουν εξ αρχής πλέον πολλαπλά προϊόντα application virtualization.
Πριν επιλέξει κανείς, ωστόσο, μια λύση θα πρέπει να εξετάσει το πόσο καλά γίνεται αυτή η ενσωμάτωση.

Για παράδειγμα, το PCCLM tool επιτρέπει τη χρήση όλων των επιλογών διανομής για τη διάθεση ενός virtualized application; Δίνει κάποια πρόσθετη δυνατότητα διανομής που δεν διαθέτει το εργαλείο application virtualization tool, ή απλά επιτρέπει τη διάθεση virtualized applications μέσα από το κανάλι διανομής του; O βαθμός υποστήριξης μιας λύσης application virtualization μπορεί να διαφέρει ανάμεσα σε δύο προμηθευτές εργαλείων PCCLM, και αυτό είναι κάτι που πρέπει να ελεχθεί διεξοδικά πριν καταλήξει κανείς σε μια λύση.

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