Γιατί με έφυγαν

Για δείτε τι βρήκα στο χρονοντούλαπό μου (usb stick).

—————————————————————————————————————-

Αξιότιμοι κύριοι,
Με τη παρούσα επιστολή μου θα ήθελα να θέσω υπ’ όψη σας τις απόψεις μου σχετικά με την υπηρεσία φωνής  , καθώς επίσης και να αναλύσω τους λόγους των αντιρρήσεων μου που αφορούν :
Α) το  επίπεδο σχεδιασμού και υποδομής της εν λόγω υπηρεσίας
Β)  τα operations της ———– που καλούμαι να υποστηρίξω

A)    Σε επίπεδο υποδομών

1)    O asterisk σαν PBX και φτηνό εργαλείο ήταν εξαιρετικό στην προσπάθειά μας να μπούμε στην αγορά της φωνής χωρίς μεγάλο αρχικό κόστος επένδυσης. Καταφέραμε και δημιουργήσαμε τον πρώτο SIP provider στην Ελλάδα και να κάνουμε και ένα πολύ καλό τζίρο για την εταιρεία με τις υπηρεσίες prepaid και callshops.
Ομως δέν είναι ένα εργαλείο carrier class που θα μπορέσουμε επάνω του να βασιστούμε και να σαρώσουμε την αγορά. Απόδειξη τούτου είναι πως δεν έχει φτιαχτεί για να τρέχει σε clustered περιβάλλον με πολλούς servers να λειτουργούν παράλληλα, βλέπε τα προβλήματα που έχουμε σε αυτόν τον τομέα.
Επιπλέον ακομη και στον ___-01 που χειρίζεται το retail _-voice έχουμε τακτικά ανεξήγητα crashes Μέσα στον Φεβρουάριο είχαμε 7 crashes όπως φαίνεται απο τον παρακάτω πίνακα

-rw——-  1 root root 313597952 Feb 11 14:47 core.24071
-rw——-  1 root root 422899712 Feb  9 16:46 core.29088
-rw——-  1 root root 494071808 Feb  9 15:24 core.1010
-rw——-  1 root root 339755008 Feb  9 11:25 core.31362
-rw——-  1 root root 289533952 Feb  7 13:14 core.31519
-rw——-  1 root root 302706688 Feb  3 19:44 core.15257
-rw——-  1 root root 442327040 Feb  2 21:59 core.14643

Γεγονός που μου δημιουργεί ανασφάλεια για υπέρ-μαζική χρήση του σαν SIP server.

2)    H επιμονή να χρησιμοποιούμε τους asterisk σαν media gateways για το voice δεν είναι η σοφότερη.
Οποιοδήποτε crash ρίχνει όλο το traffic που χειρίζεται η εκάστοτε μηχανή. Δημιουργεί και δυνητικά καταστάσεις όπου τοπικό traffic στον κόμβο του Κορωπίου θα περνάει καί απο το Μαρούσσι εάν οι call control στο Κορωπί είναι κατεβασμένοι. Σε αντίθεση σε switch only mode θα περνούσε στο Μαρούσσι μόνο το singalling και το voice stream θα έμενε τοπικά στο Κορωπί.

Για παράδειγμα άς πούμε πως έχουμε ένα πρόβλημα στους call control sto Κορωπί
Τότε το media stream θα ακολουθήσει την παρακάτω διαδρομή

      Κορωπί               | Μαρούσσι
                           |
Cisco ---------------------|--------CC
 #                         |         |
       Application Server--|---------+
 #     |                   |
       +-------------------|--------CC
 #                         |         |
Cisco----------------------|---------+

To αποτέλεσμα είναι πως όλο το voice πάει και ξαναέρχεται αντί να μένει τοπικά
όπως φαίνεται με την διακεκομμένη γραμμή με τα τετραγωνάκια. Αντιλαμβάνομαι πως έχουμε λάβει τα απαραίτητα μέτρα με τη χρήση διπλών call controls ανα τοποθεσία , πλήν όμως δεν μπορώ να αποκλείσω οτι φαινόμενα όπως το παραπάνω δεν θα εμφανιστούν ειδικά σε περιπτώσεις ανεβασμένου φόρτου όπου οι τοπικοί Call Controls θα γεμίσουν.

