Σύγχρονη πλατφόρμα για ανάπτυξη και ανάπτυξη λογισμικού

Αυτή είναι η πρώτη από μια σειρά αναρτήσεων σχετικά με τις αλλαγές, τις βελτιώσεις και τις προσθήκες στην επερχόμενη ενημέρωση της πλατφόρμας Red Hat OpenShift 4.0 που θα σας βοηθήσει να προετοιμαστείτε για τη μετάβαση στη νέα έκδοση.

Σύγχρονη πλατφόρμα για ανάπτυξη και ανάπτυξη λογισμικού

Από τη στιγμή που η νεοσύστατη κοινότητα Kubernetes συγκεντρώθηκε για πρώτη φορά στο γραφείο της Google στο Σιάτλ το φθινόπωρο του 2014, το έργο Kubernetes έμελλε να φέρει επανάσταση στον τρόπο με τον οποίο αναπτύσσεται και αναπτύσσεται το λογισμικό σήμερα. Ταυτόχρονα, οι δημόσιοι πάροχοι υπηρεσιών cloud συνέχισαν να επενδύουν ενεργά στην ανάπτυξη υποδομών και υπηρεσιών, γεγονός που έκανε την εργασία με IT και τη δημιουργία λογισμικού πολύ πιο εύκολη και πιο προσιτή και τα έκανε απίστευτα προσιτά, κάτι που λίγοι θα μπορούσαν να φανταστούν στην αρχή του τη δεκαετία.

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

Περιττό να πούμε ότι όλες αυτές οι διαφωνίες ήταν πολύ ανόητες

Η πραγματικότητα είναι ότι τίποτα δεν πρόκειται να πάει μακριά και σήμερα μπορούμε να δούμε μια εκθετική αύξηση των τελικών προϊόντων και του τρόπου ανάπτυξής τους, λόγω της συνεχούς εμφάνισης νέου λογισμικού στη ζωή μας. Και παρά το γεγονός ότι όλα γύρω θα αλλάξουν, την ίδια στιγμή, στην ουσία, όλα θα παραμείνουν αναλλοίωτα. Οι προγραμματιστές λογισμικού θα εξακολουθούν να γράφουν κώδικα με σφάλματα, οι μηχανικοί λειτουργιών και οι ειδικοί αξιοπιστίας θα εξακολουθούν να περπατούν με τηλεειδοποιητές και να λαμβάνουν αυτόματες ειδοποιήσεις στο Slack, οι διαχειριστές θα εξακολουθούν να λειτουργούν με όρους OpEx και CapEx και κάθε φορά που εμφανίζεται μια αποτυχία, ο ανώτερος προγραμματιστής θα αναστενάζει λυπημένα με τα λόγια: «Σου το είπα»...

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

Το Kubernetes είναι ένα τέτοιο εργαλείο. Γίνονται εργασίες για να συνδυαστεί το Red Hat OpenShift με άλλα εργαλεία και υπηρεσίες σε μια ενιαία πλατφόρμα που θα έκανε το λογισμικό πιο αξιόπιστο, πιο εύκολο στη διαχείριση και ασφαλέστερο για τους χρήστες.

Με αυτά τα λόγια, η ομάδα του OpenShift κάνει μια απλή ερώτηση:

Πώς μπορείτε να κάνετε την εργασία με το Kubernetes ευκολότερη και πιο βολική;

Η απάντηση είναι εκπληκτικά προφανής:

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

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

Πώς να πετύχετε αυτό το αποτέλεσμα;

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

Στις αρχές του 2018, η Red Hat απέκτησε το έργο CoreOS, το οποίο είχε παρόμοιες απόψεις για το μέλλον - πιο ασφαλές και αξιόπιστο, που δημιουργήθηκε με αρχές ανοιχτού κώδικα. Η εταιρεία εργάστηκε για να αναπτύξει περαιτέρω αυτές τις ιδέες και να τις εφαρμόσει, κάνοντας πράξη τη φιλοσοφία μας - προσπαθώντας να διασφαλίσει ότι όλο το λογισμικό λειτουργεί με ασφάλεια. Όλη αυτή η εργασία βασίζεται σε Kubernetes, Linux, δημόσια σύννεφα, ιδιωτικά σύννεφα και χιλιάδες άλλα έργα που στηρίζουν το σύγχρονο ψηφιακό μας οικοσύστημα.

