DevOps για λειτουργία και ανάπτυξη - μάθημα 124.000 RUB. από το Yandex Workshop, εκπαίδευση 6 μήνες (8 ώρες την εβδομάδα), Ημερομηνία: 6 Δεκεμβρίου 2023.
μικροαντικείμενα / / November 30, 2023
Αυτήν τη στιγμή εργάζομαι με την ETL, ολοκληρώνω την παρακολούθηση του συστήματος BI, αναπτύσσω σε Python και όλα αυτά στο σύννεφο Azure. Κατασκευάστηκε CI/CD για το σύστημα BI, έγραψε αυτόματες δοκιμές διεπαφής χρήστη στο Selenium. Στη ΛΑΝΙΤ (μέχρι το 2018) δημιούργησε...
Αυτήν τη στιγμή εργάζομαι με την ETL, ολοκληρώνω την παρακολούθηση του συστήματος BI, αναπτύσσω σε Python και όλα αυτά στο σύννεφο Azure. Κατασκευάστηκε CI/CD για το σύστημα BI, έγραψε αυτόματες δοκιμές διεπαφής χρήστη στο Selenium. Στη LANIT (μέχρι το 2018) δημιούργησε το δικό του «Frankenstein» από Jenkins, Ansible, VMware, Telegram bot, Jira, bash- και Σενάρια Python για πλήρες ChatOps, όπου όλες οι ενημερώσεις τόσο στους διακομιστές όσο και στα εισιτήρια γίνονταν μέσω ενός bot στο τηλεγράφημα για https://gis-tek.ru. Βοήθησε επίσης την Kubernetes να ενορχηστρώσει σελίδες https://мдм.моидокументы.рф. Στο NIIAS (μέχρι το 2016) έγραψε σενάρια mega-bash για να ενημερώσει τους διακομιστές αποστολής των Ρωσικών Σιδηροδρόμων, ώστε το τρένο σας να μπορεί να φτάσει στην ώρα του.
1) Συστήματα ελέγχου εκδόσεων και αυτοματοποίηση κατασκευής εφαρμογών 15 ώρες
Βρίσκεσαι να εργάζεσαι σε μια startup, γνωρίζεις την ομάδα και αναρωτιέσαι πώς είναι ακόμη δυνατό να δουλεύεις έτσι. Θέλοντας να διορθώσετε γρήγορα τα πράγματα, αρχίζετε να κατανοείτε πώς λειτουργεί η ανάπτυξη λογισμικού αυτές τις μέρες και κάνετε τα πρώτα βήματα προς την επιτάχυνση της παραγωγής.
- Πώς λειτουργεί ο κύκλος ζωής του λογισμικού;
- Συστήματα ελέγχου έκδοσης. Γιατί όλοι επιλέγουν το Git;
• Οργανώστε την ομαδική εργασία χρησιμοποιώντας τη ροή εργασίας του κλάδου δυνατοτήτων.
• Οργάνωση αποθήκευσης αποθετηρίων Git στο Gitea. - Απαχος:
• Muda (Απώλεια).
• Ροή αξίας και αξίας. - Απαχος:
• Εργαλεία αυτοματισμού για επαναλαμβανόμενες εργασίες.
• Πλαίσια για την αυτοματοποίηση της συναρμολόγησης έργου.
2) Ευέλικτες μεθοδολογίες και Συνεχής Ένταξη 15 ώρες
Η εκκίνηση σας αγοράζεται από τον γίγαντα πληροφορικής Krupnaya Kompaniya (KK). Ο επικεφαλής ομάδας της ομάδας σας γίνεται ο οδηγός σας στην πορεία προς την εκμάθηση DevOps. Αλλά τα προβλήματα με την εφαρμογή σας δεν εξαφανίζονται. Διαπιστώνετε ότι η εφαρμογή έχει κακή απόδοση σε περιβάλλον παραγωγής και νέα αιτήματα για την επιδιόρθωση ελαττωμάτων αναπτύσσονται συνεχώς. Εξαιτίας αυτού, η εργασία συσσωρεύεται και κανείς δεν μπορεί καν να ονειρευτεί την κυκλοφορία νέας λειτουργικότητας και σταθερότητας.
- Ζητήματα DevOps:
• Λειτουργικά φρεάτια.
• Καθοδική πορεία. - Agile μεθοδολογίες και κουλτούρα DevOps:
• Ομαδική αλληλεπίδραση.
• Σύγχρονες προσεγγίσεις. Τι προκάλεσε την εμφάνιση του Agile;
• Τρεις τρόποι DevOps: κύκλος παράδοσης αξίας, βρόχοι ανάδρασης, πειραματισμός και μάθηση. - Συνεχής ενσωμάτωση:
• Οργάνωση αποθήκευσης κωδικών.
• Οργάνωση συνέλευσης.
• Οργάνωση δοκιμών.
• Λάβετε γρήγορα σχόλια. - Διακομιστές συνεχούς ενοποίησης:
• Επισκόπηση της διεπαφής και της λειτουργικότητας του GitLab CI. - Μέτρηση ποιότητας και έλεγχος ασφάλειας στατικού κώδικα:
• Εργαλεία ανάλυσης ποιότητας στατικού κώδικα: SonarQube, GitLab Analyzer.
• Εργαλεία ανάλυσης ασφάλειας στατικού κώδικα: SonarQube SAST, GitLab SAST.
3) Δικτύωση και βασικά στοιχεία εργασίας σε διακομιστές Linux 15 ώρες
Συναντάτε τον διαχειριστή συστήματος KK, ο οποίος σας λέει πώς είναι δομημένο το δίκτυο και πώς λειτουργούν όλα γι 'αυτόν. Κατά τη διάρκεια της επίδειξης, βλέπετε ότι ο διαχειριστής ελέγχεται πολύ πιο γρήγορα από εντολές και κινήσεις του δρομέα στην κονσόλα και ζητήστε του να σας πει για αυτές τις τεχνικές. Ο διαχειριστής σας προσκαλεί να κατανοήσετε το παράδειγμα της εργασίας μεταφοράς μιας υπηρεσίας από έναν παλιό διακομιστή σε έναν νέο - ταυτόχρονα επιλύοντας ένα πρόβλημα που καίγεται.
- Βασικά στοιχεία εργασίας σε διακομιστές Linux, εργασία με τη γραμμή εντολών.
- Υποσύστημα δίσκου Linux.
- Δικαιώματα χρήστη Linux.
- Βασικά στοιχεία δικτύωσης: Προβλήματα σύνδεσης σε απομακρυσμένο διακομιστή.
- Εικονικοποίηση:
• Δημοφιλείς hypervisors.
• Εικονικές μηχανές.
• Εικονικά δίκτυα.
4) Συνεχής Παράδοση και Συνεχής Ανάπτυξη 20 ώρες
Έχοντας λάβει άλλη μια ενημέρωση εφαρμογής στο smartphone σας μέσα σε μια εβδομάδα, σας ενδιαφέρει πόσο συχνά λαμβάνονται ενημερώσεις στους χρήστες. Αποδείχθηκε ότι όχι συχνά. Είναι απαραίτητο πιο συχνά;
- Πώς λειτουργεί η διαδικασία παράδοσης προϊόντων πληροφορικής:
• Ποια είναι η διαδικασία παράδοσης.
• Διαχείριση ροής αξίας. - Συστήματα αποθήκευσης τεχνουργημάτων: Nexus.
- Συνεχής παράδοση:
• Οπτικοποίηση σταδίων παράδοσης.
• Οργάνωση της διαδικασίας παράδοσης. Αγωγός παράδοσης. Συνεχής Ανάπτυξη. - Μεθοδολογία εφαρμογής Twelve-Factor.
5) Υποδομή ως Κώδικας και συστήματα διαχείρισης διαμόρφωσης 20 ώρες
Είναι η πρώτη φορά που αντιμετωπίζετε πρόβλημα υποδομής. Κάποιος άλλαξε τη διαμόρφωση των διακομιστών των προγραμματιστών στους οποίους εκτελούσαν πειράματα και τώρα οι διακομιστές δυσλειτουργούν τόσο πολύ που δεν μπορούν πλέον να χρησιμοποιηθούν.
- Αντιγράφων ασφαλείας:
• Οργάνωση αντιγράφων ασφαλείας.
• Τύποι αντιγράφων ασφαλείας.
• Εναλλαγή αντιγράφων ασφαλείας. - Η υποδομή ως κώδικας: περιγράφουμε την υποδομή με κώδικα, υιοθετώντας εμπειρία ανάπτυξης.
- Συστήματα διαχείρισης διαμόρφωσης:
• Ansible (ρόλοι, εργασίες, απογραφή, θησαυροφυλάκιο, awx).
• Εξοικείωση με άλλα συστήματα: Chef, Salt, Puppet.
6) DBOps: σχεσιακές και μη σχεσιακές βάσεις δεδομένων 15 ώρες
Συναντάτε με την DBA. Λαμβάνετε απειλητικά σχόλια από χρήστες ότι ο ιστότοπος είναι αργός. Εμπειρικά, ανακαλύπτετε ότι η τελευταία ενημέρωση έχει επιβραδύνει σημαντικά τη βάση δεδομένων.
- Βασικά στοιχεία της θεωρίας βάσεων δεδομένων:
• Σχεσιακές βάσεις δεδομένων: PostgreSQL.
• Βασικά ερωτήματα SQL.
• Πώς να επιταχύνετε την εκτέλεση ερωτημάτων σε μια βάση δεδομένων: βελτιστοποίηση, προσωρινή αποθήκευση, αύξηση χωρητικότητας, ευρετηρίαση. - Οργάνωση υψηλής διαθεσιμότητας της βάσης δεδομένων:
• Αρχές DBOps.
• Μετανάστευση βάσης δεδομένων με χρήση του Flyway. - Μη σχεσιακές βάσεις δεδομένων: MongoDB.
7) Docker containering και αποθήκευση δεδομένων 20 ώρες
Θα βρεθείτε ανάμεσα σε δύο πυρκαγιές: από τη μια πλευρά, υπάρχουν προγραμματιστές για τους οποίους όλα λειτουργούν τοπικά, αλλά για κάποιους από αυτούς, ίσως όχι. από την άλλη, υπάρχει το τμήμα επιχειρήσεων, για το οποίο δεν λειτουργεί απολύτως τίποτα. Καταλαβαίνουμε πώς να βεβαιωθούμε ότι όλα είναι εξίσου καλά για όλους και, τελικά, να ξεκινήσουμε την εφαρμογή στην παραγωγή.
- Εμπορευματοκιβώτια:
• Επισκόπηση των κοντέινερ Linux και Docker.
• Συσκευή Docker: επίπεδα, εικόνες, κοντέινερ, αρχείο Docker, Μητρώο.
• Εναλλακτικά Docker (container, Podman, LXC, CRI-O). - Αποθήκευση δεδομένων: εργασία με S3, MinIO vs Ceph.
- Αποθήκευση και μετάδοση ευαίσθητων δεδομένων: μια εξαιρετική επισκόπηση του Vault.
8) Μικροϋπηρεσίες, εξισορρόπηση και προσωρινή αποθήκευση 15 ώρες
Ετοιμάζεστε για την κυκλοφορία μιας νέας έκδοσης της εφαρμογής και θέλετε να λάβετε υπόψη τα λάθη του παρελθόντος, όταν η υπηρεσία σας δεν μπορούσε να διαχειριστεί την κίνηση και ξάπλωσε για τρεις ημέρες. Αυτή τη φορά ήρθε μια επιχείρηση σε εσάς και απαίτησε να μην συμβεί αυτό! Θα βυθιστείτε τόσο πολύ στη διαδικασία που θα εισαγάγετε νέα δροσερά χαρακτηριστικά και στρατηγικές παράδοσης.
- Εξισορρόπηση και προσωρινή αποθήκευση.
- Μικροϋπηρεσίες:
• Προσεγγίσεις για την οργάνωση της αρχιτεκτονικής εφαρμογών.
• Εργαλεία για τη διαχείριση εφαρμογών microservice: Docker Compose. - Στρατηγικές παράδοσης και επιλογή του σωστού:
• Τι τύποι χρηστών υπάρχουν;
• Γαλαζοπράσινη ανάπτυξη.
• Ανάπτυξη καναρινιών.
9) Kubernetes. Ανάπτυξη και διασφάλιση της αξιοπιστίας της εφαρμογής 50 ώρες
Δημιουργείτε μια πλατφόρμα υπηρεσιών για να διασφαλίσετε τη λειτουργία υψηλής ποιότητας ολόκληρου του κύκλου παράδοσης.
- Ενορχήστρωση κοντέινερ:
• Εκτέλεση της εφαρμογής σε σύγχρονη υποδομή.
• Γιατί χρειάζονται τα συστήματα ενορχήστρωσης και πώς είναι αυτά.
• Kubernetes: λόγοι και στόχοι ανάπτυξης. - Εκκίνηση ενός συμπλέγματος Kubernetes για δοκιμή και ανάπτυξη:
• Πώς να αποκτήσετε Kubernetes: περιγραφή των 5 βασικών μεθόδων εγκατάστασης.
• Ανάλυση απλών εντολών kubectl.
• Εργασία με το βοηθητικό πρόγραμμα kubectl. - Αρχιτεκτονική Kubernetes:
• Κύρια στοιχεία και η αλληλεπίδρασή τους: προγραμματιστής, kubelet, kube-proxy, διαχειριστής ελεγκτών, etcd και διακομιστής api. - Βασικές οντότητες του Kubernetes:
• Κόμβοι, Podes, Services, Persistent Volume, Persistent Volume Claim.
• Το Kubernetes εκδηλώνεται.
• Χρήση kubectl σε επίπεδο σύνδεσης συμπλέγματος.
• Προβολή διαμόρφωσης κόμβων, λοβών, μυστικών κ.λπ. - Προηγμένες οντότητες Kubernetes:
• ReplicaSet, Deployment, DaemonSet και StatefulSet.
• Liveness, Readiness probe + Init containers.
• Προσθήκη για το kubectl: επεξεργασία, εφαρμογή, διαγραφή, δημιουργία.
• Επικοινωνία δικτύου σε ένα σύμπλεγμα. - Προηγμένη εργασία με το βοηθητικό πρόγραμμα kubectl:
• Πρόσθετες εντολές kubectl, σημαίες, αναπαράσταση οντοτήτων Kubernetes ως αρχεία YAML ή JSON/YAML.
• Αναπτύξτε την εφαρμογή με δύο τρόπους: χρησιμοποιώντας μια εντολή και μέσω αρχείου YAML. - Ανάπτυξη εφαρμογών στο Kubernetes:
• Ανάπτυξη της διεπαφής της εφαρμογής.
• Ανάπτυξη και εκ νέου ανάπτυξη μέσω ArgoCD. - Στρατηγικές ανάπτυξης:
• Σύνδεση μεταξύ Kubernetes και εφαρμογής Twelve-Factor.
• Στρατηγικές ανάπτυξης στο Kubernetes.
• Πώς υλοποιείται ο μηχανισμός επαναφοράς στο Kubernetes. - Πρακτικές GitOps για εργασία με υποδομές.
- Σύνταξη ενός γραφήματος Helm για την ανάπτυξη εφαρμογών.
- Ρύθμιση του ArgoCD.
- Χρήση κινητήρων προτύπων.
10) Σφάλματα καταγραφής και παρακολούθησης 15 ώρες
Η πλατφόρμα υπηρεσιών σας σταματά ξαφνικά να λειτουργεί.
- Σφάλμα καταγραφής και παρακολούθησης:
• Αρχεία καταγραφής Linux.
• Λόκι.
• Φρουρός - Παρακολούθηση:
• Τύποι μετρήσεων, τυπικές ανωμαλίες.
• Ειδοποιήσεις.
• Στοίβα GAP (Grafana, Prometheus, Alertmanager).
• Χρυσά Σήματα.
• Μετρήσεις επιπέδου εφαρμογής. - Συστήματα AWS και κατανεμημένη ανίχνευση.
- ΗΡΕΜΟΣ.
- Σφάλμα καταγραφής και παρακολούθησης:
ρε
ονειροπόλος-φκν
23.03.2022 ΣΟΛ.
Καλή εξυπηρέτηση και ένα καλό μάθημα DevOps για λειτουργίες και ανάπτυξη
Πλεονεκτήματα: βολική πλατφόρμα, καλή ομάδα, καλό υλικό. Μειονεκτήματα: ακατέργαστο υλικό Ολοκλήρωσε το ήμισυ του μαθήματος DevOps για λειτουργίες και ανάπτυξη. Μπήκε στο δεύτερο σετ. Από αυτή την άποψη, το θεωρητικό υλικό είναι υγρό και υπάρχουν ανακρίβειες. Αλλά προς τιμή των διοργανωτών, τα προβλήματα επιλύονται γρήγορα. Οι ελλείψεις εξαλείφονται. Μια πολύ φιλική ομάδα επιμελητών και συμβούλων. Για τα μισά...