Προς το περιεχόμενο

Πως γινεται η οργανωση στα μεγαλα sites


hdonoblepsias

Προτεινόμενες αναρτήσεις

Καταρχην οποιος θελει και εχει ορεξη απανταει γιατι η ερωτηση μου ειναι του τυπου ¨ετσι για την ιστορια...¨. Δηλαδη θελω να μαθω απο θεμα γενικης γνωσης.

 

Απλα μου κανει εντυπωση το εξης:

Τις προαλλες ηθελα να μπει ενας φιλος στο cpanel μου και στο wp να μου φτιαξει κατι και του εδωσα δικαιωματα διαχειρηστη. Μεχρι να τελειωσει χε...κα, μην γινει κανα λαθος και τρεχω...

 

Δηλαδη στο fb/google/microsoft κλπ. Πως οργανωνονται οταν πανω στο ιδιο προτζεκτ δουλευουν εκατονταδες? Εχουν ολοι προσβαση στον πυρηνα? Καταρχην εχουν και αυτοι οι κολοσσοι κατι σαν admin panel που συνδεεσαι και βλεπεις backend ολες τις λειτουργιες ή ειναι κατι εντελως διαφορετικο απο αυτα που ξερουμε οι απλοι χρηστες cms?

 

Επισης πως ειναι τα backup τους? δηλαδη το youtube με ολο αυτο τον ογκο εχει τα διπλασια datacenter για τα backup?

 

Υ.Γ. Επαναλαμβανω οτι το ερωτημα εχει την μορφη κουβεντουλας επειδη θελω να μαθω κατι παραπανω για αυτες τις υπηρεσιες και οχι οτι χρειαζομαι την απαντηση για να την εκμεταλλευτω καπου τεχνικα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν ψάξεις μπορεις να βρεις πολλά αλλα θα χάσεις πολυ χρόνο ψαχνοντας.

Δε γνωρίζω για να σου απαντήσω αλλα τα λιγα που γνωρίζω είναι:

Γενικά γίνεται διαμερισματοποίηση και δε μιλάνε ολοι με ολους.Κατι σαν τις πολυκατοικίες με μερικους μπορει να μην εχεις μιλησει ποτε. Στο πυρήνα δεν έχουν πρόσβαση απο οσο ξέρω ολοι. Υπάρχουν ομάδες.Δηλαδη ειχα δει πχ οτι για το printing στα windows υπήρχε ομάδα ξεχωριστή που ειχαν ραφια με εκτυπωτες και δοκιμάζαν φτιάχναν νέα πραγματα κτλ. Ειχα πετυχει καποτε πολυ παλαια ενα αρθρο που ελεγε πως γινονται compile τα windows! Πιθανον αν το ψαξεις θα βρεις.

 

Πιθανον να υπάρχει κάποιο CMS και να εχει δικαιώματα κάθε ομαδα να βάλει τα δικα τις προφανώς με καποια guideline η να περνάνε καποια απο designer και ενα σωρο αλλα για review κτλ. Φυσικά θα υπάρχει αλλη ομαδα που θα φτιάχνει το cms και αλλη ομαδα που θα φροντίζει τους servers που μπορει να είναι και τριτες η θυγατρικες εταιρίες σε αλλο χωρο κτλ.

Στα backup τα datacenter εχουν και arrays με δισκους που αλλάζουν εκεινη τη στιγμη αν χαλάσει κατι και με robot καμια φορα και εχω δει και σε τραπεζες να κανουν backup σε κασετες. Οσο για το μεγεθος των data + backup αν εχεις λεφτα όλα γίνονται . https://www.google.com/about/datacenters/gallery/#/tech

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Όταν κάνουν αλλαγές οι developers δε τις κάνουν στη πλατφόρμα που είναι online αλλά σε άλλους server που είναι για development. Όταν τελειώσουν κάποιοι άλλοι τα κοτσάρουν στην online πλατφόρμα.

 

