Βέλτιστες πρακτικές για υβριδικές εφαρμογές cloud banking, ασφαλής και συμβατή ανάπτυξη σε IBM Cloud και Satellite - IBM Blog

Βέλτιστες πρακτικές για υβριδικές εφαρμογές cloud banking, ασφαλής και συμβατή ανάπτυξη σε IBM Cloud και Satellite – IBM Blog

Κόμβος πηγής: 2984448


Συγκεντρωμένος νεαρός αφροαμερικανός που εργάζεται με την οικονομική έκθεση.

Οι πελάτες των Χρηματοοικονομικών Υπηρεσιών αναζητούν ολοένα και περισσότερο τον εκσυγχρονισμό των εφαρμογών τους. Αυτό περιλαμβάνει τον εκσυγχρονισμό της ανάπτυξης και συντήρησης κώδικα (βοήθεια με σπάνιες δεξιότητες και επιτρέποντας την καινοτομία και τις νέες τεχνολογίες που απαιτούνται από τους τελικούς χρήστες) καθώς και τη βελτίωση της ανάπτυξης και των λειτουργιών, χρησιμοποιώντας ευέλικτες τεχνικές και DevSecOps.

Ως μέρος του ταξιδιού εκσυγχρονισμού τους, οι πελάτες θέλουν να έχουν ευελιξία για να προσδιορίσουν ποια είναι η καλύτερη τοποθεσία ανάπτυξης «κατάλληλη για τον σκοπό» για τις εφαρμογές τους. Αυτό μπορεί να είναι σε οποιοδήποτε από τα περιβάλλοντα που υποστηρίζει το Hybrid Cloud (σε εγκαταστάσεις, σε ιδιωτικό cloud, σε δημόσιο σύννεφο ή στο edge). Το IBM Cloud Satellite® πληροί αυτήν την απαίτηση, επιτρέποντας σε σύγχρονες, εγγενείς εφαρμογές cloud να εκτελούνται οπουδήποτε χρειάζεται ο πελάτης, διατηρώντας παράλληλα ένα τυπικό και συνεπές επίπεδο ελέγχου για τη διαχείριση εφαρμογών σε όλο το υβριδικό cloud.

Επιπλέον, πολλές από αυτές τις εφαρμογές χρηματοοικονομικών υπηρεσιών υποστηρίζουν ρυθμιζόμενους φόρτους εργασίας, οι οποίοι απαιτούν αυστηρά επίπεδα ασφάλειας και συμμόρφωσης, συμπεριλαμβανομένης της προστασίας Zero Trust του φόρτου εργασίας. Το IBM Cloud for Financial Services πληροί αυτήν την απαίτηση παρέχοντας ένα ολοκληρωμένο πλαίσιο ασφάλειας και συμμόρφωσης που μπορεί να χρησιμοποιηθεί για την εφαρμογή ή/και τον εκσυγχρονισμό εφαρμογών με ασφάλεια στο υβριδικό νέφος.

Σε αυτό το άρθρο, παρουσιάζουμε πώς να αναπτύξετε εύκολα μια τραπεζική εφαρμογή και στα δύο IBM Cloud for Financial Services και Δορυφόρος, χρησιμοποιώντας αυτοματοποιημένους αγωγούς CI/CD/CC με κοινό και συνεπή τρόπο. Αυτό απαιτεί βαθύ επίπεδο ασφάλειας και συμμόρφωσης σε όλη τη διαδικασία κατασκευής και ανάπτυξης.

Εισαγωγή σε έννοιες και προϊόντα

Ο σκοπός του IBM Cloud for Financial Services είναι να παρέχει ασφάλεια και συμμόρφωση σε εταιρείες χρηματοοικονομικών υπηρεσιών. Το κάνει αξιοποιώντας βιομηχανικά πρότυπα όπως NIST 800-53 και την τεχνογνωσία περισσότερων από εκατό πελατών χρηματοοικονομικών υπηρεσιών που αποτελούν μέρος του Συμβουλίου Financial Services Cloud. Παρέχει ένα πλαίσιο ελέγχου που μπορεί εύκολα να εφαρμοστεί χρησιμοποιώντας Αρχιτεκτονικές Αναφοράς, Επικυρωμένες Υπηρεσίες Cloud και ISV, καθώς και τα υψηλότερα επίπεδα κρυπτογράφησης και συνεχούς συμμόρφωσης (CC) σε όλο το υβριδικό νέφος.

