Μονάδα 11 / 11

Επαλήθευση προϊόντος, στρατηγικές κυκλοφορίας και ροή εργασίας από άκρο σε άκρο AI

Κέρδη:

  • Κατανόηση των στρατηγικών απελευθέρωσης μείωσης του κινδύνου (μπλε-πράσινο, καναρίνι, χαρακτηριστική σημαία) και της πειθαρχίας επαλήθευσης προϊόντων (έλεγχος υγείας, τεστ καπνού, παρακολούθηση χρυσού σήματος)
  • Δυνατότητα εφαρμογής της συνήθειας προετοιμασίας ενός σαφούς σχεδίου επαναφοράς πριν από την ανάπτυξη και επαλήθευσης κρίσιμων επιχειρηματικών διαδρομών μετά την ανάπτυξη
  • Δυνατότητα συνδυασμού όλων των τμημάτων που μαθαίνονται σε όλη την ενότητα σε μια ροή εργασίας που υποστηρίζεται από άκρο σε άκρο AI και εφαρμογή της αρχής «Το AI παράγει, οι άνθρωποι επαληθεύουν και εγγυώνται» σε κάθε βήμα

Ολόκληρη αυτή η ενότητα έρεε προς ένα σημείο: την ασφαλή παράδοση κώδικα και υποδομής στην παραγωγή (το ζωντανό περιβάλλον που χρησιμοποιείται από πραγματικούς πελάτες). Τώρα βρισκόμαστε στον πιο κρίσιμο και αγχωτικό κρίκο της αλυσίδας: να λάβουμε μια αλλαγή ζωντανά και να επαληθεύσουμε ότι όντως λειτουργεί εκεί. Ένα λάθος εδώ δεν είναι αφηρημένο - πλήττει άμεσα τον πελάτη, τα έσοδα και τη φήμη. Γι' αυτό ώριμες ομάδες πηγαίνουν στην παραγωγή όχι «ελπίζοντας» αλλά με ελεγχόμενες στρατηγικές απελευθέρωσης και συστηματική επαλήθευση.

Σε αυτή την τελική ενότητα συνδυάζουμε δύο πράγματα: (1) μεθόδους απελευθέρωσης που μειώνουν τον κίνδυνο (καναρίνι, μπλε-πράσινο, χαρακτηριστικό σήμα) και την πειθαρχία της επαλήθευσης παραγωγής. (2) πώς κάθε κομμάτι που μάθαμε σε όλη τη λειτουργική μονάδα—CI/CD, IaC, κοντέινερ, παρακολούθηση, περιστατικό, κόστος, σενάριο, ασφάλεια— συγκεντρώνεται σε μια ενιαία ροή εργασίας από άκρο σε άκρο που τροφοδοτείται από AI. Ας επαναλάβουμε το αρχικό απόσπασμα για τελευταία φορά: Η τεχνητή νοημοσύνη δημιουργεί και επιταχύνει προσχέδια σε κάθε βήμα. Εσύ όμως είσαι αυτός που πατάει το κουμπί "I'm take this live" και εγγυάται το αποτέλεσμα.

Απελευθερώστε στρατηγικές που μειώνουν τον κίνδυνο

Η ώθηση μιας αλλαγής σε όλους τους χρήστες ταυτόχρονα είναι ο πιο επικίνδυνος τρόπος. Ώριμες μέθοδοι:

  • Μπλε-πράσινη ανάπτυξη: Διατηρούνται δύο πανομοιότυπα περιβάλλοντα — «μπλε» (ζωντανό) και «πράσινο» (νέα έκδοση). Η νέα έκδοση προετοιμάζεται και δοκιμάζεται με πράσινο χρώμα, και στη συνέχεια η κίνηση αλλάζει ξαφνικά σε πράσινο. Εάν υπάρχει πρόβλημα, η κυκλοφορία επιστρέφει αμέσως στο μπλε. Η γρήγορη επαναφορά είναι το μεγαλύτερο πλεονέκτημά του.
  • Canary Deployment: Η νέα έκδοση κυκλοφορεί για πρώτη φορά σε ένα μικρό ποσοστό χρηστών (π.χ. 5%). Εάν οι μετρήσεις είναι καλές, αυξήστε σταδιακά στο 100%. Ένα πρόβλημα επηρεάζει ένα μικρό τμήμα του χρήστη, όχι ολόκληρο τον χρήστη.
  • Σημαία δυνατότητας: Η νέα δυνατότητα εισάγει τον κωδικό αλλά αποκλείεται από μια σημαία. Ανοίγει σε ορισμένους χρήστες όταν ζητηθεί. Υπάρχει διάκριση μεταξύ ανάπτυξης και "απελευθέρωσης". Εάν υπάρχει πρόβλημα, η σημαία απενεργοποιείται χωρίς επαναφορά του κωδικού.
