Slurm DevOps - μια καλύτερη λειτουργία σε 3 ημέρες από έναν όμορφο γερανό στο μακρινό μέλλον

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

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

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

MVP DevOps: Το μάθημα περιέχει εργαλεία για βασικές διαδικασίες DevOps. Δεν βάλαμε στον εαυτό μας καθήκον να εξετάσουμε και να συγκρίνουμε όλα τα συστήματα CI/CD ή να αποκαλύψουμε τα βάθη της προσέγγισης της Υποδομής ως Κώδικα. Παρέχουμε μία καθαρή στοίβα: Gitlab CI/CD, Ansible, Terraform and Packer, Molecule, Prometheus, EFK. Μπορείτε να έρθετε από τα μαθήματα, να συλλέξετε την υποδομή για ένα πιλοτικό έργο από εκπαιδευτικό υλικό και να εργαστείτε σε αυτό.

Slurm DevOps - μια καλύτερη λειτουργία σε 3 ημέρες από έναν όμορφο γερανό στο μακρινό μέλλον

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

Θέματα DevOps

Θέμα #1: Βέλτιστες πρακτικές Git - μιλάει από μόνο του.
Θέμα #2: Εργασία με την εφαρμογή από άποψη ανάπτυξης — ένας μηχανικός χρειάζεται τις ικανότητες ενός διαχειριστή και ενός προγραμματιστή, επομένως ενημερώνουμε τους διαχειριστές για την ανάπτυξη.

Θέμα #3: Βασικά στοιχεία CI/CD

  • Εισαγωγή στον Αυτοματισμό CI/CD
  • Βασικά στοιχεία Gitlab CI
  • Βέλτιστες πρακτικές με το gitlab-runner
  • Εργαλεία Bash, make, grale ως μέρος του CI/CD και πολλά άλλα
  • Το Docker ως τρόπος επίλυσης προβλημάτων CI

Θέμα #4: Gitlab CI/CD σε παραγωγή

  • Ανταγωνισμός κατά την έναρξη μιας εργασίας
  • Έλεγχος εκτέλεσης και περιορισμοί: μόνο, πότε
  • Εργασία με αντικείμενα
  • Πρότυπα, περιλαμβάνει και μικροϋπηρεσίες: απλοποίηση της ανάπτυξης

Εισάγουμε τους μαθητές στις βασικές έννοιες και τις έννοιες του CI/CD και των εργαλείων για την υλοποίηση του CI/CD. Ως αποτέλεσμα, ο μαθητής θα είναι σε θέση να επιλέξει ανεξάρτητα ένα μοτίβο σχεδίασης CI/CD και ένα κατάλληλο εργαλείο υλοποίησης.

Στη συνέχεια, δείχνουμε την υλοποίηση του CI/CD στο Gitlab και περπατάμε μέσα από τη ρύθμιση, εξετάζοντας προηγμένους τρόπους χρήσης του Gitlab CI. Ως αποτέλεσμα, ο μαθητής θα μπορεί να διαμορφώσει ανεξάρτητα το Gitlab CI για τα δικά του έργα.

Σε σύγκριση με το πρώτο DevOps Slurm, συρρικνώσαμε τη θεωρία κατά 2 φορές (μία ώρα ανά θέμα), απομακρυνθήκαμε από την αναθεώρηση όλων των συστημάτων και αφήσαμε μόνο το Gitlab CI. Εστιάσαμε στην πρακτική και προσθέσαμε πολλές βέλτιστες πρακτικές.

Θέμα #5: Η υποδομή ως κώδικας

  • IaC: προσέγγιση της υποδομής ως κώδικα
  • Οι πάροχοι cloud ως πάροχοι υποδομής
  • Εργαλεία προετοιμασίας συστήματος, δημιουργία εικόνων (packer)
  • IaC στο παράδειγμα της Terraform
  • Αποθήκευση διαμόρφωσης, συνεργασία, αυτοματοποίηση εφαρμογών
  • Η πρακτική της δημιουργίας βιβλίων Ansible
  • Αδυναμία, δηλωτική
  • IaC στο παράδειγμα του Ansible

Μειώσαμε το θεωρητικό μέρος για το UI και το openstack cli και επικεντρωθήκαμε στην πρακτική.
Ας δούμε δύο προσεγγίσεις IaC που χρησιμοποιούν την ίδια εφαρμογή, δείχνοντας τα πλεονεκτήματα και τα μειονεκτήματα κάθε προσέγγισης. Ως αποτέλεσμα, ο μαθητής θα καταλάβει ποια προσέγγιση να χρησιμοποιήσει πού και θα μπορεί να εργαστεί τόσο με το Terraform όσο και με το Ansible.

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