Η νέα έκδοση του OpenShift 4 θα είναι σαφής, αυτοματοποιημένη και πιο φυσική

Η πλατφόρμα OpenShift θα συνεργάζεται με τα καλύτερα και πιο αξιόπιστα λειτουργικά συστήματα Linux, με υποστήριξη υλικού γυμνού μετάλλου, βολική εικονικοποίηση, αυτόματο προγραμματισμό υποδομής και, φυσικά, κοντέινερ (τα οποία είναι ουσιαστικά απλώς εικόνες Linux).

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

Θα πρέπει να επιτρέπει τη λειτουργία του λογισμικού «ως υπηρεσία» και να μην οδηγεί σε μη διαχειρίσιμη ανάπτυξη υποδομών για τους φορείς εκμετάλλευσης.

Θα επιτρέψει στους προγραμματιστές να επικεντρωθούν στη δημιουργία πραγματικών προϊόντων για χρήστες και πελάτες. Δεν θα χρειαστεί να περιπλανηθείτε στη ζούγκλα των ρυθμίσεων υλικού και λογισμικού και όλες οι τυχαίες επιπλοκές θα ανήκουν στο παρελθόν.

OpenShift 4: Πλατφόρμα NoOps που δεν απαιτεί συντήρηση

В αυτήν την έκδοση περιέγραψε εκείνες τις εργασίες που βοήθησαν στη διαμόρφωση του οράματος της εταιρείας για το OpenShift 4. Στόχος της ομάδας είναι να απλοποιήσει όσο το δυνατόν περισσότερο τις καθημερινές εργασίες χειρισμού και συντήρησης λογισμικού, ώστε αυτές οι διαδικασίες να είναι εύκολες και ξεκούραστες - τόσο για τους ειδικούς που εμπλέκονται στην υλοποίηση όσο και για τους προγραμματιστές. Πώς όμως μπορείς να φτάσεις πιο κοντά σε αυτόν τον στόχο; Πώς να δημιουργήσετε μια πλατφόρμα για την εκτέλεση λογισμικού που απαιτεί ελάχιστη παρέμβαση; Τι σημαίνει καν το NoOps σε αυτό το πλαίσιο;

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

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

Στόχος, όπως και πριν, είναι να επιταχυνθούν οι επαναλήψεις στην ανάπτυξη λογισμικού, να δοθεί η ευκαιρία να δημιουργήσει καλύτερα προϊόντα και έτσι ώστε ο προγραμματιστής να μην χρειάζεται να ανησυχεί για τα συστήματα στα οποία εκτελείται το λογισμικό του. Ένας έμπειρος προγραμματιστής γνωρίζει καλά ότι η εστίαση στους χρήστες μπορεί να αλλάξει γρήγορα την εικόνα, επομένως δεν πρέπει να καταβάλλετε υπερβολική προσπάθεια για τη σύνταξη λογισμικού, εκτός εάν είστε απολύτως βέβαιοι ότι χρειάζεται.