Συμβουλή: Το πιο γρήγορο δίχτυ ασφαλείας είναι να έχετε έτοιμο ένα rollback πριν από κάθε ανάπτυξη. "Αν κάτι πάει στραβά, πώς μπορώ να επιστρέψω στην παλιά έκδοση σε 60 δευτερόλεπτα;" Εάν δεν υπάρχει σαφής απάντηση στην ερώτηση, δεν είστε έτοιμοι να κάνετε αυτήν την ανάπτυξη.

Επαλήθευση προϊόντος: η εργασία δεν τελειώνει όταν τελειώσει η ανάπτυξη

Ακριβώς επειδή μια ανάπτυξη φαίνεται "πράσινη" δεν σημαίνει ότι λειτουργεί. Συστηματική επαλήθευση:

  1. Έλεγχοι υγείας: Η υπηρεσία λειτουργεί, ανταποκρίνεται το /healthz;
  2. Δοκιμές καπνού: Λειτουργούν πραγματικά οι λίγες πιο κρίσιμες διαδρομές χρήστη (είσοδος, πληρωμή, αναζήτηση); Αυτόματο και γρήγορο.
  3. Παρακολουθήστε τα χρυσά σήματα: Ποσοστό σφάλματος μετά την ανάπτυξη, καθυστέρηση, είναι κανονική η κυκλοφορία; (Τέσσερα σήματα στη μονάδα 6.)
  4. Αναπτύξτε σταδιακά: Εξετάστε τις μετρήσεις σε κάθε βήμα καθώς αυξάνετε το ποσοστό των Καναρίων.
  5. Παράθυρο παρατήρησης: Παρακολούθηση στενά για μια χρονική περίοδο (π.χ. 30 λεπτά) μετά την ανάπτυξη. Τα ύπουλα προβλήματα δεν φαίνονται αμέσως.
Προσοχή: Το AI μπορεί να παράγει μια λίστα με δοκιμές καπνού ή επαληθεύσεις, αλλά είναι δική σας δουλειά να καθορίσετε ποιες διαδρομές χρήστη είναι "κρίσιμες". Το AI δίνει μια γενική λίστα. Μόνο εσείς γνωρίζετε ότι η ροή πληρωμών σας, η πιο κερδοφόρα διαδρομή σας, πρέπει να δοκιμαστεί.

Σύγκριση στρατηγικών απελευθέρωσης

Στρατηγική

Κύριο πλεονέκτημα

Κόστος/πολυπλοκότητα

καταλληλότερος

Γαλαζοπράσινο

Άμεση επαναφορά

Δύο περιβάλλοντα = 2x πόροι

Εάν η γρήγορη ανάκτηση είναι κρίσιμη

καναρίνι

Περιορίζει την επίδραση σε μικρό κομμάτι

Απαιτείται διαχείριση της κυκλοφορίας

Τεράστια βάση χρηστών

Feature Flag

Διαχωρίζει την ανάπτυξη από την απελευθέρωση

Χρέος διαχείρισης σημαίας

Σταδιακό/στοχευμένο άνοιγμα

Κυλιόμενη ενημέρωση

Απλό, φιλικό προς τους πόρους

αργή επαναφορά

Απλές υπηρεσίες

Ροή εργασίας από άκρο σε άκρο με τεχνητή νοημοσύνη

Τώρα ας συνδυάσουμε ολόκληρη την ενότητα σε μια ενιαία ροή. Ας υποθέσουμε ότι δημοσιεύετε μια νέα microservice. Η τεχνητή νοημοσύνη παράγει προσχέδια σε κάθε βήμα. επαληθεύετε σε κάθε βήμα:

  1. Κώδικας & κοντέινερ (Μονάδα 4): Η τεχνητή νοημοσύνη παράγει ένα βελτιστοποιημένο, ασφαλές αρχείο Docker. Επαληθεύετε το μη απόρρητο και το μέγεθος.
  2. CI/CD (Μονάδα 2): Γράφει τον αγωγό δοκιμής-κατασκευής-ανάπτυξης AI· Περιορίζετε τα δικαιώματα και ελέγχετε τις μυστικές αναφορές.
  3. Infrastructure (Μονάδα 3): Καθορίζει τους απαιτούμενους πόρους με το AI Terraform. Διαβάζετε την έξοδο του σχεδίου και μην ψάχνετε για απροσδόκητες διαγραφές.
  4. Ενορχήστρωση (Ενότητα 5): Η τεχνητή νοημοσύνη παράγει εκδηλώσεις Kubernetes. επαληθεύετε το όριο πόρων, το probe και το RBAC.
  5. Ασφάλεια (Μονάδα 10): Δίνει προτεραιότητα στις εξόδους σάρωσης AI. Πιάνεις πρώτα τους εκμεταλλεύσιμους.
  6. Παρακολούθηση (Μονάδα 6): Η τεχνητή νοημοσύνη δημιουργεί κανόνες συναγερμού και πίνακα ελέγχου. Δοκιμάζετε τα όρια με τα προηγούμενα δεδομένα σας.
  7. Αποδέσμευση και επικύρωση (αυτή η ενότητα): Περιγράφει το σχέδιο δοκιμής καπνού AI και επαναφοράς. ξεκινάς καναρίνι, παρακολουθείς τις μετρήσεις, πατάς το κουμπί.
  8. Εάν συμβεί περιστατικό (Ενότητα 7): Η τεχνητή νοημοσύνη δημιουργεί υπόθεση και μεταθανάτιο σκίτσο. Επαληθεύετε και μαθαίνετε τα μαθήματα.
  9. Κόστος (Ενότητα 8): Η τεχνητή νοημοσύνη παρακολουθεί τη σπατάλη νέων πόρων. Παίρνετε τις σωστές αποφάσεις.

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