Το IBM Cloud Satellite παρέχει μια πραγματική υβριδική εμπειρία cloud. Ο δορυφόρος επιτρέπει στους φόρτους εργασίας να εκτελούνται οπουδήποτε χωρίς να διακυβεύεται η ασφάλεια. Ένα μόνο τζάμι παρέχει την ευκολία προβολής όλων των πόρων σε έναν πίνακα εργαλείων. Για να αναπτύξουμε εφαρμογές σε αυτά τα διαφορετικά περιβάλλοντα, έχουμε αναπτύξει ένα σύνολο ισχυρών αλυσίδων εργαλείων DevSecOps για τη δημιουργία εφαρμογών, την ανάπτυξη τους σε μια δορυφορική τοποθεσία με ασφαλή και συνεπή τρόπο και την παρακολούθηση του περιβάλλοντος χρησιμοποιώντας τις καλύτερες πρακτικές DevOps.

Σε αυτό το έργο, χρησιμοποιήσαμε μια εφαρμογή δημιουργίας δανείου που εκσυγχρονίστηκε για να χρησιμοποιεί Kubernetes και microservices. Για την παροχή αυτής της υπηρεσίας, η εφαρμογή της τράπεζας χρησιμοποιεί ένα οικοσύστημα συνεργαζόμενων εφαρμογών που διαλειτουργούν χρησιμοποιώντας το BIAN δομή.

Επισκόπηση εφαρμογής

Η εφαρμογή που χρησιμοποιείται σε αυτό το έργο είναι μια εφαρμογή χορήγησης δανείου που αναπτύχθηκε ως μέρος του BIAN Coreless 2.0 πρωτοβουλία. Ένας πελάτης λαμβάνει ένα εξατομικευμένο δάνειο μέσω ενός ασφαλούς διαδικτυακού καναλιού που προσφέρεται από μια τράπεζα. Η εφαρμογή χρησιμοποιεί ένα οικοσύστημα συνεργαζόμενων εφαρμογών που διαλειτουργούν στην αρχιτεκτονική BIAN, η οποία αναπτύσσεται στο IBM Cloud for Financial Services. Το BIAN Coreless Initiative εξουσιοδοτεί τα χρηματοπιστωτικά ιδρύματα να επιλέγουν τους καλύτερους συνεργάτες για να βοηθήσουν στην κυκλοφορία νέων υπηρεσιών στην αγορά γρήγορα και αποτελεσματικά μέσω των αρχιτεκτονικών BIAN. Κάθε στοιχείο ή τομέας υπηρεσίας BIAN υλοποιείται μέσω μιας microservice, η οποία αναπτύσσεται σε ένα σύμπλεγμα OCP στο IBM Cloud.

Στοιχεία εφαρμογής που βασίζονται σε τομείς υπηρεσιών BIAN

  • Κατάλογος προϊόντων: Διατηρεί έναν ολοκληρωμένο κατάλογο με τα προϊόντα και τις υπηρεσίες της τράπεζας.
  • Καταναλωτικό Δάνειο: Διαχειρίζεται την εκπλήρωση ενός προϊόντος καταναλωτικού δανείου. Αυτό περιλαμβάνει την αρχική ρύθμιση της δανειακής διευκόλυνσης και την ολοκλήρωση προγραμματισμένων και ad-hoc εργασιών επεξεργασίας προϊόντων.
  • Διαδικασία προσφοράς πελατών/API: Ενορχηστρώνει την επεξεργασία μιας προσφοράς προϊόντος για έναν νέο ή εγκατεστημένο πελάτη.
  • Προφίλ δρομολόγησης πάρτι: Διατηρεί ένα μικρό προφίλ βασικών δεικτών για έναν πελάτη που αναφέρεται κατά τις αλληλεπιδράσεις με τους πελάτες για να διευκολύνει τη δρομολόγηση, την εξυπηρέτηση και τις αποφάσεις εκπλήρωσης προϊόντος/υπηρεσίας.
Εικόνα 1: Στοιχεία εφαρμογής που βασίζονται σε τομείς υπηρεσιών BIAN

Επισκόπηση διαδικασίας ανάπτυξης

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

