Συνέδριο DUMP | grep 'backend|devops'

Την περασμένη εβδομάδα πήγα στο συνέδριο DUMP IT (https://dump-ekb.ru/) στο Αικατερινούπολη και θέλω να σας πω τι συζητήθηκε στις ενότητες Backend και Devops και αν αξίζουν προσοχής τα περιφερειακά συνέδρια πληροφορικής.

Συνέδριο DUMP | grep 'backend|devops'
Ο Nikolay Sverchkov από το Evil Martians για το Serverless

Τι υπήρχε τελικά;

Συνολικά, το συνέδριο είχε 8 ενότητες: Backend, Frontend, Mobile, Testing and QA, Devops, Design, Science and Management.

Οι μεγαλύτερες αίθουσες, παρεμπιπτόντως, είναι στο Science and Management)) Για ~ 350 άτομα η καθεμία. Το Backend και το Frontend δεν είναι πολύ μικρότερα. Το δωμάτιο Devops ήταν το μικρότερο, αλλά ενεργό.

Άκουσα τις αναφορές στις ενότητες Devops και Backend και μίλησα λίγο με τα ηχεία. Θα ήθελα να μιλήσω για τα θέματα που καλύπτονται και να αναθεωρήσω αυτές τις ενότητες στο συνέδριο.

Εκπρόσωποι των SKB-Kontur, DataArt, Evil Martians, Ekaterinburg web studio Flag, Miro (RealTimeBoard) μίλησαν στις ενότητες Devops και Backend. Τα θέματα που καλύπτονταν CI/CD, η εργασία με υπηρεσίες ουράς, η καταγραφή, τα θέματα χωρίς διακομιστή και η εργασία με PostgreSQL στο Go καλύφθηκαν καλά.

Υπήρχαν επίσης αναφορές από Avito, Tinkoff, Yandex, Jetstyle, Megafon, Ak Bars Bank, αλλά δεν είχα χρόνο να τις παρακολουθήσω φυσικά (οι εγγραφές βίντεο και οι διαφάνειες των αναφορών δεν είναι ακόμη διαθέσιμες, υπόσχονται να τις δημοσιεύσουν εντός 2 εβδομάδων στο dump-ekb.ru).

ενότητα Devops

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

Ελαστικό που ζυγίζει ένα petabyte

Η ενότητα ξεκίνησε με μια αναφορά του Vladimir Lil (SKB-Kontur) σχετικά με το Elasticsearch στο Kontur. Έχουν ένα αρκετά μεγάλο και φορτωμένο Elastic (~800 TB δεδομένων, ~1.3 petabytes λαμβάνοντας υπόψη τον πλεονασμό). Το Elasticsearch για όλες τις υπηρεσίες Kontur είναι ενιαίο, αποτελείται από 2 συμπλέγματα (από 7 και 9 διακομιστές) και είναι τόσο σημαντικό που ο Kontur έχει έναν ειδικό μηχανικό Elasticsearch (στην πραγματικότητα τον ίδιο τον Vladimir).

Ο Βλαντιμίρ μοιράστηκε επίσης τις σκέψεις του για τα οφέλη του Elasticsearch και τα προβλήματα που φέρνει.

Οφέλη:

  • Όλα τα κούτσουρα βρίσκονται σε ένα μέρος, με εύκολη πρόσβαση σε αυτά
  • Αποθήκευση κορμών για ένα χρόνο και εύκολη ανάλυσή τους
  • Υψηλή ταχύτητα εργασίας με κορμούς
  • Δροσερή οπτικοποίηση δεδομένων από το κουτί

Προβλήματα:

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

Υπήρχαν μόνο θετικές κριτικές σχετικά με το Open Distro για Elasticsearch :) Το ίδιο ζήτημα εξουσιοδότησης έχει επιλυθεί εκεί.

Από πού προέρχεται το petabyte;Οι κόμβοι τους αποτελούνται από διακομιστές με 12*8 Tb SATA + 2*2 Tb SSD. Ψυχρή αποθήκευση σε SATA, SSD μόνο για hot cache (hot storage).
7+9 διακομιστές, (7 + 9) * 12 * 8 = 1536 Tb.
Μέρος του χώρου είναι αποθεματικό, προορίζεται για πλεονασμό κ.λπ.
Τα αρχεία καταγραφής από περίπου 90 εφαρμογές αποστέλλονται στο Elasticsearch, συμπεριλαμβανομένων όλων των υπηρεσιών αναφοράς των Kontur, Elba κ.λπ.

Δυνατότητες ανάπτυξης σε διακομιστή χωρίς διακομιστή

Ακολουθεί μια αναφορά του Ruslan Serkin από την DataArt σχετικά με το Serverless.

Ο Ruslan μίλησε για το τι είναι γενικά η ανάπτυξη με την προσέγγιση χωρίς διακομιστή και ποια είναι τα χαρακτηριστικά της.

Χωρίς διακομιστή είναι μια προσέγγιση ανάπτυξης στην οποία οι προγραμματιστές δεν αγγίζουν την υποδομή με κανέναν τρόπο. Παράδειγμα - AWS Lambda Serverless, Kubeless.io (Serverless in Kubernetes), Google Cloud Functions.