τρεις μίνι θήκες

Περίπτωση 1 — το καναρίνι περιόρισε την καταστροφή στο 5%. Μια ομάδα έδωσε τη νέα έκδοση σε 5% χρήστες με καναρίνι. Ο πίνακας εργαλείων που παρήγαγε η τεχνητή νοημοσύνη έδειξε αμέσως ότι το ποσοστό σφάλματος ανέβηκε στο 8% σε αυτό το κομμάτι. Η ομάδα το πήρε πίσω χωρίς να το αυξήσει στο 100%. Το πρόβλημα επηρέασε μόνο το 5% των χρηστών και αυτό ήταν για λίγα λεπτά. Εάν υπήρχε ανάπτυξη μεγάλης έκρηξης, όλοι οι πελάτες θα επηρεάζονταν.

Περίπτωση 2 — τεστ καπνού έπιασε το μονοπάτι που έλειπε. Η τεχνητή νοημοσύνη προσέφερε ένα σετ δοκιμής καπνού, αλλά δεν είχε ροή "πληρωμής". Ο μηχανικός το πρόσθεσε, γνωρίζοντας ότι η πιο κρίσιμη ροή εσόδων ήταν οι πληρωμές. Η δοκιμή μετά την ανάπτυξη έσπασε ακριβώς στο βήμα ολοκλήρωσης αγοράς — ένα κλειδί τρίτου μέρους είχε λήξει. Η επαλήθευση εντόπισε μια σιωπηρή απώλεια εσόδων μέσα σε λίγα λεπτά.

Περίπτωση 3 — έτοιμη επαναφορά που αποθηκεύτηκε σε 90 δευτερόλεπτα. Μια ομάδα που εγκατέστησε το μπλε-πράσινο πήρε τη νέα έκδοση σε πράσινο. Μετά από 2 λεπτά η καθυστέρηση διπλασιάστηκε. Μετέτρεψαν την κίνηση σε μπλε σε 90 δευτερόλεπτα με το rollback που ετοίμασαν εκ των προτέρων. Βρήκαν τη βασική αιτία (ένα αργό ερώτημα στη νέα έκδοση) όχι υπό πίεση, τότε ήρεμα. Η έτοιμη διαδρομή επαναφοράς έκανε τη διακοπή σχεδόν αόρατη.

Τέσσερα πρότυπα με δυνατότητα αντιγραφής

1) Επιλογή στρατηγικής κυκλοφορίας:

Θα προσφέρω την ακόλουθη υπηρεσία: [ΥΠΗΡΕΣΙΑ/ΠΛΑΙΣΙΟ: αριθμός χρηστών, ανοχή διακοπών, υποδομή]. Ποια προτείνετε μεταξύ γαλαζοπράσινων, καναρινιών και χαρακτηριστικών σημαιών; Συγκρίνετε τα πλεονεκτήματα, το κόστος και την ταχύτητα επαναφοράς καθενός σε αυτό το πλαίσιο. Κάντε μια πρόταση, αλλά δηλώστε ότι θα πάρω την τελική απόφαση.

2) Τεστ καπνού / λίστα επαλήθευσης:

Δημιουργήστε ένα πρόχειρο τεστ καπνού και λίστα επαλήθευσης για το [SERVICE] που θα εκτελέσω μετά την ανάπτυξη: έλεγχος υγείας, οι πιο κρίσιμες διαδρομές χρήστη, ποιες μετρήσεις πρέπει να παρακολουθώ για πόσα λεπτά; Ας υποθέσουμε ότι θα σημειώσω τις πιο κρίσιμες επιχειρηματικές διαδρομές και θα αφήσω αυτό το πεδίο κενό.

3) Σχέδιο επαναφοράς:

Χρησιμοποιώ [ΜΕΘΟΔΟΣ ΑΝΑΠΤΥΞΗΣ]. Γράψτε μου ένα σαφές σχέδιο επαναφοράς: με ποια εντολή/βήμα μπορώ να επιστρέψω στην παλιά έκδοση, πόσος χρόνος χρειάζεται, ποιοι είναι οι κίνδυνοι της ίδιας της επαναφοράς (π.χ. η μετεγκατάσταση της βάσης δεδομένων δεν μπορεί να επαναφερθεί), τι πρέπει να ελέγξω πριν από την επαναφορά;

4) Λίστα ελέγχου έκδοσης από άκρο σε άκρο:

Δημιουργήστε μια λίστα ελέγχου προετοιμασίας από άκρο σε άκρο για κυκλοφορία σε νέο έργο [SERVICE]: ασφάλεια κώδικα/εικόνας, αγωγός, σχέδιο υποδομής, παρακολούθηση και συναγερμός, σάρωση ασφαλείας, στρατηγική έκδοσης, επαναφορά και επαλήθευση. Ελέγξτε κάθε στοιχείο με την ερώτηση "Είμαι έτοιμος;" Μετατρέψτε το σε ερώτηση.

Αδύναμη προτροπή / Ισχυρή προτροπή

Αδύναμος: "Πώς μπορώ να το μεταφέρω σε prod;"

Αποτέλεσμα: δεν υπάρχει πλαίσιο. Το AI παραθέτει γενικά βήματα ανάπτυξης, δεν καλύπτει την ανοχή κινδύνου, την κλίμακα χρήστη και την ανάγκη επαναφοράς.

Güçlü: "Θα δημιουργήσω μια υπηρεσία πληρωμών με 10 εκατομμύρια χρήστες, η ανοχή μου για το χρόνο διακοπής λειτουργίας είναι πολύ χαμηλή. Συνιστάτε Canary ή Blue-Green, γιατί; Ποιες κρίσιμες διαδρομές πρέπει να δοκιμάσω μετά την ανάπτυξη, ποιες μετρήσεις πρέπει να παρακολουθώ για πόσα λεπτά και πώς θα είναι ένα σχέδιο επαναφοράς 60 δευτερολέπτων; Θα πάρω την τελική απόφαση."

Διαφορά: η δεύτερη προτροπή δίνει την κλίμακα, την ανοχή και την προσδοκία επαναφοράς. Απαιτεί στρατηγική + επαλήθευση + αναίρεση και αφήνει την απόφαση στον άνθρωπο.

Συνήθη λάθη

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

Συνοπτικά

Η μετάβαση στο prod είναι ο πιο κρίσιμος κρίκος στην αλυσίδα και δεν γίνεται με "ελπίδα" αλλά με ελεγχόμενες στρατηγικές: το μπλε-πράσινο παρέχει άμεση επαναφορά, περιορίζοντας το φαινόμενο καναρινιού σε ένα μικρό κομμάτι, διαχωρίζοντας την ανάπτυξη σημαίας χαρακτηριστικών από την απελευθέρωση. Η εργασία δεν έχει τελειώσει όταν ολοκληρωθεί η ανάπτυξη. Η συστηματική επαλήθευση μέσω υγειονομικών ελέγχων, τεστ καπνού και παρακολούθησης χρυσού σήματος είναι απαραίτητη. Η τεχνητή νοημοσύνη δημιουργεί και επιταχύνει προσχέδια σε κάθε βήμα σε ολόκληρη την ενότητα — από το Dockerfile έως το pipeline, από το Terraform έως τον κανόνα συναγερμού, από τη μεταθανάτια έως την ανάλυση κόστους. Όμως παραμένει το αρμόδιο άτομο που επαληθεύει κάθε βήμα, πατά το κουμπί μετάβασης ζωντανά και εγγυάται το αποτέλεσμα. Αυτός είναι ο χρυσός κανόνας των end-to-end DevOps με τεχνητή νοημοσύνη.

Εργασία εφαρμογής

Επιλέξτε μια υπηρεσία (πραγματική ή φανταστική) για δημοσίευση. (1) Επιλέξτε μια στρατηγική που ταιριάζει στο περιβάλλον σας με το πρότυπο "Επιλογή στρατηγικής έκδοσης" και γράψτε το γιατί. (2) Δημιουργήστε μια λίστα επαλήθευσης με το πρότυπο "Δοκιμή καπνού / λίστα επαλήθευσης" και προσθέστε μόνοι σας τις πιο κρίσιμες επιχειρηματικές διαδρομές. (3) Ετοιμάστε ένα σχέδιο επαναφοράς 60 δευτερολέπτων με το πρότυπο "Σχέδιο επαναφοράς" και ελέγξτε εάν υπάρχουν μη αναστρέψιμα βήματα σε αυτό.

λίστα ελέγχου

  • [ ] Επέλεξα μια στρατηγική κυκλοφορίας (καναρίνι/μπλε-πράσινο/σημαία) που ταιριάζει στο περιβάλλον μου.
  • [ ] Έχω έτοιμο ένα σαφές και γρήγορο σχέδιο επαναφοράς πριν από την ανάπτυξη.
  • [ ] Πρόσθεσα μόνος μου τις πιο κρίσιμες επιχειρηματικές διαδρομές (π.χ. πληρωμή) στα τεστ καπνού μου.
  • [ ] Μετά την ανάπτυξη, παρακολουθώ τα χρυσά σήματα μέσω ενός παραθύρου παρατήρησης.
  • [ ] Σχεδίασα επίσης μη αναστρέψιμα βήματα (μεταφορά βάσης δεδομένων κ.λπ.).
  • [ ] Επιβεβαίωσα το σχεδιάγραμμα AI σε κάθε βήμα. Πήρα την απόφαση να βγω στο live.