Για τους επαγγελματίες συντήρησης και λειτουργίας, η λέξη "NoOps" μπορεί να ακούγεται λίγο τρομακτική. Αλλά όταν επικοινωνείτε με μηχανικούς πεδίου, γίνεται προφανές ότι τα πρότυπα και οι τεχνικές που χρησιμοποιούν με στόχο τη διασφάλιση αξιοπιστίας και αξιοπιστίας (Site Reliability Engineering, SRE) έχουν πολλές ομοιότητες με τα μοτίβα που περιγράφονται παραπάνω:

  • Μην διαχειρίζεστε συστήματα - αυτοματοποιήστε τις διαδικασίες διαχείρισής τους.
  • Μην εφαρμόζετε λογισμικό - δημιουργήστε μια διοχέτευση για να το αναπτύξετε.
  • Αποφύγετε τη ομαδοποίηση όλων των υπηρεσιών σας και αφήστε την αποτυχία μιας να προκαλέσει την αποτυχία ολόκληρου του συστήματος—διασκορπίστε τις σε ολόκληρη την υποδομή σας χρησιμοποιώντας εργαλεία αυτοματισμού και συνδέστε τις με τρόπους που μπορούν να παρακολουθούνται και να παρακολουθούνται.

Οι SRE γνωρίζουν ότι κάτι μπορεί να πάει στραβά και θα πρέπει να εντοπίσουν και να διορθώσουν το πρόβλημα—έτσι αυτοματοποιούν τη συνήθη εργασία και ορίζουν προϋπολογισμούς σφαλμάτων εκ των προτέρων, ώστε να είναι έτοιμοι να δώσουν προτεραιότητα και να λάβουν αποφάσεις όταν προκύψει πρόβλημα.

Το Kubernetes στο OpenShift είναι μια πλατφόρμα που έχει σχεδιαστεί για να λύνει δύο βασικά προβλήματα: αντί να σας αναγκάζει να κατανοήσετε τις εικονικές μηχανές ή τα API εξισορρόπησης φορτίου, λειτουργεί με αφαιρέσεις υψηλότερης τάξης - διαδικασίες και υπηρεσίες ανάπτυξης. Αντί να εγκαταστήσετε πράκτορες λογισμικού, μπορείτε να εκτελέσετε κοντέινερ και αντί να γράψετε τη δική σας στοίβα παρακολούθησης, χρησιμοποιήστε τα εργαλεία που είναι ήδη διαθέσιμα στην πλατφόρμα. Έτσι, η μυστική σάλτσα του OpenShift 4 δεν είναι πραγματικά μυστικό - το μόνο που χρειάζεται είναι να λάβουμε υπόψη τις αρχές SRE και τις έννοιες χωρίς διακομιστή και να τις οδηγήσουμε στο λογικό τους συμπέρασμα για να βοηθήσουμε τους προγραμματιστές και τους μηχανικούς λειτουργίας:

  • Αυτοματοποίηση και τυποποίηση της υποδομής που χρησιμοποιούν οι εφαρμογές
  • Συνδέστε τις διαδικασίες ανάπτυξης και ανάπτυξης μεταξύ τους χωρίς να περιορίσετε τους ίδιους τους προγραμματιστές
  • Η διασφάλιση ότι η εκκίνηση, ο έλεγχος και η διασφάλιση της XNUMXης υπηρεσίας, δυνατότητας, εφαρμογής ή ολόκληρης της στοίβας δεν είναι πιο δύσκολη από την πρώτη.