Μια ιδανική εφαρμογή χωρίς διακομιστή είναι απλώς μια λειτουργία που στέλνει ένα αίτημα σε έναν πάροχο χωρίς διακομιστή μέσω μιας ειδικής πύλης API. Μια ιδανική microservice, ενώ το AWS Lambda υποστηρίζει επίσης μεγάλο αριθμό σύγχρονων γλωσσών προγραμματισμού. Το κόστος συντήρησης και ανάπτυξης υποδομής γίνεται μηδενικό στην περίπτωση των παρόχων cloud, η υποστήριξη μικρών εφαρμογών θα είναι επίσης πολύ φθηνή (AWS Lambda - 0.2 $ / 1 εκατομμύριο απλά αιτήματα).

Η επεκτασιμότητα ενός τέτοιου συστήματος είναι σχεδόν ιδανική - ο πάροχος cloud φροντίζει μόνος του, το Kubeless κλιμακώνεται αυτόματα εντός του συμπλέγματος Kubernetes.

Υπάρχουν μειονεκτήματα:

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

Για να είμαι ειλικρινής, άκουσα για το Serverless πριν από μερικά χρόνια, αλλά όλα αυτά τα χρόνια δεν μου ήταν ξεκάθαρο πώς να το χρησιμοποιήσω σωστά. Μετά την αναφορά του Ruslan, εμφανίστηκε κατανόηση και μετά την αναφορά του Nikolai Sverchkov (Κακό Αρειανοί) από την ενότητα Backend, ενοποιήθηκε. Δεν ήταν μάταια που πήγα στο συνέδριο :)

Το CI είναι για τους φτωχούς ή αξίζει να γράψετε το δικό σας CI για ένα web studio;

Ο Mikhail Radionov, επικεφαλής του διαδικτυακού στούντιο Flag από το Αικατερινούπολη, μίλησε για το αυτογραφικό CI/CD.

Το στούντιο του έχει μετατραπεί από το "χειροκίνητο CI/CD" (συνδεθείτε στον διακομιστή μέσω SSH, κάντε git pull, επαναλάβετε 100 φορές την ημέρα) στο Jenkins και σε ένα αυτογραφικό εργαλείο που σας επιτρέπει να παρακολουθείτε τον κώδικα και να εκτελείτε εκδόσεις που ονομάζονται Pullkins .

Γιατί δεν δούλεψε ο Τζένκινς; Δεν παρείχε αρκετή ευελιξία από προεπιλογή και ήταν πολύ δύσκολο να προσαρμοστεί.

Το "Flag" αναπτύσσεται στο Laravel (πλαίσιο PHP). Κατά την ανάπτυξη ενός διακομιστή CI/CD, ο Mikhail και οι συνεργάτες του χρησιμοποίησαν τους ενσωματωμένους μηχανισμούς της Laravel που ονομάζονται Telescope and Envoy. Το αποτέλεσμα είναι ένας διακομιστής σε PHP (παρακαλώ σημειώστε) που επεξεργάζεται τα εισερχόμενα αιτήματα webhook, μπορεί να δημιουργήσει το frontend και το backend, να αναπτύξει σε διαφορετικούς διακομιστές και να αναφέρει στο Slack.

Στη συνέχεια, για να μπορούν να εκτελούν ανάπτυξη μπλε/πράσινου και να έχουν ομοιόμορφες ρυθμίσεις σε περιβάλλοντα dev-stage-prod, άλλαξαν στο Docker. Τα πλεονεκτήματα παρέμειναν τα ίδια, προστέθηκαν οι δυνατότητες ομογενοποίησης του περιβάλλοντος και απρόσκοπτης ανάπτυξης και προστέθηκε η ανάγκη να μάθουμε το Docker να δουλεύει σωστά μαζί του.

Το έργο βρίσκεται στο Github

Πώς μειώσαμε τον αριθμό των επαναφορών έκδοσης διακομιστή κατά 99%

Η τελευταία αναφορά στην ενότητα Devops ήταν από τον Viktor Eremchenko, επικεφαλής μηχανικό devops στο Miro.com (πρώην RealTimeBoard).

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

Στο δρόμο για την κατασκευή ενός συστήματος που σας επιτρέπει να το κάνετε αυτό, ο Miro πέρασε από μια διαδρομή που περιελάμβανε εργασία στην αρχιτεκτονική, τα εργαλεία που χρησιμοποιήθηκαν (Atlassian Bamboo, Ansible, κ.λπ.) και εργασία στη δομή των ομάδων (τώρα έχουν μια αποκλειστική ομάδα Devops + πολλές ξεχωριστές ομάδες Scrum από προγραμματιστές διαφορετικών προφίλ).

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

Συνέδριο DUMP | grep 'backend|devops'
Κέρδισε ένα βιβλίο για ερωτήσεις

Τμήμα υποστήριξης