Η ανάπτυξη του IBM Cloud for Financial Services επιτεύχθηκε σε ένα σύμπλεγμα ζώνης ασφαλούς προσγείωσης και η ανάπτυξη της υποδομής είναι επίσης αυτοματοποιημένη χρησιμοποιώντας την πολιτική ως κώδικα (τεραφόρμα). Η εφαρμογή αποτελείται από διάφορα στοιχεία. Κάθε στοιχείο αναπτύχθηκε χρησιμοποιώντας το δικό του Συνεχής ενοποίηση (CI), Συνεχής Παράδοση (CD) και Συνεχής Συμμόρφωση (CC) σε ένα σύμπλεγμα OpenShift RedHat. Για να επιτευχθεί η ανάπτυξη σε δορυφόρο, οι αγωγοί CI/CC επαναχρησιμοποιήθηκαν και δημιουργήθηκε ένας νέος αγωγός CD.

Συνεχής ολοκλήρωση

Κάθε στοιχείο της ανάπτυξης του IBM Cloud είχε τη δική του γραμμή CI. Ένα σύνολο συνιστώμενων διαδικασιών και προσεγγίσεων περιλαμβάνεται στην αλυσίδα εργαλείων CI. Ένας σαρωτής στατικού κώδικα χρησιμοποιείται για την επιθεώρηση του αποθετηρίου της εφαρμογής για τυχόν μυστικά που είναι αποθηκευμένα στον πηγαίο κώδικα της εφαρμογής, καθώς και για τυχόν ευάλωτα πακέτα που χρησιμοποιούνται ως εξαρτήσεις στον κώδικα της εφαρμογής. Για κάθε δέσμευση Git, δημιουργείται μια εικόνα κοντέινερ και εκχωρείται μια ετικέτα στην εικόνα με βάση τον αριθμό κατασκευής, τη χρονική σήμανση και το αναγνωριστικό δέσμευσης. Αυτό το σύστημα επισήμανσης διασφαλίζει την ιχνηλασιμότητα της εικόνας. Πριν από τη δημιουργία της εικόνας, το Dockerfile ελέγχεται. Η εικόνα που δημιουργήθηκε αποθηκεύεται σε ένα ιδιωτικό μητρώο εικόνων. Τα δικαιώματα πρόσβασης για την ανάπτυξη του συμπλέγματος στόχου διαμορφώνονται αυτόματα χρησιμοποιώντας διακριτικά API, τα οποία μπορούν να ανακληθούν. Πραγματοποιείται σάρωση ευπάθειας ασφαλείας στην εικόνα του κοντέινερ. Εφαρμόζεται μια υπογραφή Docker μετά την επιτυχή ολοκλήρωση. Η προσθήκη της ετικέτας εικόνας που δημιουργήθηκε ενημερώνει άμεσα την εγγραφή ανάπτυξης. Η χρήση ενός ρητού χώρου ονομάτων μέσα σε ένα σύμπλεγμα εξυπηρετεί τον σκοπό της απομόνωσης κάθε ανάπτυξης. Οποιοσδήποτε κώδικας συγχωνεύεται στον καθορισμένο κλάδο του αποθετηρίου Git, ρητά για ανάπτυξη στο σύμπλεγμα Kubernetes, κατασκευάζεται, επαληθεύεται και υλοποιείται αυτόματα.

Λεπτομέρειες για κάθε εικόνα docker αποθηκεύονται σε ένα αποθετήριο αποθέματος, το οποίο εξηγείται λεπτομερώς στην ενότητα Συνεχής ανάπτυξη αυτού του ιστολογίου. Επιπλέον, συλλέγονται αποδεικτικά στοιχεία σε κάθε λειτουργία του αγωγού. Αυτά τα στοιχεία περιγράφουν ποιες εργασίες πραγματοποιήθηκαν στην αλυσίδα εργαλείων, όπως σαρώσεις ευπάθειας και δοκιμές μονάδων. Αυτά τα στοιχεία αποθηκεύονται σε ένα αποθετήριο git και σε έναν κάδο αποθήκευσης αντικειμένων cloud, ώστε να μπορούν να ελεγχθούν εάν είναι απαραίτητο.

Χρησιμοποιήσαμε ξανά τις τρέχουσες αλυσίδες εργαλείων CI που χρησιμοποιούνται για την ανάπτυξη του IBM Cloud που αναφέρεται παραπάνω για την ανάπτυξη Δορυφόρου. Επειδή η εφαρμογή παρέμεινε αμετάβλητη, δεν ήταν απαραίτητο να ξαναχτιστούν οι αγωγοί CI για τη νέα ανάπτυξη.

