Jump to content


Επιλογή server για web application


Recommended Posts

Καλησπέρα σε όλους,

θέλω την βοήθεια σας σε ένα θέμα που με απασχολεί, ασχολούμαι με ένα πρότζεκτ και συγκεκριμένα με ένα web application όπου ο χρήστης χρησιμοποιώντας τον υπολογιστή του με έναν browser θα μπορεί να έχει πρόσβαση στην εφαρμογή.

Το πρόβλημα λοιπόν που έχω είναι το infrastructure του/των server που θα φιλοξενούν το όλο πρότζεκτ. Πέρα απο web server που θα φιλοξενεί το περιβάλλον διεπαφής του χρήστη, χρειάζομαι και computing power ώστε ο αλγόριθμος του application να μπορεί σε ένα σχετικά εύγλογο χρονικό διάστημα να παράγει και να επιστρέφει τα αποτελέσματα στον χρήστη.(είναι cpu intensive ο αλγόριθμος)

 

Θα προσπαθήσω με μια εικόνα μπας και σας βοηθήσω καλύτερα

 

πολύ απλοικά :

το PC-χρήστης δίνει κάποια ορίσματα στη σελίδα-φόρμα που βλέπει(web server) -> ο αλγόριθμος παίρνει τα ορίσματα αυτά κάνει τους υπολογισμούς του και επιστρέφει στη σελίδα που βλέπει ο χρήστης το αποτέλεσμα.

Θα υπάρχει φυσικά και μια βάση δεδομένων που θα αποθηκεύονται κάποιες βασικές πληροφορίες που θα δίνει ο χρήστης(πχ login credentials της σελίδας, όνομα, επίθετο κλπ) όπου θα ανατρέχει ο αλγόριθμος και θα κάνει select τις πληροφορίες που χρειάζεται.

 

Τι λύσεις υπάρχουν για να υλόποιηθεί το συγκεκριμένο project? Θα πρέπει να έχω 3 servers χωριστά, έναν web, ένα δυνατό μηχάνημα που θα τρέχει ο αλγόριθμος και ξεχωριστά ο SQL server?

Υπάρχει κάτι καλύτερο σε infrastucture, ποιο γρήγορο ή αποδοτικό? Κάποιο πακέτο ίσως που να προσφέρει αυτές τις λειτουργίες χωρίς να χρειάζεται να νοικιάσω 3 μηχανήματα?

 

κόιταζα σε azure και την αντίστοιχη υπηρεσία της google, υπάρχει κάποια άλλη υπηρεσία που να προσφέρει τέτοιες λύσεις ίσως και ποιο οικονομικά στην αρχή?(δεν θα είναι σε πρώτη φάση εμπορικό το όλο project, οπότε είναι αδύνατο να δίνεις 2 χιλιάρικα++ σε servers χωρίς να έχεις εισόδημα, σίγουρα θα κοιτάξουμε την λύση κάποιας χρηματοδότησης(kickstart κλπ) αλλά σε πρώτη φάση πρέπει να δω και να πειραματιστώ στο πως θα τρέχει το όλο πράγμα και  πως θα υλοποιηθεί.

Ο αλγόριθμος είναι ακόμα σε ανάπτυξη οπότε δεν μπορώ να ξέρω τι resources θα τρώει, σίγουρα θα πέσει σκληρό optimization αλλά αρχικά με νοιάζει έστω και σε θεωρητικό επίπεδο πως και που θα φιλοξενηθεί το application.

 

Ευχαριστώ πολύ!

 

 

Drawing1.jpg

Link to comment
Share on other sites

Αν ακομα δεν ξερεις τα resources εμεις τι να πουμε :) Παιζουν οπως καταλαβαινεις πολλα ρολο, traffic, bandwidth κλπ. Δοκιμη με ολα σε ενα μηχανημα σε lan εκανες;

Στη δικη μου startup τα εχουμε ολα στο azure και οποτε εχουμε spikes σε traffic κανει autoscale.

  • Like 2
Link to comment
Share on other sites

49 minutes ago, unseen said:

Αν ακομα δεν ξερεις τα resources εμεις τι να πουμε :) Παιζουν οπως καταλαβαινεις πολλα ρολο, traffic, bandwidth κλπ. Δοκιμη με ολα σε ενα μηχανημα σε lan εκανες;