Ποια είναι όμως η διαφορά μεταξύ της πλατφόρμας OpenShift 4 και των προκατόχων της και από την «τυπική» προσέγγιση για την επίλυση τέτοιων προβλημάτων; Τι οδηγεί την κλίμακα για τις ομάδες υλοποίησης και λειτουργιών; Λόγω του γεγονότος ότι ο βασιλιάς σε αυτή την κατάσταση είναι το σύμπλεγμα. Ετσι,

  • Βεβαιωνόμαστε ότι ο σκοπός των συστάδων είναι ξεκάθαρος (Αγαπητό σύννεφο, πήρα αυτό το σύμπλεγμα γιατί μπορούσα)
  • Μηχανήματα και λειτουργικά συστήματα υπάρχουν για να εξυπηρετούν το σύμπλεγμα (Μεγαλειότατε)
  • Διαχειριστείτε την κατάσταση των κεντρικών υπολογιστών από το σύμπλεγμα, ελαχιστοποιήστε την αναδόμησή τους (drift).
  • Για κάθε σημαντικό στοιχείο του συστήματος χρειάζεται μια νταντά (μηχανισμός) που θα παρακολουθεί και θα εξαλείφει προβλήματα
  • Η αποτυχία *κάθε* πτυχής ή στοιχείου ενός συστήματος και των σχετικών μηχανισμών ανάκτησης είναι ένα φυσιολογικό μέρος της ζωής
  • Ολόκληρη η υποδομή πρέπει να διαμορφωθεί μέσω API.
  • Χρησιμοποιήστε το Kubernetes για να εκτελέσετε το Kubernetes. (Ναι, ναι, δεν είναι τυπογραφικό λάθος)
  • Η εγκατάσταση των ενημερώσεων πρέπει να είναι εύκολη και χωρίς προβλήματα. Εάν χρειάζονται περισσότερα από ένα κλικ για να εγκαταστήσετε μια ενημέρωση, τότε προφανώς κάτι κάνουμε λάθος.
  • Η παρακολούθηση και ο εντοπισμός σφαλμάτων οποιουδήποτε στοιχείου δεν θα πρέπει να αποτελεί πρόβλημα, και επομένως η παρακολούθηση και η αναφορά σε ολόκληρη την υποδομή θα πρέπει επίσης να είναι εύκολη και βολική.

Θέλετε να δείτε τις δυνατότητες της πλατφόρμας σε δράση;

Μια έκδοση προεπισκόπησης του OpenShift 4 έχει γίνει διαθέσιμη στους προγραμματιστές. Με ένα εύχρηστο πρόγραμμα εγκατάστασης, μπορείτε να εκτελέσετε ένα σύμπλεγμα στο AWS πάνω από το Red Had CoreOS. Για να χρησιμοποιήσετε την προεπισκόπηση, χρειάζεστε μόνο έναν λογαριασμό AWS για την παροχή της υποδομής και ένα σύνολο λογαριασμών για πρόσβαση στις εικόνες προεπισκόπησης.

  1. Για να ξεκινήσετε, μεταβείτε στο try.openshift.com και κάντε κλικ στο «Έναρξη».
  2. Συνδεθείτε στον λογαριασμό σας στο Red Hat (ή δημιουργήστε έναν νέο) και ακολουθήστε τις οδηγίες για να ρυθμίσετε το πρώτο σας σύμπλεγμα.

Μετά την επιτυχή εγκατάσταση, δείτε τα σεμινάρια μας Εκπαίδευση OpenShiftγια να κατανοήσετε βαθύτερα τα συστήματα και τις έννοιες που κάνουν την πλατφόρμα OpenShift 4 τόσο εύκολο και βολικό τρόπο για την εκτέλεση του Kubernetes.

Δοκιμάστε τη νέα έκδοση του OpenShift και μοιραστείτε τη γνώμη σας. Δεσμευόμαστε να κάνουμε τη συνεργασία με το Kumbernetes όσο το δυνατόν πιο προσιτή και αβίαστη—το μέλλον του NoOps ξεκινά σήμερα.

Τώρα προσοχή!
Στη διάσκεψη DevOpsForum 2019 Στις 20 Απριλίου, ένας από τους προγραμματιστές του OpenShift, ο Vadim Rutkovsky, θα πραγματοποιήσει ένα master class - θα σπάσει δέκα συμπλέγματα και θα τους αναγκάσει να τα διορθώσουν. Το συνέδριο πληρώνεται, αλλά με τον κωδικό προσφοράς #RedHat έχετε έκπτωση 37%.

Master class στις 17:15 - 18:15, και το περίπτερο είναι ανοιχτό όλη την ημέρα. Μπλουζάκια, καπέλα, αυτοκόλλητα - τα συνηθισμένα!

Αίθουσα #2
«Εδώ πρέπει να αλλάξει ολόκληρο το σύστημα: επισκευάζουμε σπασμένα συμπλέγματα k8 μαζί με πιστοποιημένους μηχανικούς».


Πηγή: www.habr.com

Προσθέστε ένα σχόλιο