Εξέταση Ενοτήτων

1. Ποιο από τα παρακάτω είναι η καλύτερη τοποθέτηση για DevOps και AI στο cloud;

  • Α) Η τεχνητή νοημοσύνη είναι ένα βοηθητικό εργαλείο και εργαλείο υποστήριξης αποφάσεων. Οι άνθρωποι είναι υπεύθυνοι για κρίσιμες αποφάσεις που επηρεάζουν το προϊόν ✔
  • Β) Η τεχνητή νοημοσύνη μπορεί να οριστικοποιήσει τις αναπτύξεις και τη μυστική περιστροφή του προϊόντος χωρίς ανθρώπινη έγκριση
  • Γ) Η τεχνητή νοημοσύνη είναι χρήσιμη μόνο για τη συγγραφή τεκμηρίωσης, δεν έχει καμία σχέση με υποδομές
  • Δ) Ο έλεγχος είναι περιττός γιατί η τεχνητή νοημοσύνη παράγει πάντα πιο αξιόπιστες εντολές από τον μηχανικό

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

2. Ποια είναι η πιο ακριβής έκφραση για τον κλάδο επαλήθευσης πριν από την εφαρμογή μιας εντολής ή διαμόρφωσης DevOps που παράγεται από την τεχνητή νοημοσύνη;

  • Α) Εάν η έξοδος φαίνεται ομαλή και σίγουρη, μπορεί να εκτελεστεί απευθείας στην παραγωγή
  • Β) Η έξοδος είναι ασφαλής μόνο εάν δεν υπάρχουν συντακτικά σφάλματα, δεν απαιτούνται περαιτέρω έλεγχοι
  • Γ) Συνδέστε την έξοδο στην πηγή, σχεδιάστε/στεγνή εκτέλεση και φιλτράρετε με το περιβάλλον του συστήματός σας. στη συνέχεια εφαρμόστε ✔
  • Δ) Κάνοντας την πρώτη προσπάθεια απευθείας στο prod και παρακολουθώντας το αποτέλεσμα είναι η πιο γρήγορη επαλήθευση

Επεξήγηση: Η επαλήθευση σε τρία βήματα είναι απαραίτητη: σύνδεση της εξόδου με την πηγή (είναι η εντολή/σημαία στην πραγματικότητα στα επίσημα έγγραφα), η λειτουργία της είναι στεγνή (δείτε τι συμβαίνει με το σχέδιο/--dry-run) και περάστε την από το φίλτρο του συστήματος (εντάσσεται στο αρχιτεκτονικό και ασφαλές πλαίσιο). Ευφράδεια δεν σημαίνει ακρίβεια.

3. Ποια είναι η σωστή προσέγγιση όταν ρωτάτε την τεχνητή νοημοσύνη σχετικά με ένα σφάλμα ή πρόβλημα ανάπτυξης με ένα αρχείο .env που περιέχει έναν πραγματικό κωδικό πρόσβασης βάσης δεδομένων;

  • Α) Απόκρυψη αληθινών μυστικών με <PLACEHOLDER>. κοινή χρήση μόνο συγκαλυμμένου σφάλματος και περιβάλλοντος ✔
  • Β) Η επικόλληση ολόκληρου του αρχείου .env ως έχει λύνει το πρόβλημα πιο γρήγορα
  • Γ) Δεδομένου ότι τα μυστικά είναι ήδη βάση64, είναι ασφαλές να επικολλήσετε σκέτο
  • Δ) Η επικόλληση του κωδικού πρόσβασης είναι ασφαλής επειδή η τεχνητή νοημοσύνη δεν τον αποθηκεύει ποτέ

Περιγραφή: Δεν επικολλώνται πραγματικά μυστικά στο μήνυμα AI. Τιμές όπως κωδικοί πρόσβασης και διακριτικά καλύπτονται με <PLACEHOLDER>. κοινοποιούνται μόνο το μήνυμα σφάλματος και το απαραίτητο πλαίσιο. Εάν το Secret έχει ήδη διαρρεύσει, θα πρέπει να ακυρωθεί και να περιστραφεί αμέσως.

4. Ποιο από τα παρακάτω είναι η σωστή διαχείριση των μυστικών (κωδικός πρόσβασης, διακριτικό) σε μια διοχέτευση CI/CD;

  • Α) Διατηρείται στο μυστικό αποθετήριο της πλατφόρμας και καλείται με αναφορά (π.χ. ${{ secrets.X }}), δεν είναι γραμμένο σε απλό κείμενο ✔
  • Β) Γράφτηκε σε απλό κείμενο στο pipeline YAML για ευκολία
  • Γ) Επαληθεύεται πατώντας echo και log στην αρχή κάθε εργασίας.
  • Δ) Εάν ορίζεται με την ευρύτερη άδεια (write-all), η ασφάλεια αυξάνεται