Συνεχής ανάπτυξη

Το απόθεμα χρησιμεύει ως πηγή αλήθειας σχετικά με τα αντικείμενα που αναπτύσσονται σε ποιο περιβάλλον/περιοχή. Αυτό επιτυγχάνεται με τη χρήση διακλαδώσεων git για την αναπαράσταση περιβαλλόντων, με έναν αγωγό προώθησης που ενημερώνει περιβάλλοντα σε μια προσέγγιση που βασίζεται στο GitOps. Σε προηγούμενες αναπτύξεις, το απόθεμα φιλοξενούσε επίσης αρχεία ανάπτυξης. Αυτά είναι τα αρχεία πόρων YAML Kubernetes που περιγράφουν κάθε στοιχείο. Αυτά τα αρχεία ανάπτυξης θα ενημερωθούν με τους σωστούς περιγραφείς χώρου ονομάτων, μαζί με την πιο πρόσφατη έκδοση της εικόνας Docker για κάθε στοιχείο.

Ωστόσο, βρήκαμε αυτή την προσέγγιση δύσκολη για ορισμένους λόγους. Από την οπτική γωνία των εφαρμογών, το να πρέπει να αλλάξουμε τόσες πολλές τιμές ετικετών εικόνας και χώρους ονομάτων χρησιμοποιώντας εργαλεία αντικατάστασης YAML (όπως το YQ) ήταν χονδροειδές και περίπλοκο. Για το ίδιο το Satellite, χρησιμοποιούμε τη στρατηγική άμεσης μεταφόρτωσης, με κάθε παρεχόμενο αρχείο YAML να υπολογίζεται ως "έκδοση". Θα προτιμούσαμε να έχουμε μια έκδοση που αντιστοιχεί σε ολόκληρη την εφαρμογή, όχι μόνο σε ένα στοιχείο ή microservice.

Ήταν επιθυμητή μια διαφορετική προσέγγιση, επομένως ανακατασκευάσαμε τη διαδικασία ανάπτυξης για να χρησιμοποιήσουμε ένα διάγραμμα Helm. Αυτό μας επέτρεψε να παραμετροποιήσουμε τις σημαντικές τιμές, όπως τους χώρους ονομάτων και τις ετικέτες εικόνας, και να τις εισάγουμε κατά το χρόνο ανάπτυξης. Η χρήση αυτών των μεταβλητών εξαλείφει μεγάλη δυσκολία που σχετίζεται με την ανάλυση αρχείων YAML για μια δεδομένη τιμή. Το διάγραμμα πηδαλίου δημιουργήθηκε ξεχωριστά και αποθηκεύτηκε στο ίδιο μητρώο κοντέινερ με τις ενσωματωμένες εικόνες BIAN. Αυτήν τη στιγμή εργαζόμαστε για την ανάπτυξη ενός συγκεκριμένου αγωγού CI για την επικύρωση των διαγραμμάτων τιμονιού. Αυτό θα καλύψει το διάγραμμα, θα το συσκευάσει, θα το υπογράψει για ακρίβεια (αυτό θα επαληθευτεί κατά την ανάπτυξη) και θα αποθηκεύσει το γράφημα. Προς το παρόν, αυτά τα βήματα γίνονται με μη αυτόματο τρόπο για την ανάπτυξη του γραφήματος. Υπάρχει ένα πρόβλημα με τη χρήση των διαγραμμάτων πηδαλίου και των διαμορφώσεων δορυφόρου μαζί: η λειτουργικότητα του πηδαλίου απαιτεί άμεση σύνδεση με ένα σύμπλεγμα Kubernetes ή OpenShift για να λειτουργεί πιο αποτελεσματικά και το Satellite, φυσικά, δεν θα το επιτρέψει. Έτσι, για να λύσουμε αυτό το πρόβλημα, χρησιμοποιούμε το "πρότυπο τιμόνι" για να εξάγουμε το σωστά μορφοποιημένο γράφημα και, στη συνέχεια, να μεταφέρουμε το αρχείο YAML που προκύπτει στη συνάρτηση αποστολής δορυφόρου. Αυτή η συνάρτηση στη συνέχεια αξιοποιεί το IBM Cloud Satellite CLI για να δημιουργήσει μια έκδοση διαμόρφωσης που περιέχει την εφαρμογή YAML. Υπάρχουν ορισμένα μειονεκτήματα εδώ: δεν μπορούμε να χρησιμοποιήσουμε κάποια χρήσιμη λειτουργικότητα που παρέχει το Helm, όπως η δυνατότητα να rollback σε μια προηγούμενη έκδοση γραφήματος και τις δοκιμές που μπορούν να γίνουν για να διασφαλιστεί ότι η εφαρμογή λειτουργεί σωστά. Ωστόσο, μπορούμε να χρησιμοποιήσουμε τον μηχανισμό επαναφοράς Satellite ως αντικατάσταση και να χρησιμοποιήσουμε την έκδοση του ως βάση για αυτό.

Εικόνα 2: Σωληνώσεις και στοιχεία του BIAN Coreless 2.0 στην προηγούμενη ανάπτυξη στο IBM Cloud FS
Εικόνα 3: Σωληνώσεις και στοιχεία του BIAN Coreless 2.0 στο IBM Cloud Satellite 

Συνεχής Συμμόρφωση

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

Ο αγωγός σαρώνει επίσης εικόνες κοντέινερ για ευπάθειες ασφαλείας. Οποιοδήποτε πρόβλημα συμβάντος εντοπιστεί κατά τη σάρωση ή ενημερώνεται επισημαίνεται με ημερομηνία λήξης. Τα στοιχεία δημιουργούνται και αποθηκεύονται στο IBM Cloud Object Storage στο τέλος κάθε εκτέλεσης που συνοψίζει τις λεπτομέρειες της σάρωσης.

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

Η λήψη CC σε περιβάλλον cloud είναι σημαντική για βιομηχανίες με υψηλή ρύθμιση, όπως οι χρηματοοικονομικές υπηρεσίες που θέλουν να προστατεύσουν τα δεδομένα πελατών και εφαρμογών. Στο παρελθόν, αυτή η διαδικασία ήταν δύσκολη και έπρεπε να γίνει με το χέρι, γεγονός που θέτει σε κίνδυνο τους οργανισμούς. Αλλά με IBM Cloud Security and Compliance Center, μπορείτε να προσθέσετε καθημερινούς, αυτόματους ελέγχους συμμόρφωσης στον κύκλο ζωής ανάπτυξής σας για να μειώσετε αυτόν τον κίνδυνο. Αυτοί οι έλεγχοι περιλαμβάνουν διάφορες αξιολογήσεις των αλυσίδων εργαλείων DevSecOps για τη διασφάλιση της ασφάλειας και της συμμόρφωσης.

Εικόνα 4: Πίνακας εργαλείων του Κέντρου Ασφάλειας και Συμμόρφωσης