B)    Σε επίπεδο λογισμικού
1)    H επιμονή να χρησιμοποιούμε την mysql σαν βάση δεδομένων δεν είναι η καλύτερη και εξηγούμαι. Η mysql λειτουργεί είτε σαν ISAM ή INNODB. Σαν isam είναι πολύ γρήγορη , δυστυχώς κάθε μεγάλο select κλειδώνει το table της βάσης με αποτέλεσμα να δημιουργειται μια χιονοστιβάδα απο requests που γονατίζουν το service. Τέτοια φαινόμενα ήδη αντιμετωπίσαμε την Δευτέρα 13/02/2006 και προβλέπω να επανεμφανιζονται. Ειδικά εαν αρχίσουμε να ζητάμε reports απο αυτες τις βάσεις θα το βρούμε μπροστά μας. Δυστυχώς με το INNODB system  η βάση είναι πολύ αργή για να χρησιμοποιηθεί για online voice switching.

2)    Ολα μα ολα τα applications πρεπει να έχουν νια μέθοδο fall back σε περίπτωση που η βαση(εις) δεν λειτουργεί. Δεν νομίζω πως χρειάζεται να το εξηγήσω περαιτέρω.

3)    Χρειαζόμαστε οπωσδήποτε ένα μηχανισμό που θα κάνει caching τα στοιχεία call routing. Κάτω απο βαρύ φορτίο, δηλαδή με δεκαπλάσιο όγκο κίνησης ή  και με εκατονταπλάσιο δεν πιστεύω πως οι βάσεις μπορούν να αντέξουν. Το να γεμίζουμε τα data centers με μηχανήματα με βασεις και asterisks είναι στην καλύτερη περίπτωση αντιπαραγωγικό και στη χειρότερη κοστοβόρο για την εταιρεία μιας και απαιτεί όχι μονο hardware αλλα και χωρο στα data centers, προβλεψεις για backup ,storage και διαχειριστες. Το συνολικο αποτελεσμα είναι  μια υπερβολική άυξηση του κόστους σε σχέση με τις οικονομικές αποδόσεις της υπηρεσίας.

4)        Aυτη τη στιγμή το clearing κάθε κλήσης γίνεται online με μία ή παραπάνω κλήσεις σε CGI προγράμματα που τρέχουν κάτω απο έναν apache web server.
Δεν θεωρώ πως ο apache ειναι εργαλείο για voice application development δεν έχει σχεδιαστεί ούτε και δοκιμαστεί σε αυτόν το ρόλο και δεν υπαρχει η εμπειρια ουτε η βιβλιογραφία για κάτι τέτοιο. Ηδη το 24% των clearances έχει καθυστέρηση ανω του ενός δευτερολέπτου , η οποία καθυστέρηση οφείλεται στον συνδυασμο apache-cgi-mysql.    Στην ελάχιστη των περιπτώσεων θα αντιμετωπίσουμε τα ίδια προβλήματα scaling που έχουν να κάνουν με τις βάσεις

Γ) Σε προσωπικό επίπεδο
Η αντίρησή μου να αναλάβω και επίσημα τα operations , την οποία έχω εκφράσει και προφορικά στον Γενικό μας Διευθυντή, είναι πως μέχρι τώρα ανεπίσημα έτρεχα το product and service development της εταιρείας και δεχόμουν να τρέχω τα operations προκειμένου να εξυπηρετήσω στο μέγιστο δυνατό βαθμό τις ανάγκες της εταιρίας. Το να μεταφερθώ σε operations only mode το θεωρω υποβιβασμό και ως εκ’ τούτου εκφράζω τη βαθύτατη δυσαρέσκειά μου για την απόφαση αυτή της διοίκησης.
Επιπροσθέτως τα εργαλεία που έχω στη διάθεσή μου ,( OpenNms ) έχουν μια
μυριάδα bugs που τα καθιστουν αντιλειτουργικα για το ρόλο που θέλουμε. Χαρακτηριστικά αναφέρω πως έχουν δημιουργήσει μέσα στο Φεβρουάριο 905
διαφορετικά alerts για disk space σε όλες τις μηχανές. Είναι φυσιολογικο και
επομενο καποια να ξεφεύγουν και να δημιουργούν τα γνωστά προβλήματα στις υποδομές μας.

Παραμενω στην διακριτικη σας ευχερεια

Με εκτίμηση
Αγγελος Καραγεωργιου

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: