Τι είναι το «Όλα ως Κώδικας» και γιατί έχει σημασία

Τι είναι το «Όλα ως Κώδικας» και γιατί έχει σημασία

November 27, 2022 0 Von admin

Ρίξτε μια ματιά στις συνεδρίες κατ‘ απαίτηση από τη Σύνοδο Κορυφής Low-Code/No-Code για να μάθετε πώς να καινοτομείτε με επιτυχία και να επιτύχετε αποτελεσματικότητα, αναβαθμίζοντας και κλιμακώνοντας τους πολίτες προγραμματιστές. Παρακολουθήσετε τώρα.


Με απλά λόγια, το “Everything as Code” (EaC) είναι ένας τρόπος διαχείρισης της υποδομής πληροφορικής και της κατασκευής συστημάτων και εργαλείων που υποστηρίζουν σύγχρονες εφαρμογές λογισμικού. Παίρνει τις μη αυτόματες διαδικασίες και δραστηριότητες που κάνουν οι άνθρωποι και τις μετατρέπει σε κώδικα λογισμικού, έτσι ώστε οι μηχανές να μπορούν να κάνουν αυτά τα πράγματα. Οτιδήποτε χρειάζεται να καταλάβουν, να συμφωνήσουν και να ελέγξουν οι ομάδες τεκμηριώνεται και «κωδικοποιείται» ως αρχείο διαμόρφωσης που μπορούν να διαβάσουν οι άνθρωποι και στη συνέχεια οι μηχανές μπορούν να εκτελέσουν.

Φανταστείτε αν η κουζίνα σας μπορούσε να κατανοήσει με κάποιο τρόπο την αγαπημένη σας συνταγή και στη συνέχεια να επιλέξει αυτόματα τα σωστά εργαλεία για την προετοιμασία της, τη σωστή διαδικασία για το μαγείρεμά της, ακόμη και τα σωστά ζεύγη κρασιού και γλυκού, και στη συνέχεια να σας σερβίρει αυτό ακριβώς το γεύμα ξανά και ξανά και ξανά , κάθε φορά που το ζητούσες. Ακούγεται αδύνατο; …Είναι. Αλλά αν η κουζίνα σας ήταν ένας δημόσιος πάροχος cloud και το γεύμα σας ήταν μια εφαρμογή λογισμικού, είναι λίγο πολύ ακριβώς αυτό για το οποίο μιλάμε εδώ.

Το Everything as Code επιτρέπει στους προγραμματιστές να πουν στους παρόχους cloud τους (ή στα τοπικά τους συστήματα) τι ακριβώς χρειάζονται για να «εξυπηρετήσουν» την τέλεια εφαρμογή και, στη συνέχεια, τα συστήματα και τα εργαλεία και οι διαδικασίες εκτελούν αυτό το σχέδιο για να το κάνουν.

Χρήση βέλτιστων πρακτικών ανάπτυξης για την επιτάχυνση του χρόνου στην αγορά

Το EaC ήταν τόσο πολιτιστική όσο και τεχνολογική αλλαγή, επειδή έφερε επανάσταση στον τρόπο με τον οποίο οι προγραμματιστές νομίζω σχετικά με την κατασκευή, την ανάπτυξη και την ενημέρωση λογισμικού. Για παράδειγμα, πριν από το „ως κώδικας“, εάν, για παράδειγμα, μια μικρή επιχείρηση χρειαζόταν να εκτελέσει μια εφαρμογή, θα έπρεπε να κάνει πολλά βήματα. Ένας διαχειριστής IT θα παραγγείλει έναν φυσικό διακομιστή με τη σωστή ποσότητα φυσικού ενσωματωμένου δίσκου, CPU και μνήμης. Θα έφτανε μερικές εβδομάδες αργότερα και ο διαχειριστής θα έπρεπε να εγκαταστήσει το λειτουργικό σύστημα, να διαμορφώσει τον πυρήνα για μέγιστη απόδοση και στη συνέχεια να συνδέσει τον διακομιστή σε ένα φυσικό δίκτυο. Όλα αυτά τα βήματα ήταν χρονοβόρα, επιρρεπή σε ανθρώπινα λάθη και δεν επεκτάθηκαν εύκολα — και μόνο μερικά από τα πράγματα που έπρεπε να γίνουν προτού οι προγραμματιστές λογισμικού μπορέσουν πραγματικά να ξεκινήσουν την εκτέλεση των εφαρμογών τους.