Εξήγηση: Τα μυστικά δεν γράφονται στο YAML σε απλό κείμενο. Διατηρείται στο μυστικό αποθετήριο της πλατφόρμας και καλείται με αναφορές όπως ${{ secrets.X }}. Επιπρόσθετα, με την αρχή της ελάχιστης εξουσίας, τα διακριτικά δικαιώματα περιορίζονται και το μυστικό αρχείο καταγραφής δεν καταγράφεται.

5. Στη διαχείριση υποδομής με την Terraform, ποιο είναι το πιο κρίσιμο βήμα που πρέπει να κάνετε πριν εφαρμόσετε μια αλλαγή ζωντανά;

  • Α) Εκτέλεση «terraform application» απευθείας. το σχέδιο είναι χάσιμο χρόνου
  • Β) Δημιουργία αντιγράφων ασφαλείας του αρχείου State σε δημόσιο χώρο αποθήκευσης
  • Γ) Εκτελέστε το «terraform plan» και ελέγξτε τις γραμμές καταστροφής/αντικατάστασης στην έξοδο και, στη συνέχεια, εφαρμόστε ✔
  • Δ) Απεγκαταστήστε την έκδοση Provider και βεβαιωθείτε ότι η νεότερη έκδοση έρχεται αυτόματα

Επεξήγηση: Το "terraform plan" πρέπει να εκτελεστεί πριν από το "terraform application". Το σχέδιο δείχνει τι να προσθέσετε, τι να αλλάξετε και κυρίως τι να διαγράψετε (να καταστρέψετε), χωρίς να κάνετε τίποτα. Εάν εμφανιστεί μια απροσδόκητη γραμμή καταστροφής ή αντικατάστασης, η εφαρμογή δεν πρέπει να εφαρμόζεται.

6. Τι σημαίνει και τι πρέπει να γίνει εάν η γραμμή «-/+ αντικατάσταση» για τη βάση δεδομένων παραγωγής εμφανίζεται σε μια έξοδο σχεδίου Terraform;

  • Α) Η πηγή απλώς θα ενημερωθεί επιτόπου, δεν υπάρχει κανένας κίνδυνος
  • Β) Ο πόρος θα διαγραφεί και θα ξαναδημιουργηθεί. Υπάρχει κίνδυνος απώλειας δεδομένων, η εφαρμογή θα πρέπει να διακοπεί εάν δεν αναμένεται ✔
  • Γ) Η προσθήκη νέου πόρου, η υπάρχουσα βάση δεδομένων δεν επηρεάζεται
  • Δ) Αυτή είναι απλώς μια προειδοποίηση, μπορεί να αγνοηθεί με ασφάλεια

Επεξήγηση: «-/+ αντικατάσταση» σημαίνει ότι ο πόρος θα διαγραφεί και θα δημιουργηθεί εκ νέου. Για μια βάση δεδομένων, αυτό σημαίνει απώλεια δεδομένων. Εάν δεν αναμένεται, η εφαρμογή θα πρέπει να διακοπεί, η αλλαγή θα πρέπει να μετατραπεί σε ασφαλή μέθοδο ή το αμετάβλητο πεδίο θα πρέπει να παραμείνει ανέγγιχτο.

7. Τι από τα παρακάτω ισχύει για ένα Dockerfile που είναι έτοιμο για παραγωγή όσον αφορά την ασφάλεια και το μέγεθός του;

  • Α) Για ευκολία, ενσωματώστε το μυστικό στην εικόνα με το ENV και εκτελέστε το ως root
  • Β) Να χρησιμοποιείτε πάντα την ετικέτα «:πιο πρόσφατο» και να διατηρείτε τη βασική εικόνα όσο το δυνατόν μεγαλύτερη
  • Γ) Δόμηση ενός σταδίου και αφήνοντας όλα τα εργαλεία κατασκευής στην τελική εικόνα
  • Δ) Μη ενσωμάτωση του μυστικού, εργασία με μη εξουσιοδοτημένο ΧΡΗΣΤΗ, χρήση μικρής και σταθερής εικόνας βάσης και κατασκευής πολλαπλών σταδίων ✔

Περιγραφή: Μια εικόνα έτοιμη για παραγωγή: δεν ενσωματώνει το μυστικό (το εγχέει κατά την εκτέλεση), εκτελείται με μη εξουσιοδοτημένο ΧΡΗΣΤΗ αντί για root, χρησιμοποιεί μια μικρή και τροποποιημένη βασική εικόνα (λεπτή/αλπική, όχι :πιο πρόσφατη) και μειώνεται με μια κατασκευή πολλαπλών σταδίων. Επίσης, σαρώνεται για τρωτά σημεία πριν από τη δημοσίευση.

8. Ποιος είναι ο πιο σημαντικός κίνδυνος μη καθορισμού ορίων πόρων για μια Ανάπτυξη στο Kubernetes;

  • Α) Το pod δεν ξεκινά ποτέ γιατί το όριο είναι υποχρεωτικό πεδίο
  • Β) Μόνο μια προειδοποίηση εμφανίζεται στην πλακέτα παρακολούθησης, η λειτουργία δεν επηρεάζεται
  • Γ) Το Kubernetes επιβάλλει αυτόματα ασφαλή όρια προεπιλογής, χωρίς κίνδυνο
  • Δ) Το pod μπορεί να αναπτυχθεί απεριόριστα και να καταναλώσει τους πόρους του κόμβου, καταρρέοντας έτσι τις γειτονικές υπηρεσίες ✔

