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

Ποτε αντενδύκνυτε το ingress (k8s) σε μια εφαρμογή;


PC_MAGAS

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

Μολις ειδα το ingress netwokring και το συγκρίνω με ότι ξέρω ως τώρα.

Συνήθως είχα ένα Symfony/Laravel app και όλα τα domain και routing τα είχα εκεί. Απ την άλλη βλέπω πως με το ingress μπορώ να σπάσω την εφαρμογή σε standalione executable κομματάκια και να τα κάνω shuffle όπως θέλω. Πχ. να έχω κάποια ποιο απαιτητικά να τα έχω σε rust ενώ κάποια άλλα να τα έχω σε php η και static pages.

 

Όμως δεν ξέρω πότε βολεύει το monolith και πότε το να έχω την εφαρμογή μου σε μικρα standalone κομματάκια; Συνήθως θα ξεκινα monolith και μετά σταδιακά θα σπάει σε μικρότερα. Από ότι έχω δει συνήθως είχα ένα spaghetti σε μονόλιθο και σταδιακά το χτένιζα (web api κλπ κλπ).

 

Ακόμα σε startup που θες γρήγορο time to market αλλα το πληρώνεις αργότερα τι βολεύει μονόλιθος ή services?

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

  • 2 μήνες μετά...

Δεν υπαρχει μια σωστη λυση για ολα. Οταν εχεις πολλες ομαδες αυτονομες βολευουν τα microservices για να εχουν ownership και να ειναι αυτονομες, αλλα εχω δει microservices να γινονται μονολιθος και να ειναι coupled που δημιουργει τελικα μεγαλυτερα προβληματα και πολυπλοκοτητα. Σιγουρα υπαρχουν καποιες λυσεις που βολευουν σε καποιες τεχνολογιες (ή τα ατομα είναι πιο εξοικοιωμενα) και μπορουν να συνδιαστουν..

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

Δημοσ. (επεξεργασμένο)
3 hours ago, lion2486 said:

Δεν υπαρχει μια σωστη λυση για ολα. Οταν εχεις πολλες ομαδες αυτονομες βολευουν τα microservices για να εχουν ownership και να ειναι αυτονομες, αλλα εχω δει microservices να γινονται μονολιθος και να ειναι coupled που δημιουργει τελικα μεγαλυτερα προβληματα και πολυπλοκοτητα. Σιγουρα υπαρχουν καποιες λυσεις που βολευουν σε καποιες τεχνολογιες (ή τα ατομα είναι πιο εξοικοιωμενα) και μπορουν να συνδιαστουν..

Αυτό ακριβώς, δεν υπάρχει one size fits all. Παίζουν πολλά, κατά τη γνώμη μου το σημαντικότερο είναι να έχει γίνει διεξοδική ανάλυση από πριν για να ξέρεις περίπου τι σε περιμένει. Και μετά αποφασίζεις (αν και μετά οι απαιτήσεις μπορεί να αλλάξουν, οπότε ...μπάχαλο). Καθόλου εύκολη απόφαση, ιδιαίτερα σε μεγάλα project. 

Στο τωρινό project έχουμε microservices (το καθένα με δική του database) που αρχικά ήταν decoupled, αλλά σιγά σιγά άρχισαν η μία να ζητάει πράγματα από την άλλη. Και εκεί που όλα δούλευαν ρολόι, τώρα έχουμε αρκετά calls που αργούν πολύ και τρέχουμε να τα στρώσουμε. 

Εν τέλει είναι λιγότερο τεχνικό θέμα νομίζω και περισσότερο θέμα business logic (που αυτό καθορίζει τα interdependencies).

 

Σε startup μάλλον καλύτερα να εστιάσεις στο time to market, γιατί αν δεν πάει καλά αυτό τότε πάπαλα η startup. Κι αν όλα πάνε καλά και είναι βιώσιμη, τότε αρχίζεις να σκέφτεσαι για το ποια είναι η βέλτιστη λύση.

 

Επεξ/σία από ghostaki
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

10 hours ago, ghostaki said:

Αυτό ακριβώς, δεν υπάρχει one size fits all. Παίζουν πολλά, κατά τη γνώμη μου το σημαντικότερο είναι να έχει γίνει διεξοδική ανάλυση από πριν για να ξέρεις περίπου τι σε περιμένει. Και μετά αποφασίζεις (αν και μετά οι απαιτήσεις μπορεί να αλλάξουν, οπότε ...μπάχαλο). Καθόλου εύκολη απόφαση, ιδιαίτερα σε μεγάλα project. 

Στο τωρινό project έχουμε microservices (το καθένα με δική του database) που αρχικά ήταν decoupled, αλλά σιγά σιγά άρχισαν η μία να ζητάει πράγματα από την άλλη. Και εκεί που όλα δούλευαν ρολόι, τώρα έχουμε αρκετά calls που αργούν πολύ και τρέχουμε να τα στρώσουμε. 

Εν τέλει είναι λιγότερο τεχνικό θέμα νομίζω και περισσότερο θέμα business logic (που αυτό καθορίζει τα interdependencies).

 

Σε startup μάλλον καλύτερα να εστιάσεις στο time to market, γιατί αν δεν πάει καλά αυτό τότε πάπαλα η startup. Κι αν όλα πάνε καλά και είναι βιώσιμη, τότε αρχίζεις να σκέφτεσαι για το ποια είναι η βέλτιστη λύση.

 

Με τι γινονται τα calls; 

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

Δημοσ. (επεξεργασμένο)
1 hour ago, ΠάρηςΓ said:

Με τι γινονται τα calls; 

Δεν είμαι σίγουρος τι ακριβώς ρωτάς, η γενική ιδέα πάντως είναι: java-based microservices με GraphQL, τα οποία καλούμε από το vue-based frontend με apollo (GraphQL).  Για το πως το ένα microservice καλεί το άλλο δεν είμαι σίγουρος τι ακριβώς χρησιμοποιούμε εκεί για τα requests, δεν έχω ασχοληθεί με το συγκεκριμένο κομμάτι..

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

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

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

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

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

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

Σύνδεση

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

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