Εκδήλωση

Ευφυής Σύνοδος Ασφάλειας

Μάθετε τον κρίσιμο ρόλο του AI & ML στην ασφάλεια στον κυβερνοχώρο και τις ειδικές περιπτωσιολογικές μελέτες του κλάδου στις 8 Δεκεμβρίου. Εγγραφείτε για το δωρεάν πάσο σας σήμερα.

Κάνε εγγραφή τώρα

Με μια προσέγγιση «ως κώδικας», ένας προγραμματιστής μπορεί να περιγράψει την ίδια υποδομή σε ένα αρχείο διαμόρφωσης πολιτικής, το οποίο λέει στον επιλεγμένο πάροχο cloud του ακριβώς τον σωστό τύπο περιβάλλοντος διακομιστή για «περιστροφή». Ο πάροχος cloud μπορεί να το ρυθμίσει σε δευτερόλεπτα και η ανάπτυξη μπορεί να ξεκινήσει αμέσως. Αργότερα, εάν ο προγραμματιστής χρειαστεί να κάνει μια αλλαγή ή να μετακινηθεί από ένα δοκιμαστικό περιβάλλον σε ένα περιβάλλον παραγωγής, μπορεί απλώς να τροποποιήσει το αρχείο σε κώδικα, να το υποβάλει ξανά και ο πάροχος cloud θα το ενημερώσει σε δευτερόλεπτα. Αυτό αυξάνει την ταχύτητα και την κλίμακα εκθετικά, καθώς οι μηχανές μπορούν να εκτελέσουν κώδικα πολύ πιο γρήγορα από ό,τι οι άνθρωποι μπορούν να εκτελέσουν εργασίες, και αν γίνει σωστά, μπορεί επίσης να εξαλείψει το ανθρώπινο λάθος και την επαναλαμβανόμενη εργασία.

Δημοφιλή παραδείγματα „ως κώδικα“.

Δύο από τα πιο δημοφιλή παραδείγματα „ως κώδικας“ που αποτελούν μέρος του κινήματος Everything as Code είναι η υποδομή ως κώδικας και πολιτική ως κωδικός:

Η υποδομή ως κωδικός

Το σύγχρονο λογισμικό εκτελείται σε ένα υπερ-εικονικό περιβάλλον, το οποίο προσθέτει πολυπλοκότητα, αλλά επιτρέπει επίσης ένα απαράμιλλο επίπεδο ελέγχου. Ο κώδικας εφαρμογής εκτελείται σε εικονικά κοντέινερ, τα οποία εκτελούνται σε εικονικές μηχανές, όλα συνδεδεμένα με εικονική δικτύωση — όλα αυτά μπορούν να ελεγχθούν με κώδικα λογισμικού. Σήμερα, αντί να παραγγείλουν έναν διακομιστή, οι προγραμματιστές μπορούν απλώς να ορίσουν τι χρειάζεται η εφαρμογή τους και στη συνέχεια να υποβάλουν αυτό το αίτημα ως κώδικα λογισμικού. Οι πλατφόρμες cloud εκτελούν αυτόν τον κώδικα και δημιουργούν αυτόματα το περιβάλλον που ζητήθηκε. Αυτό που είναι πραγματικά σημαντικό σε αυτό είναι ότι επιτρέπει στις εταιρείες να «κλιμακώνουν κατά ζήτηση» — πληρώνουν για την πραγματική χρήση ανά πάσα στιγμή και μπορούν να αυξήσουν ή να μειώσουν ανάλογα με τις ανάγκες.

