[InterBIZ Newsletter Logo]

Τι είναι το QoS (Quality of Service)
16/11/2001 (Ορισμός, αντιρρήσεις και μια εναλλακτική πρόταση.) Γιώργος Επιτήδειοςgepiti@gepiti.com

 

Ορισμός

QoS ονομάζουμε την πρακτική της παροχής υπηρεσιών εγγυημένης ποιότητας. Πιο συγκεκριμένα, σύμφωνα με το whatis.com, "στο Internet και στα δίκτυα γενικότερα ονομάζουμε QoS την άποψη ότι υπηρεσίες όπως η ταχύτητα μεταφοράς δεδομένων, ο αριθμός των σφαλμάτων και άλλα χαρακτηριστικά μπορούν να μετρηθούν, να βελτιωθούν και (σε κάποιο βαθμό) να παρασχεθεί εγγύηση για το επίπεδό τους".

Στην Ελλάδα και σε όλο τον κόσμο, πολλές εταιρείες παρέχουν (ή ετοιμάζονται να παράσχουν) συμβόλαια όπου προσφέρονται εγγυημένες υπηρεσίες κάτω από αυτό το μοντέλο, ενώ υπάρχουν ακόμη και τεχνολογικά πρότυπα που αναπτύχθηκαν ειδικά γι' αυτό το σκοπό (π.χ. το Common Open Policy Service).

Η ιδέα του QoS είναι πολύ δημοφιλής μεταξύ των μεγάλων προμηθευτών Internet γιατί τους παρέχει τη δυνατότητα να διαχωρίσουν τη θέση τους από τους πολύ φθηνότερους "ψιλικατζήδες" της αγοράς (δηλαδή τις μικρότερες και πιο ευέλικτες εταιρείες), υπογράφοντας συμβόλαια όπου περιγράφεται ακριβώς το επίπεδο των προσφερόμενων υπηρεσιών. (Επίπεδο που ισχυρίζονται ότι είναι πολύ υψηλότερο από εκείνο των "μικρών".) Εκτιμάται επίσης ότι το QoS θα αποδειχθεί πολύ δημοφιλές και μεταξύ των πελατών που σήμερα αδυνατούν να συγκρίνουν τις υπηρεσίες διαφορετικών ISP για να επιλέξουν τον καλύτερο.

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

  1. Είναι κάτι το μετρήσιμο

  2. Μπορεί να περιγραφεί επακριβώς εκ των προτέρων

  3. Είναι δυνατόν να παρασχεθεί σε εγγυημένο βαθμό

Δυστυχώς όμως, στην πράξη δεν συμβαίνει τίποτε από τα παραπάνω.

Οι αντιρρήσεις για το QoS

1. Η ποιότητα δεν μετριέται

Με τη συντροφιά ενός Peugeot 305 ο πατέρας μου έχει ταξιδέψει περισσότερα από 300.000 χιλιόμετρα και φυσικά είναι πολύ ευχαριστημένος από το αυτοκίνητό του. Ένας φίλος του όμως είχε ακριβώς το ίδιο αμάξι, αλλά δυστυχώς αποκόμισε από αυτό πολύ διαφορετικές εμπειρίες. Κάθε πρωί μάλιστα, πριν το οδηγήσει, του έδινε και μια κλωτσιά από τα νεύρα του γιατί είχε αποδειχθεί πολύ αναξιόπιστο!

Κάθε άνθρωπος λοιπόν έχει διαφορετική αντίληψη του τι σημαίνει ποιότητα. Επίσης, οι περισσότεροι από μας έχουμε την τάση να αναγνωρίζουμε και να εκτιμούμε όχι την ύπαρξη, αλλά την απουσία της. (Παρά τα καλά του λόγια για την Peugeot, το δεύτερο αυτοκίνητο που αγόρασε ο πατέρας μου ήταν Opel).

2. Η ποιότητα δεν περιγράφεται εκ των προτέρων

Μια υπηρεσία είναι αδύνατον να οροθετηθεί επακριβώς με αντικειμενικούς όρους. Αυτό μπορεί να συμβεί μόνο για πολύ συγκεκριμένα μέρη της (π.χ. παροχή ρεύματος) αλλά όχι για το όλον. Για παράδειγμα, αν θέλουμε να μας εγγυηθούν για τη λειτουργία του Web site μας μπορούμε να ορίσουμε τις ακόλουθες παραμέτρους ελέγχου:

  1. Ρεύμα

  2. Αδιάλειπτη λειτουργία του Web server

  3. Συνεχής σύνδεση με το Internet

  4. Ταχύτητα σύνδεσης

  5. DNS (υπηρεσία διευθυνσιοδότησης)

Αν νομίζετε όμως ότι αυτά σημαίνουν πως έχουμε site που λειτουργεί, σκεφθείτε ακόμη τα παρακάτω:

  1. Αν παρουσιαστεί πρόβλημα με το hardware τι γίνεται; (Web server = μόνο το λογισμικό)

  2. Αν το μηχάνημα λειτουργεί, αλλά έχει πέσει το TCP IP stack ποιος ευθύνεται;

  3. Αν υπάρχει σύνδεση με ping, αλλά όχι με http θεωρούμε ότι παρεσχέθη η πρόσβαση στο Internet;

  4. Αν υπάρχει μεγάλο packet loss (χάνονται πολλά δεδομένα), η υπηρεσία θεωρείται ότι λειτουργεί κανονικά;

  5. Αν δεχθούμε επίθεση Denial of Service και γεμίσει η γραμμή από άχρηστα πακέτα ποιος είναι αρμόδιος να λύσει το πρόβλημα;

  6. Αν λειτουργεί η υπηρεσία web, αλλά όχι κάποιο από τα συνοδευτικά scripts που έχουν εγκατασταθεί στο μηχάνημα θεωρούμε ότι το site λειτουργεί ή όχι;

  7. Αν πέσει το site λόγω υπερβολικού φόρτου ποιος ευθύνεται;