Εξήγηση: Ένα Pod που δεν έχει όριο πόρων μπορεί να αναπτυχθεί απεριόριστα, να καταναλώσει όλους τους πόρους του κόμβου στον οποίο εκτελείται και να διακόψει τις γειτονικές υπηρεσίες, για παράδειγμα, με διαρροή μνήμης. Γι' αυτό ο καθορισμός αιτημάτων/ορίων είναι η βάση της ευρωστίας.

9. Πώς να αποφύγετε την «κόπωση συναγερμού» στην παρακολούθηση και τη ρύθμιση συναγερμού;

  • Α) Ρυθμίστε συναγερμούς σε όσο το δυνατόν περισσότερες μετρήσεις και δημιουργήστε ειδοποιήσεις με κάθε διακύμανση.
  • Β) Ρυθμίστε όλους τους συναγερμούς στο υψηλότερο επίπεδο σοβαρότητας
  • Γ) Ενεργοποίηση συναγερμών με στιγμιαίες τιμές χωρίς ρύθμιση ώρας (για)
  • Δ) Διατήρηση των συναγερμών προσανατολισμένων στη δράση και στη σωστή επείγουσα ανάγκη, δοκιμή ορίων με ιστορικά δεδομένα, συγχώνευση περιττών ✔

Περιγραφή: Κάθε συναγερμός πρέπει να είναι ενεργός και να έχει τον κατάλληλο επείγοντα χαρακτήρα. Πληροφορίες που δεν απαιτούν ενέργεια εμφανίζονται στον πίνακα, δεν ξυπνούν κανέναν. Τα όρια συναγερμού ελέγχονται με βάση τα ιστορικά δεδομένα του συστήματος και ενοποιούνται οι περιττοί/επαναλαμβανόμενοι συναγερμοί. Με αυτόν τον τρόπο ο πραγματικός συναγερμός δεν θα χαθεί στον θόρυβο.

10. Ποια είναι η καλύτερη σειρά προτεραιότητας κατά τη διάρκεια ενός περιστατικού παραγωγής;

  • Α) Βρείτε πρώτα την ακριβή βασική αιτία και μειώστε την μόνο όταν η αιτία είναι ξεκάθαρη.
  • Β) Πρώτα γράψτε την έκθεση μετά τη νεκροψία και μετά αγγίξτε την υπηρεσία
  • Γ) Μειώστε πρώτα (υπηρεσία επαναφοράς/επαναφοράς), αφήνοντας την ανάλυση της βασικής αιτίας για αργότερα ✔
  • Δ) Βρείτε πρώτα τον υπεύθυνο για το περιστατικό και αναφέρετέ το

Εξήγηση: Ο χρυσός κανόνας είναι «μειώστε πρώτα, διερευνήστε αργότερα». Ο στόχος είναι πρώτα να επαναφέρετε την υπηρεσία ή να την επαναφέρετε σε μια γνωστή-καλή έκδοση (μετριασμός). Η ανάλυση της ριζικής αιτίας γίνεται ήρεμα μετά την υποχώρηση της πίεσης. Η αναμονή για την εύρεση της ακριβούς βασικής αιτίας αυξάνει τον χρόνο αποκατάστασης (MTTR).

11. Ποιος είναι ο κύριος σκοπός της άψογης μεταθανάτιας κουλτούρας;

  • Α) Προσδιορισμός του ατόμου που έκανε το λάθος και ανάθεση της ευθύνης πάνω του
  • Β) Εστίαση σε συστήματα και διαδικασίες και ενθάρρυνση της μάθησης. ✔ Εκμάθηση μαθημάτων που αποτρέπουν την επανάληψη αντί να κατηγορείς
  • Γ) Μην αναφέρετε ποτέ το περιστατικό και φροντίστε να το ξεχάσετε
  • Δ) Γράφοντας μόνο τεχνικές λεπτομέρειες και όχι προσθήκη δυνάμεων στοιχείων

Εξήγηση: Το Blameless postmortem εστιάζει στο ερώτημα «ποιο σύστημα και διαδικασία επέτρεψε αυτό το λάθος», όχι «ποιος το έκανε». Οι άνθρωποι μοιράζονται το λάθος ανοιχτά αν ξέρουν ότι δεν θα τιμωρηθούν. Το κρυφό σφάλμα επαναλαμβάνεται. Η αναφορά δεν είναι μια αναφορά κατηγορίας, αλλά ένα μαθησιακό έγγραφο γεμάτο από στοιχεία που προσανατολίζονται στη δράση.