Πολιτική ως κωδικός

Αυτό συμβαίνει όταν οι πολιτικές είναι μια δέσμη κανόνων που κωδικοποιούνται και επιβάλλονται σε διαφορετικά συστήματα. Σκεφτείτε την «πολιτική ως κώδικας» ως ένα σύνολο προστατευτικών κιγκλιδωμάτων που καθορίζουν τι επιτρέπεται να συμβεί και τι δεν μπορεί ποτέ να συμβεί. Η πολιτική είναι αποσυνδεδεμένη —ή διαχωρισμένη— από την εφαρμογή ή την υποδομή. Με αυτόν τον τρόπο, εάν μια πολιτική πρέπει να αλλάξει, ένας προγραμματιστής δεν χρειάζεται να ενημερώσει — ή να ανησυχεί μήπως αλλάξει ή χαλάσει — την υπόλοιπη εφαρμογή ή την υποδομή. Αυτό σημαίνει ότι μπορείτε να αλλάξετε την κωδικοποίηση για την πολιτική χωρίς να αλλάξετε την κωδικοποίηση για την εφαρμογή. Ανοιξε Πολιτικός Αντιπρόσωπος (OPA) είναι ένα εξαιρετικό παράδειγμα πολιτικής ως κώδικα — το OPA είναι μια μηχανή πολιτικής γενικής χρήσης που παρέχει ένα ενιαίο πρότυπο για την πολιτική που μπορεί να εφαρμοστεί οπουδήποτε.

Τα τρία κορυφαία οφέλη μιας προσέγγισης τα πάντα ως κώδικας

Όταν αφήνεις τους ανθρώπους να είναι δημιουργικοί και να σκέφτονται τα δύσκολα προβλήματα και τους αφήνεις να συνεργάζονται, να μοιράζονται και να φαντάζονται, όλοι γνωρίζουμε ότι μπορεί να συμβεί μαγεία. Όλα ως Κώδικας επιτρέπουν στους ανθρώπους να αποφασίσουν τι είναι σωστό και στη συνέχεια αναθέτουν τις μηχανές να το κάνουν. Αυτό σημαίνει ότι παίρνετε το καλύτερο από τα πάντα, συμπεριλαμβανομένων:

  • Επαναληψιμότητα: Όλες οι διεργασίες, οι πολιτικές και οι περιγραφές καταγράφονται σε κώδικα, έτσι ώστε να αναπαράγονται εύκολα. Ας υποθέσουμε ότι ένας προγραμματιστής που εργάζεται για μια παγκόσμια τράπεζα θέλει να ορίσει μια πολιτική που λέει: „Μόνο οι χρήστες που βρίσκονται στις κεντρικές ΗΠΑ μπορούν να έχουν πρόσβαση σε επαγγελματικούς λογαριασμούς μεταξύ 9 π.μ. και 5 μ.μ. CT.“ Εάν κάποιος άλλος προγραμματιστής που βρίσκεται στην Ευρώπη θέλει να εφαρμόσει την ίδια πολιτική, αλλά με ενημερωμένη ζώνη ώρας, μπορεί εύκολα να αναπαραγάγει την πολιτική για να το κάνει. Αυτό εξοικονομεί χρόνο για τον δεύτερο προγραμματιστή, τον απαλλάσσει από την επανεφεύρεση του τροχού και σημαίνει επίσης λιγότερο χώρο για σφάλματα.
  • Επεκτασιμότητα: Ο ορισμός της διαμόρφωσης ως κώδικα σημαίνει ότι τα συστήματα μπορούν να κλιμακωθούν προς τα πάνω και προς τα κάτω κατά παραγγελία με μικρό κίνδυνο σφάλματος. Και επειδή τα περιβάλλοντα ορίζονται κυριολεκτικά σε κώδικα και μπορούν να περιστραφούν οπουδήποτε, η δοκιμή γίνεται επίσης πιο εύκολη. Τα περιβάλλοντα ανάπτυξης, δοκιμών και παραγωγής μπορούν να είναι όσο το δυνατόν πιο πανομοιότυπα και τα διδάγματα που αντλήθηκαν από το ένα μπορούν να εφαρμοστούν στα άλλα με αλλαγές πολιτικής μόνο. Με μια προσέγγιση «ως κώδικας», οι προγραμματιστές μπορούν να δοκιμάσουν τις αλλαγές τους προτού τεθούν σε παραγωγή, μειώνοντας τον κίνδυνο σφαλμάτων και τους κινδύνους ασφαλείας. Ο αυτοματισμός απελευθερώνει επίσης χρόνο από τους προγραμματιστές και τους επιτρέπει να επικεντρωθούν σε πιο διαφοροποιημένη εργασία.
  • Ασφάλεια: Όταν η πολιτική ασφαλείας και οι ρυθμίσεις παραμέτρων μετακινούνται από ειδικά μαύρα κουτιά, PDF και συσκέψεις ομάδας και αντ ‚αυτού κωδικοποιούνται σε αρχεία πολιτικής, οι ομάδες μπορούν να χειριστούν αυτά τα αρχεία πολιτικής όπως κάθε άλλο αρχείο λογισμικού. Αυτό σημαίνει ότι το ελέγχουν και το αξιολογούν από ομοτίμους. Το επαναλαμβάνουν και εφαρμόζουν αυτήν την ασφάλεια παντού. Μπορεί να τυλιχτεί προς τα εμπρός ή προς τα πίσω ανάλογα με τις ανάγκες. Και, όταν οι ομάδες πρέπει να αποδείξουν στους ελεγκτές ότι η πολιτική τους συμμορφώνεται, μπορούν εύκολα να υποδείξουν τον κώδικα.