Θα μπορούσα να συνεχίσω αυτή τη λίστα επ' αόριστον. Νομίζω όμως ότι είναι πλέον ξεκάθαρο αυτό που θέλω να δείξω. Η πραγματικότητα είναι πολύ περίπλοκη για να περιγραφεί με ακρίβεια. Γι' αυτό και όταν θα έρθει η "κακιά στιγμή" και διαβαστούν τα χαρτιά, ανακαλύπτουμε συνήθως ότι προφανείς όροι όπως "σύνδεση στο Internet", ή "παροχή υπηρεσίας" έχουν πολλές και αντιφατικές ερμηνείες.

3. Η παροχή εγγυημένων υπηρεσιών πληροφορικής δεν είναι πρακτικά εφικτή

Η παραπάνω δήλωση φαίνεται απόλυτη. Θυμηθείτε όμως το ανέκδοτο που ακολουθεί:

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

- Πρέπει να υπάρχει πρόβλημα με τα ηλεκτρολογικά. Καλύτερα να το σπρώξουμε για να πάρει μπρος.

Ο χημικός διαφωνεί με την άποψή του και λέει:

- Εγώ πιστεύω ότι το πρόβλημα βρίσκεται στη βενζίνη. Ίσως να είναι νερωμένη. Καλύτερα να αδειάσουμε το ντεπόζιτο και να βάλουμε καινούριο μείγμα.

Ο κομπιουτεράς όμως δεν συμφωνεί με κανέναν από τους δύο και τους συμβουλεύει:

- Το πρόβλημα δεν έχει σημασία. Εγώ νομίζω ότι το αμάξι θα πάρει μπρος και θα δουλέψει κανονικά αν βγούμε και ξαναμπούμε!

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

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

Μια εναλλακτική προσέγγιση

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

Η πρακτική αυτή ονομάζεται overengineering και αποτελεί μια πολύ δημοφιλή εναλλακτική προσέγγιση στο θέμα της ποιότητας των παρεχομένων υπηρεσιών. Εκ πρώτης όψεως, η επένδυση σε πολλαπλάσιο εξοπλισμό απ' όσο χρειαζόμαστε είναι ανόητη (stupid) και θα ήταν προτιμότερο να υιοθετήσουμε μια πιο έξυπνη (smart) προσέγγιση όπου η κατανομή πόρων και δυνατοτήτων θα γίνεται αποκλειστικά και μόνο με βάση τις ανάγκες μας.

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

Συμπεράσματα

Αναγνωρίζω ότι οι απόψεις αυτές δεν είναι δημοφιλείς ούτε μεταξύ των στελεχών επιχειρήσεων ούτε μεταξύ των κομπιουτεράδων. Τα στελέχη ονειρεύονται ένα αυτόματο σύστημα που θα λύσει ως δια μαγείας όλα τα προβλήματά τους και θα τους επιτρέψει να βγάλουν "εκτός μάχης" τις μικρότερες και πιο ευέλικτες εταιρείες που δεν θα μπορέσουν να αγοράσουν τις πανάκριβες εφαρμογές QoS.

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

Και οι δύο όμως κάνουν λάθος. Τα στελέχη πρέπει να καταλάβουν ότι τα συστήματα QoS είναι τόσο ακριβά που (στο ορατό μέλλον) θα ανήκουν πάντοτε στους προμηθευτές, αλλά όχι στους πελάτες. Οι τελευταίοι λοιπόν πολύ δύσκολα θα εμπιστευτούν εγγυημένες υπηρεσίες όταν αυτός που τις παρέχει είναι και εκείνος που τις ελέγχει και κρίνει την αποτελεσματικότητα και την αξιοπιστία τους.

Τέλος, οι κομπιουτεράδες θα πρέπει να θυμηθούν την εποχή που σπούδαζαν προγραμματισμό. Η Assembly είναι η ισχυρότερη και η ταχύτερη γλώσσα προγραμματισμού. Ωστόσο, κανείς (πρακτικά) δεν τη χρησιμοποιεί γιατί είναι εξαιρετικά δύσκολη και περίπλοκη.

Αντίθετα, προτιμούν λιγότερο ισχυρές γλώσσες όπως η C ή ακόμη και πολύ "αδύναμες" όπως η Visual Basic επειδή με αυτές ο προγραμματισμός είναι πολύ πιο εύκολος. Το λογισμικό που παράγεται βέβαια είναι πολύ πιο αργό, απ' ό,τι μια κατασκευή σε Assembly, αλλά η υπολογιστική ισχύς είναι φθηνή και καλύτερα να αγοράσεις γρηγορότερο μηχάνημα παρά να προγραμματίσεις σε ταχύτερο και καλύτερο κώδικα άριστων επιδόσεων.

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

Γιώργος Επιτήδειος

Αποκτήστε μια δωρεάν συνδρομή στο InterBIZ

Επιστροφή στο Αρχείο ’ρθρων Παλαιών Τευχών
Επιστροφή στις Επιχειρηματικές Σελίδες

© 2005 Γιώργος Επιτήδειος
Υποδείξεις, Ερωτήσεις, Σχόλια στην διεύθυνση gepiti@gepiti.com