12. Στη βελτιστοποίηση κόστους στο cloud (FinOps), ποιο είναι το πιο λογικό βήμα που πρέπει να κάνετε πριν προχωρήσετε σε δεσμευμένες εκπτώσεις (Δέσμευση/Πρόγραμμα Αποταμίευσης);

  • Α) Πάρτε πρώτα τη μεγαλύτερη δυνατή δέσμευση, σκεφτείτε τη σπατάλη αργότερα
  • Β) Πρώτα, καθαρίστε τα απόβλητα (κλείσιμο ρελαντί, σωστό μέγεθος) και μετά δεσμευτείτε για δεσμευμένη χρήση ✔
  • Γ) Μετακινήστε αμέσως όλους τους πόρους στη χωρητικότητα Spot
  • Δ) Διαγραφή του πιο ακριβού είδους χωρίς έλεγχο των στοιχείων του τιμολογίου

Εξήγηση: Τα απόβλητα πρέπει να καθαριστούν πρώτα (κλείσιμο πόρων σε αδράνεια, μείωση υπερμεγέθους πόρων). Διαφορετικά, θα κλειδώσετε τη χαμένη χρήση σε μειωμένη τιμή για 1-3 χρόνια. Το σωστό μέγεθος και ο καθαρισμός στο ρελαντί δεν απαιτούν δέσμευση και είναι σχεδόν ακίνδυνοι.

13. Ποιο είναι το πιο σημαντικό μέτρο ασφαλείας εάν ένα σενάριο που προτείνεται από AI έχει τη γραμμή 'rm -rf "$DIR"/';

  • Α) Η εκτέλεση του σεναρίου απευθείας στο prod χωρίς να το διαβάσετε θα επιταχύνει
  • Β) Προσθέστε set -euo pipefail και άδεια μεταβλητού ελέγχου και δοκιμάστε πρώτα με στεγνή λειτουργία ✔
  • Γ) Η συντόμευση του ονόματος της μεταβλητής αρκεί
  • Δ) Χρησιμοποιώντας rm -rf --force αντί για rm λύνεται το πρόβλημα

Επεξήγηση: Εάν το $DIR είναι κενό, αυτή η δήλωση μπορεί να επιχειρήσει να διαγράψει τον ριζικό κατάλογο. Η στάση στην απροσδιόριστη μεταβλητή με το 'set -u' και ο έλεγχος ότι η μεταβλητή δεν είναι κενή πριν τη διαγράψετε (π.χ. [ -n "$DIR" ] || έξοδος 1) αποτρέπει την καταστροφή. Επιπλέον, οι καταστροφικές λειτουργίες θα πρέπει να δοκιμάζονται πρώτα με στεγνή λειτουργία.

14. Ποιο είναι το πρώτο πράγμα που πρέπει να κάνετε εάν ένα κλειδί πρόσβασης στο cloud διαρρεύσει κατά λάθος σε ένα δημόσιο χώρο αποθήκευσης;

  • Α) Άμεση ακύρωση και ανανέωση (περιστροφή) του κλειδιού. Δεν αρκεί μόνο η διαγραφή ✔
  • Β) Απλώς διαγράψτε το αρχείο από την αποθήκευση και το κλειδί είναι ασφαλές
  • Γ) Να μην κάνει τίποτα γιατί δεν το είδε κανείς
  • Δ) Η ιδιωτική αποθήκευση του χώρου αποθήκευσης εξαλείφει την ανάγκη περιστροφής του κλειδιού

Εξήγηση: Το μυστικό που διέρρευσε πρέπει να ακυρωθεί και να περιστραφεί αμέσως. Η απλή διαγραφή του αρχείου δεν αρκεί γιατί το μυστικό παραμένει στο ιστορικό Git και τα δημόσια αποθετήρια σαρώνονται από bots μέσα σε δευτερόλεπτα. Μετά την ακύρωση/επιστροφή, ο αντίκτυπος αξιολογείται και προστίθεται ένας μυστικός σαρωτής για την αποφυγή επανάληψης.

15. Ποια από τις ακόλουθες προσεγγίσεις ελαχιστοποιεί τον κίνδυνο κατά την κυκλοφορία μιας νέας έκδοσης του Prod;

  • Α) Δίνοντας τη νέα έκδοση σε όλους τους χρήστες ταυτόχρονα (big-bang) και δεν ετοιμάζετε σχέδιο επαναφοράς
  • Β) Θεωρώντας ότι η ανάπτυξη ολοκληρώθηκε μόλις εμφανιστεί "πράσινη", δεν εκτελείται πρόσθετη επαλήθευση
  • Γ) Χρήση ελεγχόμενης στρατηγικής όπως καναρίνι/γαλαζοπράσινη/χαρακτηριστική σημαία, έτοιμο σχέδιο επαναφοράς και δοκιμή καπνού + μετρική παρακολούθηση μετά την ανάπτυξη ✔
  • Δ) Αφήνοντας τον έλεγχο των κρίσιμων επιχειρηματικών μονοπατιών εξ ολοκλήρου στην τεχνητή νοημοσύνη και καθόλου τον καθορισμό τους.

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