Οδηγός DevOps για αρχάριους

Ποια είναι η σημασία του DevOps, τι σημαίνει για τους επαγγελματίες πληροφορικής, περιγραφή μεθόδων, πλαισίων και εργαλείων.

Οδηγός DevOps για αρχάριους

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

Τι είναι το DevOps

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

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

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

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

Προκλήσεις για την ομάδα ανάπτυξης

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

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

Προκλήσεις που αντιμετωπίζει η ομάδα επιχειρήσεων

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

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

Πώς το DevOps επιλύει προβλήματα ανάπτυξης και λειτουργίας

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

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

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

Το DevOps προσπαθεί να λύσει διάφορα προβλήματα που προκύπτουν από προηγούμενες μεθοδολογίες, όπως:

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

Οδηγός DevOps για αρχάριους

Αντιπαράθεση μεταξύ DevOps, Agile και παραδοσιακού IT

Το DevOps συζητείται συχνά σε σχέση με άλλες πρακτικές πληροφορικής, ιδιαίτερα το Agile και το Waterfall IT.

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

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

Παραδοσιακές διαδικασίες
Διεργασίες στο DevOps

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

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

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

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

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

Κύκλος ζωής DevOps

Το DevOps περιλαμβάνει την υιοθέτηση ορισμένων γενικά αποδεκτών πρακτικών.

Συνεχής προγραμματισμός

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

Κοινή ανάπτυξη

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

Συνεχής δοκιμή

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

Συνεχής απελευθέρωση και ανάπτυξη

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

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

Συνεχής παρακολούθηση

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

Συνεχής ανατροφοδότηση και βελτιστοποίηση

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

Οδηγός DevOps για αρχάριους

Πλεονεκτήματα του DevOps

Το DevOps μπορεί να βοηθήσει στη δημιουργία ενός περιβάλλοντος όπου οι προγραμματιστές και οι λειτουργίες εργάζονται ως ομάδα για την επίτευξη κοινών στόχων. Σημαντικό ορόσημο σε αυτή τη διαδικασία είναι η εφαρμογή συνεχούς ενοποίησης και συνεχούς παράδοσης (CI/CD). Αυτές οι τεχνικές θα επιτρέψουν στις ομάδες να φέρουν λογισμικό στην αγορά πιο γρήγορα με λιγότερα σφάλματα.

Σημαντικά οφέλη του DevOps είναι:

  • Προβλεψιμότητα: Το DevOps προσφέρει σημαντικά χαμηλότερο ποσοστό αποτυχίας για νέες εκδόσεις.
  • Συντηρησιμότητα: Το DevOps επιτρέπει την εύκολη ανάκτηση σε περίπτωση αποτυχίας μιας νέας έκδοσης ή πτώσης μιας εφαρμογής.
  • Αναπαραγωγιμότητα: Ο έλεγχος έκδοσης μιας έκδοσης ή κώδικα σάς επιτρέπει να επαναφέρετε προηγούμενες εκδόσεις όπως απαιτείται.
  • Υψηλότερη ποιότητα: Η αντιμετώπιση θεμάτων υποδομής βελτιώνει την ποιότητα της ανάπτυξης εφαρμογών.
  • Time to Market: Η βελτιστοποίηση της παράδοσης λογισμικού μειώνει τον χρόνο στην αγορά κατά 50%.
  • Μείωση κινδύνου: Η εφαρμογή ασφάλειας στον κύκλο ζωής του λογισμικού μειώνει τον αριθμό των ελαττωμάτων σε όλο τον κύκλο ζωής.
  • Αποδοτικότητα κόστους: Η επιδίωξη της αποδοτικότητας κόστους στην ανάπτυξη λογισμικού απευθύνεται στα ανώτερα στελέχη.
  • Σταθερότητα: Το σύστημα λογισμικού είναι πιο σταθερό, ασφαλές και οι αλλαγές μπορούν να ελεγχθούν.
  • Ανάλυση μεγαλύτερης βάσης κώδικα σε διαχειρίσιμα κομμάτια: Το DevOps βασίζεται σε ευέλικτες μεθόδους ανάπτυξης, οι οποίες σας επιτρέπουν να αναλύσετε μια μεγάλη βάση κώδικα σε μικρότερα, διαχειρίσιμα κομμάτια.

Αρχές DevOps

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

Ανάπτυξη και δοκιμή σε περιβάλλον παρόμοιο με την παραγωγή

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

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

Αναπτύξτε με επαναλαμβανόμενες, αξιόπιστες διαδικασίες

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

Παρακολούθηση και έλεγχος της ποιότητας της εργασίας

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

Βελτίωση των βρόχων ανατροφοδότησης

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

Dev

  • Σχεδίαση: Kanboard, Wekan και άλλες εναλλακτικές λύσεις Trello. GitLab, Tuleap, Redmine και άλλες εναλλακτικές λύσεις JIRA. Mattermost, Roit.im, IRC και άλλες εναλλακτικές λύσεις Slack.
  • Κωδικός γραφής: Git, Gerrit, Bugzilla; Jenkins και άλλα εργαλεία ανοιχτού κώδικα για CI/CD
  • Συνέλευση: Apache Maven, Gradle, Apache Ant, Packer
  • Δοκιμές: JUnit, Αγγούρι, Σελήνιο, Apache JMeter

Ops

  • Έκδοση, Ανάπτυξη, Λειτουργίες: Kubernetes, Nomad, Jenkins, Zuul, Spinnaker, Ansible, Apache ZooKeeper, etcd, Netflix Archaius, Terraform
  • Παρακολούθηση: Grafana, Prometheus, Nagios, InfluxDB, Fluentd και άλλα που καλύπτονται σε αυτόν τον οδηγό

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

Εν κατακλείδι

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

Οδηγός DevOps για αρχάριους

Μάθετε τις λεπτομέρειες για το πώς να αποκτήσετε ένα περιζήτητο επάγγελμα από το μηδέν ή Level Up όσον αφορά τις δεξιότητες και τον μισθό, ολοκληρώνοντας online μαθήματα επί πληρωμή SkillFactory:

περισσότερα μαθήματα

χρήσιμος

Πηγή: www.habr.com

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