σκοπεῖν να παρατηρείς · να σκοπεύεις

Συστήματα σε scale, υπό τη σωστή σκοπιά.

Σχεδιάζουμε distributed software, ανθεκτικά runtimes και infrastructure, όπου η οπτική, η topology και το scale γίνονται engineering εργαλεία.

I — μέτρον

Από τη σκοπιά στο scale

Το SKOP αφορά την οπτική: το σημείο από το οποίο ένα σύστημα γίνεται κατανοητό. Σε μικρό scale, messages. Σε μεγαλύτερο, topology. Σε λειτουργικό, behavior.

01

Messages

Actors, signals, events και protocols.

02

Topology

Placement, locality, supervision και coordination.

03

Scale

Fault tolerance, observability, resilience και graceful degradation.

II — λόγος

Αρχές μηχανικής

Οι παραδοχές στις οποίες επιστρέφουμε — αθόρυβα, όταν το σύστημα δυσκολεύει.

  1. P / 01

    Η οπτική πριν από την abstraction

    Μια abstraction που επιλέγεται από λάθος οπτική συσσωρεύει κόστος. Επιλέγουμε πρώτα το layer — εκεί όπου το σύστημα γίνεται αναγνώσιμο — και το model ακολουθεί.

  2. P / 02

    Το failure είναι μέρος του μοντέλου

    Το partial failure δεν είναι edge case. Supervision, restarts και backpressure είναι first-class δομές, όχι retrofits.

  3. P / 03

    Τοπική συμπεριφορά, καθολική δομή

    Ένα node πρέπει να είναι κατανοητό από μόνο του. Η συμπεριφορά του συστήματος είναι emergent property καθαρών τοπικών κανόνων, όχι κεντρικού σχεδιασμού.

  4. P / 04

    Μικρές processes, μεγάλα συστήματα

    Fine-grained concurrency, isolation και message passing κλιμακώνουν περισσότερο από τα monoliths. Σχεδιάζουμε για πολλές μικρές μονάδες που συντίθενται.

  5. P / 05

    Συντήρηση εν λειτουργία

    Ένα σύστημα που πρέπει να σταματήσει για να ενημερωθεί, αναγνωρίζει σιωπηρά ότι η συνέχεια δεν ήταν στόχος. Hot code swap, extreme late binding και live state migration επιτρέπουν στον κώδικα να εξελίσσεται ενώ το σύστημα παραμένει ζωντανό.

  6. P / 06

    Το αόρατο δεν διορθώνεται

    Ένα σύστημα που δεν παρατηρείται είναι μαύρη τρύπα — αδύνατο να εμπιστευτεί κανείς, αδύνατο να διορθωθεί. Live tracing, process inspection και crash reports είναι μέρος του runtime από την αρχή — όχι μεταγενέστερο instrumentation.

  7. P / 07

    Δεν καταλαβαίνουμε ό,τι δεν χτίζουμε

    Η κατανόηση δοκιμάζεται στο implementation. Όταν ένα μοντέλο δεν χωράει σε prototype, δεν είναι μοντέλο — είναι περιγραφή που δεν έχει ακόμα ελεγχθεί.

  8. P / 08

    Η απλότητα είναι κατάκτηση

    Η πολυπλοκότητα στον σχεδιασμό δεν είναι ένδειξη βάθους. Συχνά σημαίνει πως κάτι δεν έχει ακόμα αφομοιωθεί αρκετά για να αφαιρεθεί.

«Η μεγάλη ιδέα είναι το messaging.»

Alan Kay
III — τόπος

Concurrency, ως υλικό.

Η concurrency δεν είναι feature που προσθέτεις — είναι η ύλη με την οποία σχεδιάζεις από το πρώτο layer.

IV — μνήμη

Πνευματικά ίχνη

Από όσους άφησαν δρόμο που ακολουθούμε.

V — σκοπός

Το όλον είναι κάτι άλλο
από τα μέρη του.

Η SKOP Systems φτιάχνει software για ομάδες που χρειάζονται καθαρότητα σε scale.

Ξεκίνα μια συζήτηση