Θέμα #6: Δοκιμές Υποδομής

  • Ας καταλάβουμε γιατί δεν γράφουν τεστ;
  • Τι τεστ υπάρχουν στο IaC;
  • Στατικοί αναλυτές, είναι πραγματικά τόσο άχρηστοι;
  • Δοκιμή μονάδας IaC χρησιμοποιώντας το μόριο ansible + ως παράδειγμα
  • Δοκιμή ως μέρος του ci
  • Δοκιμές σε στεροειδή ή πώς να μην περιμένετε 5 ώρες για να ολοκληρωθούν οι δοκιμές IaC

Μειώσαμε το θεωρητικό μέρος, λιγότερες ιστορίες για το Vagrant/Molecule, περισσότερη εξάσκηση και άμεσο τεστ, με επίκεντρο τα linters και την εργασία με αυτά. Κοιτάζοντας το από μια σκοπιά CI
πώς να κάνετε τις δοκιμές πιο γρήγορα. Στην πράξη θα υπάρχουν:

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

Θέμα #7: Παρακολούθηση υποδομών με τον Προμηθέα

  • Πώς να δημιουργήσετε ένα υγιές σύστημα παρακολούθησης
  • Η παρακολούθηση ως εργαλείο ανάλυσης, αποδοτικότητας ανάπτυξης και σταθερότητας κώδικα, ακόμη και πριν από την πώληση
  • Ρύθμιση prometheus + alertmanager + grafana
  • Μετάβαση από την παρακολούθηση πόρων στην παρακολούθηση εφαρμογών

Θα μιλήσουμε πολύ για την παρακολούθηση μικρουπηρεσιών: αναγνωριστικά αιτημάτων, εργαλείο παρακολούθησης api. Θα υπάρξουν πολλές βέλτιστες πρακτικές και πολλή ανεξάρτητη εργασία.

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

Θέμα Νο 8. Καταγραφή αίτησης με ELK

  • Επισκόπηση του Elastic και των εργαλείων του
  • ELK/Elastic Stack/x-pack - τι είναι και ποια η διαφορά;
  • Ποια προβλήματα μπορούν να λυθούν χρησιμοποιώντας το ElasticSearch (αναζήτηση, αποθήκευση, δυνατότητες κλιμάκωσης, ευελιξία διαμόρφωσης)
  • Παρακολούθηση υποδομής (x-pack)
  • Αρχεία καταγραφής κοντέινερ και εφαρμογών (x-pack)
  • Καταγραφή χρησιμοποιώντας την εφαρμογή μας ως παράδειγμα
  • Πρακτικές εργασίας με την Kibana
  • Ανοίξτε το Distro για το Elasticsearch από το Amazon

Το θέμα έχει επανασχεδιαστεί πλήρως, φιλοξενείται από τον Eduard Medvedev, πολλοί τον είδαν στο webinar για το DevOps και το SRE. Θα πει και θα επιδείξει τις βέλτιστες πρακτικές για τη συνεργασία με τον ΕΦΚ χρησιμοποιώντας το παράδειγμα μιας εκπαιδευτικής εφαρμογής. Θα γίνει προπόνηση με την Κιμπάνα.

Θέμα #9: Αυτοματισμός υποδομής με ChatOps

  • DevOps και ChatOps
  • Δυνατά σημεία του ChatOps
  • Slack and Alternatives
  • Bots για ChatOps
  • Hubot και εναλλακτικές λύσεις
  • Ασφάλεια
  • Δοκιμές
  • Οι καλύτερες και οι χειρότερες πρακτικές

Το ChatOps πρόσθεσε την πρακτική του ελέγχου ταυτότητας με διαχωρισμό δικαιωμάτων, την επιβεβαίωση ενεργειών από άλλο χρήστη, τη θεωρία και την πρακτική μιας εναλλακτικής του Slack με τη μορφή του Mattermost, τη θεωρία της μονάδας και τις δοκιμές ενοποίησης για το bot.

Το slurm DevOps ξεκινά στις 30 Ιανουαρίου. Τιμή - 30.
Για όσους έχουν ολοκληρώσει την ανάγνωση, υπάρχει έκπτωση 15% στο μάθημα DevOps χρησιμοποιώντας τον κωδικό προσφοράς habrapost.

Εγγραφή εδώ

Θα χαρώ να σας δω στο Slurms!

Πηγή: www.habr.com

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