Με βάση την εμπειρία μας με αυτό το έργο και άλλα παρόμοια έργα, δημιουργήσαμε ένα σύνολο βέλτιστων πρακτικών για να βοηθήσουμε τις ομάδες να εφαρμόσουν υβριδικές λύσεις cloud για το IBM Cloud for Financial Services και το IBM Cloud Satellite:

  • Συνεχής ολοκλήρωση
    • Διατηρήστε μια κοινή βιβλιοθήκη σεναρίων για παρόμοιες εφαρμογές σε διαφορετικές αλυσίδες εργαλείων. Αυτό είναι το σύνολο οδηγιών που καθορίζουν τι πρέπει να κάνει η αλυσίδα εργαλείων σας CI. Για παράδειγμα, η διαδικασία κατασκευής για εφαρμογές NodeJS θα ακολουθεί γενικά την ίδια δομή, επομένως είναι λογικό να διατηρείτε μια βιβλιοθήκη δέσμης ενεργειών σε ξεχωριστό αποθετήριο, στο οποίο θα αναφέρονται οι αλυσίδες εργαλείων κατά τη δημιουργία εφαρμογών. Αυτό επιτρέπει μια συνεπή προσέγγιση στο CI, προωθεί την επαναχρησιμοποίηση και αυξάνει τη συντηρησιμότητα.
    • Εναλλακτικά, οι αλυσίδες εργαλείων CI μπορούν να επαναχρησιμοποιηθούν για παρόμοιες εφαρμογές με τη χρήση σκανδαλισμών. Αυτοί οι ξεχωριστοί κανόνες ενεργοποίησης μπορούν να χρησιμοποιηθούν για να καθορίσουν ποια εφαρμογή θα κατασκευαστεί, πού βρίσκεται ο κώδικας για την εφαρμογή και άλλες προσαρμογές.
  • Συνεχής ανάπτυξη
    • Για εφαρμογές πολλών συστατικών, διατηρήστε ένα μόνο απόθεμα και, επομένως, μια ενιαία αλυσίδα εργαλείων ανάπτυξης για την ανάπτυξη όλων των στοιχείων που αναφέρονται στο απόθεμα. Αυτό αποτρέπει πολλές επαναλήψεις. Τα αρχεία ανάπτυξης Kubernetes YAML έχουν όλα τον ίδιο μηχανισμό ανάπτυξης, επομένως μια μοναδική αλυσίδα εργαλείων που επαναλαμβάνεται με τη σειρά της είναι πιο λογική από τη διατήρηση πολλαπλών αλυσίδων εργαλείων CD, οι οποίες ουσιαστικά κάνουν το ίδιο πράγμα. Η δυνατότητα συντήρησης έχει αυξηθεί και χρειάζεται λιγότερη δουλειά για την ανάπτυξη της εφαρμογής. Οι ενεργοποιητές μπορούν ακόμα να χρησιμοποιηθούν για την ανάπτυξη μεμονωμένων μικροϋπηρεσιών, εάν είναι επιθυμητό.
    • Χρησιμοποιήστε διαγράμματα Helm για πολύπλοκες εφαρμογές πολλαπλών συστατικών. Η χρήση του Helm στο έργο BIAN έκανε την ανάπτυξη πολύ πιο εύκολη. Τα αρχεία Kubernetes είναι γραμμένα σε YAML και η χρήση αναλυτών κειμένου που βασίζονται σε bash είναι επαχθής εάν πρέπει να προσαρμοστούν πολλές τιμές κατά το χρόνο ανάπτυξης. Η Helm το απλοποιεί χρησιμοποιώντας μεταβλητές, γεγονός που καθιστά την αντικατάσταση των τιμών πολύ πιο αποτελεσματική. Επιπλέον, το Helm προσφέρει άλλες δυνατότητες, όπως εκδόσεις ολόκληρης της εφαρμογής, εκδόσεις γραφημάτων, αποθήκευση μητρώου της διαμόρφωσης ανάπτυξης και δυνατότητες επαναφοράς σε περίπτωση αποτυχίας. Αν και η επαναφορά δεν θα λειτουργήσει σε δορυφορικές αναπτύξεις, αυτό καλύπτεται από την έκδοση διαμόρφωσης δορυφόρου.
  • Συνεχής Συμμόρφωση
    • Συνιστούμε ανεπιφύλακτα να ρυθμίσετε τις αλυσίδες εργαλείων CC ως μέρος της υποδομής σας για τη συνεχή σάρωση κώδικα και τεχνουργημάτων για τρωτά σημεία που εκτίθενται πρόσφατα. Συνήθως, αυτές οι σαρώσεις μπορούν να εκτελούνται κάθε βράδυ ή με οποιοδήποτε χρονοδιάγραμμα ταιριάζει στην εφαρμογή σας και την κατάσταση ασφαλείας. Για να παρακολουθείτε τα προβλήματα και τη συνολική θέση ασφαλείας της εφαρμογής σας, σας προτείνουμε να χρησιμοποιήσετε το DevOps Insights.
    • Συνιστούμε επίσης τη χρήση του Κέντρου Ασφάλειας και Συμμόρφωσης (SCC) για την αυτοματοποίηση της στάσης ασφαλείας σας. Η περίληψη αποδεικτικών στοιχείων που δημιουργούνται από τους αγωγούς μπορεί να μεταφορτωθεί στο SCC, όπου κάθε καταχώριση στη σύνοψη αποδεικτικών στοιχείων αντιμετωπίζεται ως «γεγονός» που σχετίζεται με μια εργασία που ολοκληρώθηκε σε μια αλυσίδα εργαλείων, είτε πρόκειται για σάρωση ευπάθειας, δοκιμή μονάδας ή άλλα παρόμοια πράγματα . Στη συνέχεια, το SCC θα εκτελέσει δοκιμές επικύρωσης με βάση τα στοιχεία για να καθορίσει ότι ακολουθούνται οι βέλτιστες πρακτικές που σχετίζονται με τις αλυσίδες εργαλείων.
  • Απόθεμα
    • Όπως αναφέρθηκε προηγουμένως, με τη συνεχή ανάπτυξη, είναι προτιμότερο να διατηρείτε ένα μόνο απόθεμα εφαρμογών στο οποίο θα αποθηκεύονται όλα τα στοιχεία μικροϋπηρεσιών σας, μαζί με (εάν δεν χρησιμοποιείτε Helm) αρχεία ανάπτυξης Kubernetes. Αυτό επιτρέπει μια ενιαία πηγή αλήθειας σχετικά με την κατάσταση των αναπτύξεών σας. Καθώς τα υποκαταστήματα στο απόθεμά σας αντιπροσωπεύουν περιβάλλοντα, η διατήρηση αυτών των περιβαλλόντων σε πολλαπλά αποθετήρια αποθέματος μπορεί να γίνει πολύ γρήγορα δυσκίνητη.
  • Απόδειξη
    • Η προσέγγιση των αποθετηρίων αποδεικτικών στοιχείων θα πρέπει να αντιμετωπίζεται διαφορετικά από την απογραφή. Σε αυτήν την περίπτωση, είναι προτιμότερο ένα αποθετήριο αποδεικτικών στοιχείων ανά συστατικό. Εάν τα συνδυάσετε, τα αποθηκευμένα στοιχεία μπορεί να γίνουν συντριπτικά και δύσκολα στη διαχείριση. Ο εντοπισμός συγκεκριμένων αποδεικτικών στοιχείων είναι πολύ πιο αποτελεσματικός εάν τα αποδεικτικά στοιχεία είναι αποθηκευμένα σε ένα ειδικό χώρο αποθήκευσης για ένα στοιχείο. Για την ανάπτυξη, ένα μεμονωμένο ντουλάπι αποδεικτικών στοιχείων είναι αποδεκτό, καθώς προέρχεται από μια ενιαία αλυσίδα εργαλείων ανάπτυξης.
    • Συνιστούμε ανεπιφύλακτα την αποθήκευση αποδεικτικών στοιχείων σε έναν κάδο αποθήκευσης αντικειμένων cloud καθώς και τη χρήση της προεπιλεγμένης επιλογής αποθήκευσης git. Αυτό συμβαίνει επειδή ένας κάδος COS μπορεί να διαμορφωθεί ώστε να είναι αμετάβλητος, κάτι που μας επιτρέπει να αποθηκεύουμε με ασφάλεια τα στοιχεία χωρίς τη δυνατότητα παραβίασης, κάτι που είναι πολύ σημαντικό στην περίπτωση των ιχνών ελέγχου.        