Επιπλέον όταν οι χρήστες βάζουν δεδομένα στο fb πχ γράφονται σε 2-3 datacenter ταυτόχρονα έτσι αν χαλάσει κάτι κάνουν switch στον άλλο datacenter

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Η πρώτη και βασικότερη διαδικασία στην ανάπτυξη είναι να μπορέσεις να χωρίσεις ένα πρόβλημα σε μικρότερα υπο-προβλήματα με τη μικρότερη δυνατή σχέση μεταξύ τους. Έτσι, ένα μεγάλο project χωρίζεται σε μικρότερα, όσο το δυνατόν πιο ανεξάρτητα subprojects, και αυτοί που τα αναλαμβάνουν μπορούν να τα αναπτύσσουν χωρίς να χρειάζεται μεγάλη αλληλεπίδραση με τους υπόλοιπους. Με αυτόν τον τρόπο μπορούν να αναπτύσσονται παράλληλα όλα τα κομμάτια, χωρίς ο ένας να μπλοκάρει τον άλλο.

 

Φαντάζομαι ότι σε projects όπως το fb ή το youtube αυτή η διαίρεση γίνεται σε πάρα πολλά επίπεδα. Και προφανώς υπάρχει ένα δίκτυο που εξυπηρετεί το frontend της εφαρμογής, με cloud services, με failover, με load balancing κλπ κλπ, αλλά υπάρχει κι ένα ακόμα μεγαλύτερο "από πίσω" που εξυπηρετεί την ανάπτυξη, συντήρηση, monitoring, backup, research, στρατηγικές...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Εγώ πιστεύω οτι ολα ειναι χωρισμένα σε τμήματα. Ο κάθε τμηματαρχης έχει συγκεκριμένη δουλειά για την ομάδα του. Μπορεί να του ζητήθηκε π.χ. να αλλάξει το τρόπο λειτουργίας του upload σε video στο youtube. Κοινοποιεί λοιπόν στην ομάδα του τι πρέπει να κάνουν. Όταν το τελειώσουν, το τεστάρουν κλπ και ο τμηματάρχης το στέλνει σε αυτόν* που το ζήτησε. Βέβαια δεν θα του στέλνουν το project σε κανα email με συνημενο fdklbndhgfh.js. Θα έχουν συγκεκριμένο φάκελο και συγκεκριμένη ονομασία για να μπορεί να καταλάβει και ο άλλος τι είναι αυτο. Π.χ. /from developer team 12/upload_fuction_2014_08_11_build3425.js.

 

*Αυτός που το αιτήθηκε το project ίσως είναι κάποιος (εννοω ομάδα) που η δουλειά τους είναι να ενορχηστρώνουν τα project μέσα στην σελίδα.

 

Δηλαδή πως πιστευω οτι έχει η σειρά. Ένας ανώτερος θέλει να κάνει μια συγκεκριμένη αλλαγή-->Την λέει στον υπεύθυνο του backend-->Αυτός το μελετάει και αποφασίζει ποια ομάδα πρέπει να το φτιάξει-->Το αναθέτει στην ομάδα-->Η ομάδα το φτιάχνει και το στέλνει πίσω-->Αυτός το ενσωματώνει στον κώδικα του site.

 

Αλλα αυτο που θα ρώταγα και εγώ. Λέτε αυτα τα site να έχουν backend όπως τα cms? Δηλαδή όπως το WP? ή σε όλες τις διαδικασίες επεξεργάζονται ξερό κώδικα?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Όλα χωρίζονται σε "τμήματα" και "διαδικασίες" μάλιστα σε εφαρμογές όπως τα λειτουργικά συστήματα μπορεί μια ομάδα developers να φτιάχνει μια διαδικασία η οποία να έχει "εισόδους" και "εξόδους" και μια άλλη ομάδα να παράγει τις εισόδους και άλλη να αναλαμβάνει να αξιοποιήσει τις εξόδους.

 

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

 

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

 

Εν κατακλείδι αυτό που γίνεται είναι "split" του project σε μικρότερα και ταυτόχρονα διατήρηση της συνοχής του project ακολουθώντας συγκεκριμένους κανόνες.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...