Στη δικη μου startup τα εχουμε ολα στο azure και οποτε εχουμε spikes σε traffic κανει autoscale.

κοίτα τα resources είναι τελείως αντικειμενικά γιατί εξαρτώνται απο το πλήθως και τα δεδομένα που θα επεξεργάζεται ο αλγόριθμος, σε πρώτη φάση δεν μας απασχολεί γιατί όσο ζορίζεται ανεβαίνουμε και tiers στο hardware, ποιο πολύ με ενδιαφέρει να δω την δομή, δηλαδή πόσα και τι μηχανίματα θα νοικιάσω. Θα είναι στο cloud? θα είναι dedicated servers?

 

π.χ στο azure θα χρειαστώ έναν web server, έναν database και έναν virtual όπου θα τρέχει η εφαρμογή και τα διάφορα daemons, δηλαδή 3 διαφορετικά πακέτα/services ή μπορώ να πάρω ένα δυνατό μηχανημα όπου θα κάνει τα πάντα?

σαν δομή ξαναλέω τι είναι ποιο feature proof που να "αναβαθμίζεται" εύκολα ώστε να μπορεί να ανταπεξέλθει σε υψυλό traffic στο μέλλον?

ρωτάω γιατί μπορεί στην αρχή να στείσουμε το όλο πρότζεκτ σε κάτι απλό(εναν physical server με 3 virtual servers οπου ο καθένας θα έχει το ρόλο του) αλλά μελλοντικά φαντάζομαι η συγκεκριμένη αρχιτεκτονική/δομή server θα μας περιορίσει όσο δυνατό hardware και αν έχει πάνω, σωστά?

 

Γιαυτό κοιτάω γενικά το infastructure και το πως θα είναι στημένα και ας μην αποτελείται απο δυνατά μηχανήματα στην αρχή, τα specs πάνε και έρχονται θα τα δούμε και locally, στα δικά μας μηχανήματα, θα περάσει αρκετό διάστημα beta testing, απλά ρωτάω για να σχεδιάσω ποιο μελλοντικά πλάνα.

Link to comment
Share on other sites

local με ολα σε ενα μηχανημα δοκιμασες; Mε ενα εργαλειο σαν πχ http://grinder.sourceforge.net/g3/script-gallery.html μπορεις να κανεις load test. Επικεντρωσου στο κωδικα και αν με το καλο το app ειναι επιτυχημενο πιστεψε με πολλοι θα ειναι αυτοι που θελουν να σε βοηθησουν στο scaling. 

 

Κανε ενα δωρεαν account στο azure και παιξε με τα settings αν τοσο πολυ βιαζεσαι

 

 

aaa.png

  • Like 1
Link to comment
Share on other sites

Ο κώδικας θα είναι έτοιμος τέλος του μήνα σύμφωνα με το χρονοδιάγραμμα που έχουμε , εγώ ασχολουμαι με τις βάσεις και το backend και θα βοηθήσω λίγο στη διεπαφή χρήστη - front end .

Ευχαριστώ πολύ θα σας ενημέρωσω για νεώτερα , η ερωτηση ήταν ποιο πολύ θεωρητική για να έχω έναν μπουσουλα σίγουρα θα γίνει local load test καθώς και αρκετή παραμετροποίηση μέχρι να ανέβει δοκιμαστικά πάλι στο azure 

Link to comment
Share on other sites

  • 3 weeks later...

Μπορείς αρχικά να παίξεις localy σε ένα μηχάνημα με hyperv και να το κάνεις migrate στο azure και μετά πάλι πίσω.

Εμείς έχουμε σε data center στο εξωτερικό νοικιασμένα 2 rack με δικό μας infrastructure το μόνο που νοικιάζουμε είναι τα rack στο data center και την σύνδεση στο internet.

Εφόσον ξεκινατε τώρα κάτι νομίζω καλύτερα είναι κάπου τοπικά με μία static σύνδεση και αν δείτε ότι οι απαιτήσεις ανεβαίνουν κάνετε migrate σε κάτι άλλο. 

Να δώσεις τώρα χρήματα και να μην τσουλισει θεωρώ ότι δεν αξίζει. Δεν είναι οι εποχές εύκολες.