Συμπέρασμα

Σε αυτό το ιστολόγιο, παρουσιάσαμε την εμπειρία μας στην εφαρμογή μιας τραπεζικής εφαρμογής βασισμένης στο BIAN σε όλο το υβριδικό νέφος, δηλαδή χρησιμοποιώντας αγωγούς DevSecOps για την ανάπτυξη του φόρτου εργασίας τόσο στο IBM Cloud όσο και σε ένα δορυφορικό περιβάλλον. Συζητήσαμε τα πλεονεκτήματα και τα μειονεκτήματα των διαφορετικών προσεγγίσεων και τις βέλτιστες πρακτικές που αντλήσαμε μετά από αυτό το έργο. Ελπίζουμε ότι αυτό μπορεί να βοηθήσει άλλες ομάδες να επιτύχουν το υβριδικό τους ταξίδι στο cloud με μεγαλύτερη συνέπεια και ταχύτητα. Πείτε μας τις σκέψεις σας.

Εξερευνήστε τι έχει να προσφέρει η IBM σήμερα


Περισσότερα από το Cloud




Αναβαθμίστε τις εφαρμογές Kafka με σχήματα

4 min διαβάστε - Το Apache Kafka είναι ένα πολύ γνωστό κατάστημα εκδηλώσεων ανοιχτού κώδικα και πλατφόρμα επεξεργασίας ροής και έχει εξελιχθεί για να γίνει το de facto πρότυπο για τη ροή δεδομένων. Σε αυτό το άρθρο, ο προγραμματιστής Michael Burgess παρέχει μια εικόνα για την έννοια των σχημάτων και της διαχείρισης σχημάτων ως τρόπο για να προσθέσετε αξία στις εφαρμογές σας που βασίζονται σε συμβάντα στην πλήρως διαχειριζόμενη υπηρεσία Kafka, IBM Event Streams στο IBM Cloud®. Τι είναι ένα σχήμα; Ένα σχήμα περιγράφει τη δομή των δεδομένων. Για παράδειγμα: Μια απλή τάξη Java…