Όταν γίνει σωστά, το „όλα ως κώδικας“ επιτρέπει στις ομάδες να ορίσουν τι είναι σωστό και στη συνέχεια αφήνει τα συστήματα να το πάρουν από εκεί. Εκδημοκρατίζει την ικανότητα δημιουργίας εφαρμογών και επίλυσης προβλημάτων, που σημαίνει ότι περισσότεροι άνθρωποι μπορούν να συνεισφέρουν σε ένα καλύτερο τελικό προϊόν.

Και, φυσικά, το Everything as Code δεν αφορά μόνο τον έλεγχο των συστημάτων. Εκμεταλλεύεται επίσης την κουλτούρα εργασίας που έχουν δημιουργήσει οι προγραμματιστές λογισμικού για να ελαχιστοποιήσουν τα σφάλματα και να μεγιστοποιήσουν την ικανοποίηση και την παραγωγικότητα. Με την αυτοματοποίηση της επανάληψης και την προώθηση της συνεργασίας, το Everything as Code επιτρέπει στους ανθρώπους να επικεντρωθούν σε νέες προκλήσεις και ουσιαστική εργασία και αφήνει τις μηχανές να χειριστούν τα υπόλοιπα.

Ο Tim Hinrichs είναι CTO και συνιδρυτής της Styra.

DataDecisionMakers

Καλώς ήρθατε στην κοινότητα του VentureBeat!

Το DataDecisionMakers είναι όπου οι ειδικοί, συμπεριλαμβανομένων των τεχνικών που ασχολούνται με τα δεδομένα, μπορούν να μοιράζονται πληροφορίες και καινοτομίες που σχετίζονται με δεδομένα.

Εάν θέλετε να διαβάσετε για ιδέες αιχμής και ενημερωμένες πληροφορίες, τις βέλτιστες πρακτικές και το μέλλον των δεδομένων και της τεχνολογίας δεδομένων, ελάτε μαζί μας στο DataDecisionMakers.

Ίσως ακόμη και να σκεφτείτε να συνεισφέρετε ένα δικό σας άρθρο!

Διαβάστε περισσότερα από το DataDecisionMakers