Βέβαια έχεις στο μυαλό σου θέματα redundancy και failure ότι ίσως προκυψουν. 

Αλλά έχεις και αρκετά έξοδα. Γιατί θελεις:

Internet connection & speed

Hardware utilization (CPU & RAM)

Storage allocation

Fail over

Backup schedule

Disaster recovery.

Βαλτα όλα κάτω και θα δεις ότι κοστίζει αρκετα για ξεκίνημα.

Έγινε επεξεργασία από swatoner
  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Αν έχετε τη δυνατότητα να κάνετε κάποια έξοδα μπορείτε να ξεκινήσετε με ένα σύνολο από cloud machines όλα σε ένα private network.

Έτσι μπορείτε να έχετε 2 * webserver (load balance ή/και failover), 1* database server και 1* workstation για τον έλεγχο αυτών.

Μαζί με το χώρο για τα δεδομένα και τα backup snapshots το κόστος ενδέχεται ναναι κάτω από 50 ευρώ/μήνα.

 

Το καλό με αυτή τη λύση είναι πως μπορείς να αναβαθμίσεις άμεσα ανάλογα με τις ανάγκες που θα εμφανιστούν!

  • Like 1
Link to comment
Share on other sites

Just now, masteroidz said:

Αν έχετε τη δυνατότητα να κάνετε κάποια έξοδα μπορείτε να ξεκινήσετε με ένα σύνολο από cloud machines όλα σε ένα private network.

Έτσι μπορείτε να έχετε 2 * webserver (load balance ή/και failover), 1* database server και 1* workstation για τον έλεγχο αυτών.

Μαζί με το χώρο για τα δεδομένα και τα backup snapshots το κόστος ενδέχεται ναναι κάτω από 50 ευρώ/μήνα.

 

Το καλό με αυτή τη λύση είναι πως μπορείς να αναβαθμίσεις άμεσα ανάλογα με τις ανάγκες που θα εμφανιστούν!

που/πως προσφέρεται τέτοια υπηρεσία τόσο φθηνά?

Link to comment
Share on other sites

Κατ'αρχάς επειδή δεν το διευκρίνισα μιλάω αποκλειστικά για Linux. Έχω συνεργαστεί πολλάκις μαζί τους, είναι αξιόπιστοι και εξαίρετοι επαγγελματίες.  Εννοείται υποστήριξη όποτε τους χρειαστείς κλπ.

 

http://iwstack.com/

Link to comment
Share on other sites

1 minute ago, masteroidz said:

Κατ'αρχάς επειδή δεν το διευκρίνισα μιλάω αποκλειστικά για Linux. Έχω συνεργαστεί πολλάκις μαζί τους, είναι αξιόπιστοι και εξαίρετοι επαγγελματίες.  Εννοείται υποστήριξη όποτε τους χρειαστείς κλπ.

 

http://iwstack.com/

ωραία! δεν έχω θέμα με το λίνουξ αρκεί να λύσω το πρόβλημα με τις βάσεις δεδομένων. Δουλεύω σε ms sql δεν ξέρω τι χρειάζεται για να τρέξει σε unix συστήματα

Link to comment
Share on other sites

Δεν μπορείς, όχι ακόμα δηλαδή. Η MS SQL θα είναι διαθέσιμη στο Linux το 2017 όπως ανακοίνωσε η MS. Τα cloud instances είναι KVM οπότε μπορείς να τρέξεις (λογικά) MS Server αρκεί να έχεις την άδεια χρήσης.

 

Edit: Windows 2008 or 2012 licensed template με €9.00/μήνα.

 

Έγινε επεξεργασία από masteroidz
Link to comment
Share on other sites

2 minutes ago, masteroidz said:

Δεν μπορείς, όχι ακόμα δηλαδή. Η MS SQL θα είναι διαθέσιμη στο Linux το 2017 όπως ανακοίνωσε η MS. Τα cloud instances είναι KVM οπότε μπορείς να τρέξεις (λογικά) MS Server αρκεί να έχεις την άδεια χρήσης.

 

Edit: Windows 2008 or 2012 licensed template με €9.00/μήνα.

 

μιας και το πιάσαμε, σε λινουξ τι επιλογές έχω για db? Oracle? Φαντάζομαι πάλι πληρώνω licensing έτσι?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.