Κατάφερα να παρακολουθήσω 2 ρεπορτάζ - από τον Nikolay Sverchkov (Κακό Αρειανοί), επίσης για το Serverless, και από τον Grigory Koshelev (εταιρεία Kontur) σχετικά με την τηλεμετρία.

Χωρίς διακομιστή για απλούς θνητούς

Εάν ο Ruslan Sirkin μίλησε για το τι είναι το Serverless, ο Nikolay έδειξε απλές εφαρμογές χρησιμοποιώντας το Serverless και μίλησε για τις λεπτομέρειες που επηρεάζουν το κόστος και την ταχύτητα των εφαρμογών στο AWS Lambda.

Μια ενδιαφέρουσα λεπτομέρεια: το ελάχιστο πληρωμένο στοιχείο είναι 128 Mb μνήμης και 100 ms CPU, κοστίζει $0,000000208. Επιπλέον, 1 εκατομμύριο τέτοια αιτήματα ανά μήνα είναι δωρεάν.

Μερικές από τις λειτουργίες του Nikolai συχνά ξεπερνούσαν το όριο των 100 ms (η κύρια εφαρμογή ήταν γραμμένη σε Ruby), επομένως η επανεγγραφή τους στο Go παρείχε εξαιρετική οικονομία.

Vostok Hercules — κάντε ξανά την τηλεμετρία υπέροχη!

Η τελευταία αναφορά της ενότητας Backend από τον Grigory Koshelev (εταιρεία Kontur) σχετικά με την τηλεμετρία. Τηλεμετρία σημαίνει αρχεία καταγραφής, μετρήσεις, ίχνη εφαρμογών.

Για το σκοπό αυτό, το Contour χρησιμοποιεί αυτογραφικά εργαλεία που δημοσιεύονται στο Github. Εργαλείο από την έκθεση - Ηρακλής, github.com/vostok/hercules, χρησιμοποιείται για την παράδοση δεδομένων τηλεμετρίας.

Η αναφορά του Vladimir Lila στην ενότητα Devops εξέτασε την αποθήκευση και την επεξεργασία αρχείων καταγραφής στο Elasticsearch, αλλά εξακολουθεί να υπάρχει το καθήκον της παράδοσης αρχείων καταγραφής από πολλές χιλιάδες συσκευές και εφαρμογές και εργαλεία όπως το Vostok Hercules τα επιλύουν.

Το κύκλωμα ακολούθησε μια διαδρομή γνωστή σε πολλούς - από το RabbitMQ στον Apache Kafka, αλλά δεν είναι όλα τόσο απλά)) Έπρεπε να προσθέσουν τους Zookeeper, Cassandra και Graphite στο κύκλωμα. Δεν θα αποκαλύψω πλήρως τις πληροφορίες σε αυτήν την αναφορά (όχι το προφίλ μου), εάν ενδιαφέρεστε, μπορείτε να περιμένετε για τις διαφάνειες και τα βίντεο στον ιστότοπο του συνεδρίου.

Πώς συγκρίνεται με άλλα συνέδρια;

Δεν μπορώ να το συγκρίνω με συνέδρια στη Μόσχα και την Αγία Πετρούπολη, μπορώ να το συγκρίνω με άλλες εκδηλώσεις στα Ουράλια και με το 404fest στη Σαμάρα.

Το DAMP πραγματοποιείται σε 8 ενότητες, αυτό είναι ένα ρεκόρ για τα συνέδρια Ural. Πολύ μεγάλες ενότητες Επιστήμης και Διοίκησης, αυτό είναι επίσης ασυνήθιστο. Το κοινό στο Yekaterinburg είναι αρκετά δομημένο - η πόλη έχει μεγάλα τμήματα ανάπτυξης για Yandex, Kontur, Tinkoff και αυτό αφήνει το στίγμα του στις αναφορές.

Ένα άλλο ενδιαφέρον σημείο είναι ότι πολλές εταιρείες έχουν 3-4 ομιλητές στο συνέδριο ταυτόχρονα (αυτό συνέβη με τους Kontur, Evil Martians, Tinkoff). Πολλοί από αυτούς ήταν χορηγοί, αλλά οι αναφορές είναι αρκετά ίδιες με άλλες, δεν είναι διαφημιστικές αναφορές.

Να πάω ή να μην πάω; Εάν ζείτε στα Ουράλια ή κοντά, έχετε την ευκαιρία και ενδιαφέρεστε για τα θέματα - ναι, φυσικά. Εάν σκέφτεστε ένα μεγάλο ταξίδι, θα κοιτούσα τα θέματα των εκθέσεων και των βίντεο εκθέσεων από τα προηγούμενα χρόνια www.youtube.com/user/videoitpeople/videos και πήρε απόφαση.
Ένα άλλο πλεονέκτημα των διασκέψεων στις περιφέρειες, κατά κανόνα, είναι ότι είναι εύκολη η επικοινωνία με τον ομιλητή μετά τις εκθέσεις· απλώς υπάρχουν λιγότεροι υποψήφιοι για μια τέτοια επικοινωνία.

Συνέδριο DUMP | grep 'backend|devops'

Χάρη στο Dump και στο Ekaterinburg! )

Πηγή: www.habr.com

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