SSD εναντίον NVMe: Ποια είναι η διαφορά;

7 min διαβάστε - Οι πρόσφατες τεχνολογικές εξελίξεις στην αποθήκευση δεδομένων έχουν ωθήσει τις επιχειρήσεις και τους καταναλωτές να απομακρυνθούν από τις παραδοσιακές μονάδες σκληρού δίσκου (HDD) προς την ταχύτερη, χαμηλότερης καθυστέρησης τεχνολογία μονάδας στερεάς κατάστασης (SSD). Σε αυτήν την ανάρτηση, θα εξετάσουμε αυτή τη νέα τεχνολογία, καθώς και το πιο γρήγορο και δημοφιλές πρωτόκολλο που είναι διαθέσιμο για τη σύνδεσή της με τη μητρική πλακέτα ενός υπολογιστή—non-volatile memory express (NVMe). Ενώ οι όροι SSD και NVMe χρησιμοποιούνται συχνά για να περιγράψουν δύο διαφορετικούς τύπους μονάδων δίσκου, στην πραγματικότητα είναι διαφορετική αποθήκευση δεδομένων…




Οι ηγέτες των επιχειρήσεων υπογραμμίζουν την ανάγκη για μια προσέγγιση υβριδικού cloud για να ξεκλειδώσει τη δύναμη της γενετικής τεχνητής νοημοσύνης

3 min διαβάστε - Το 2023, οι οργανισμοί αντιμετώπισαν ένα άνευ προηγουμένου επίπεδο πίεσης για ψηφιακό μετασχηματισμό με την άνοδο της γενετικής τεχνητής νοημοσύνης καθώς και επιταγές όπως η βιωσιμότητα, η παραγωγικότητα της εργασίας και η ασφάλεια. Η "Cloud Transformation Report", μια νέα παγκόσμια έρευνα από το IBM Institute for Business Value (IBV), διαπίστωσε ότι πολλές κορυφαίες επιχειρήσεις μοιράζονται μια κοινή βάση για τον ψηφιακό μετασχηματισμό—μια ξεκάθαρη υβριδική στρατηγική cloud.¹ Αυτές οι επιχειρήσεις αναφέρουν πολλά βασικά οφέλη από τη χρήση μια υβριδική προσέγγιση cloud για τον μετασχηματισμό των επιχειρήσεων, συμπεριλαμβανομένου του εκσυγχρονισμού,…




Μια εισαγωγή στο Wazi ως υπηρεσία

4 min διαβάστε - Στο σημερινό υπερανταγωνιστικό ψηφιακό τοπίο, η ταχεία ανάπτυξη νέων ψηφιακών υπηρεσιών είναι απαραίτητη για να παραμείνουμε μπροστά από την καμπύλη. Ωστόσο, πολλοί οργανισμοί αντιμετωπίζουν σημαντικές προκλήσεις όσον αφορά την ενοποίηση των βασικών τους συστημάτων, συμπεριλαμβανομένων των εφαρμογών Mainframe, με τις σύγχρονες τεχνολογίες. Αυτή η ενοποίηση είναι ζωτικής σημασίας για τον εκσυγχρονισμό βασικών εταιρικών εφαρμογών σε υβριδικές πλατφόρμες cloud. Το συγκλονιστικό είναι ότι ένα εκπληκτικό 33% των προγραμματιστών δεν έχει τις απαραίτητες δεξιότητες ή πόρους, εμποδίζοντας την παραγωγικότητά τους στην παροχή προϊόντων και υπηρεσιών. Επιπλέον, το 36% των προγραμματιστών αγωνίζεται με το…

Ενημερωτικά δελτία IBM

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

Εγγραφή τώρα

Περισσότερα ενημερωτικά δελτία

Σφραγίδα ώρας:

Περισσότερα από IBM