DUMP-Konferenz | grep 'backend|devops'

Letzte Woche war ich auf der DUMP IT-Konferenz (https://dump-ekb.ru/) in Jekaterinburg und möchte Ihnen sagen, was in den Bereichen Backend und Devops besprochen wurde und ob regionale IT-Konferenzen Aufmerksamkeit wert sind.

DUMP-Konferenz | grep 'backend|devops'
Nikolay Sverchkov von Evil Martians über Serverless

Was war überhaupt da?

Insgesamt bestand die Konferenz aus 8 Abschnitten: Backend, Frontend, Mobile, Testing und QA, Devops, Design, Wissenschaft und Management.

Die größten Säle befinden sich übrigens bei Science and Management)) Für jeweils ca. 350 Personen. Backend und Frontend sind nicht viel kleiner. Der Devops-Raum war der kleinste, aber aktiv.

Ich habe mir die Berichte in den Rubriken Devops und Backend angehört und ein wenig mit den Referenten gesprochen. Ich möchte über die behandelten Themen sprechen und diese Abschnitte auf der Konferenz besprechen.

Vertreter von SKB-Kontur, DataArt, Evil Martians, dem Ekaterinburg-Webstudio Flag und Miro (RealTimeBoard) sprachen in den Bereichen Devops und Backend. Die Themen umfassten CI/CD, die Arbeit mit Warteschlangendiensten und die Protokollierung; Serverlose Themen und die Arbeit mit PostgreSQL in Go wurden gut behandelt.

Es gab auch Berichte von Avito, Tinkoff, Yandex, Jetstyle, Megafon, Ak Bars Bank, aber ich hatte keine Zeit, sie persönlich zu besuchen (Videoaufzeichnungen und Folien der Berichte sind noch nicht verfügbar, sie versprechen, sie innerhalb von 2 Wochen zu veröffentlichen auf dump-ekb.ru).

Devops-Bereich

Überraschend war, dass die Sektion im kleinsten Saal mit etwa 50 Sitzplätzen stattfand. Es standen sogar Leute in den Gängen :) Ich erzähle euch von den Berichten, die ich mir anhören konnte.

Ein Gummiband mit einem Gewicht von einem Petabyte

Der Abschnitt begann mit einem Bericht von Vladimir Lil (SKB-Kontur) über Elasticsearch in Kontur. Sie verfügen über ein ziemlich großes und ausgelastetes Elastic (ca. 800 TB Daten, ca. 1.3 Petabyte unter Berücksichtigung der Redundanz). Elasticsearch für alle Kontur-Dienste ist einzeln, besteht aus 2 Clustern (mit 7 und 9 Servern) und ist so wichtig, dass Kontur über einen speziellen Elasticsearch-Ingenieur verfügt (tatsächlich Vladimir selbst).

Vladimir teilte auch seine Gedanken über die Vorteile von Elasticsearch und die damit verbundenen Probleme mit.

Vorteile:

  • Alle Protokolle befinden sich an einem Ort und sind leicht zugänglich
  • Protokolle ein Jahr lang speichern und einfach analysieren
  • Hohe Arbeitsgeschwindigkeit mit Protokollen
  • Coole Datenvisualisierung sofort einsatzbereit

Probleme:

  • Message Broker ist ein Muss (für Kontur spielt Kafka seine Rolle)
  • Merkmale der Arbeit mit Elasticsearch Curator (periodisch hohe Belastung durch reguläre Aufgaben im Curator)
  • keine eingebaute Autorisierung (nur für separates, ziemlich großes Geld oder als Open-Source-Plugins mit unterschiedlichem Reifegrad für die Produktion)

Es gab nur positive Bewertungen zu Open Distro für Elasticsearch :) Das gleiche Autorisierungsproblem wurde dort gelöst.

Woher kommt das Petabyte?Ihre Knoten bestehen aus Servern mit 12*8 TB SATA + 2*2 TB SSD. Cold Storage auf SATA, SSD nur für Hot Cache (Hot Storage).
7+9 Server, (7 + 9) * 12 * 8 = 1536 TB.
Ein Teil des Platzes ist reserviert, für Redundanz usw. reserviert.
Protokolle von etwa 90 Anwendungen werden an Elasticsearch gesendet, einschließlich aller Berichtsdienste von Kontur, Elba usw.

Merkmale der Entwicklung auf Serverless

Als nächstes folgt ein Bericht von Ruslan Serkin von DataArt über Serverless.

Ruslan sprach darüber, was Entwicklung mit dem Serverless-Ansatz im Allgemeinen ist und welche Funktionen er bietet.

Serverless ist ein Entwicklungsansatz, bei dem Entwickler die Infrastruktur in keiner Weise berühren. Beispiel – AWS Lambda Serverless, Kubeless.io (Serverless in Kubernetes), Google Cloud Functions.

Eine ideale serverlose Anwendung ist einfach eine Funktion, die über ein spezielles API-Gateway eine Anfrage an einen serverlosen Anbieter sendet. Ein idealer Microservice, während AWS Lambda auch eine Vielzahl moderner Programmiersprachen unterstützt. Die Kosten für die Wartung und Bereitstellung der Infrastruktur fallen bei Cloud-Anbietern auf Null, die Unterstützung kleiner Anwendungen wird ebenfalls sehr günstig sein (AWS Lambda – 0.2 $ / 1 Million einfache Anfragen).

Die Skalierbarkeit eines solchen Systems ist nahezu ideal – der Cloud-Anbieter kümmert sich selbst darum, Kubeless skaliert automatisch innerhalb des Kubernetes-Clusters.

Es gibt Nachteile:

  • Die Entwicklung großer Anwendungen wird immer schwieriger
  • Es gibt Schwierigkeiten bei der Profilerstellung von Anwendungen (es stehen Ihnen nur Protokolle zur Verfügung, aber keine Profilerstellung im üblichen Sinne).
  • keine Versionierung

Ehrlich gesagt habe ich vor ein paar Jahren von Serverless gehört, aber all die Jahre war mir nicht klar, wie man es richtig nutzt. Nach Ruslans Bericht zeigte sich Verständnis, und nach dem Bericht von Nikolai Sverchkov (Evil Martians) aus der Backend-Sektion wurde es gefestigt. Es war nicht umsonst, dass ich zur Konferenz gegangen bin :)

CI ist etwas für die Armen, oder lohnt es sich, für ein Webstudio ein eigenes CI zu schreiben?

Mikhail Radionov, Leiter des Flag-Webstudios aus Jekaterinburg, sprach über selbstgeschriebene CI/CD.

Sein Studio ist von „manueller CI/CD“ (über SSH am Server anmelden, einen Git-Pull ausführen, 100 Mal am Tag wiederholen) zu Jenkins und zu einem selbst geschriebenen Tool namens Pullkins übergegangen, mit dem Sie Code überwachen und Releases durchführen können .

Warum hat Jenkins nicht funktioniert? Es bot standardmäßig nicht genügend Flexibilität und war zu schwierig anzupassen.

„Flag“ wird in Laravel (PHP-Framework) entwickelt. Bei der Entwicklung eines CI/CD-Servers verwendeten Mikhail und seine Kollegen die integrierten Mechanismen von Laravel namens Telescope und Envoy. Das Ergebnis ist ein Server in PHP (bitte beachten), der eingehende Webhook-Anfragen verarbeitet, das Frontend und Backend erstellen, auf verschiedenen Servern bereitstellen und an Slack berichten kann.

Um dann eine Blue/Green-Bereitstellung durchführen zu können und einheitliche Einstellungen in Dev-Stage-Prod-Umgebungen zu haben, wechselten sie zu Docker. Die Vorteile blieben dieselben, es kamen die Möglichkeiten der Homogenisierung der Umgebung und der nahtlosen Bereitstellung hinzu, und es kam die Notwendigkeit hinzu, Docker zu erlernen, um richtig damit zu arbeiten.

Das Projekt ist auf Github

Wie wir die Anzahl der Server-Release-Rollbacks um 99 % reduziert haben

Der letzte Bericht im Devops-Bereich stammt von Viktor Eremchenko, leitender Devops-Ingenieur bei Miro.com (ehemals RealTimeBoard).

RealTimeBoard, das Flaggschiffprodukt des Miro-Teams, basiert auf einer monolithischen Java-Anwendung. Es ohne Ausfallzeiten zu sammeln, zu testen und bereitzustellen ist eine schwierige Aufgabe. In diesem Fall ist es wichtig, eine solche Version des Codes bereitzustellen, damit kein Rollback erforderlich ist (es handelt sich um einen schweren Monolithen).

Auf dem Weg zum Aufbau eines Systems, das dies ermöglicht, hat Miro einen Weg beschritten, der die Arbeit an der Architektur, den verwendeten Tools (Atlassian Bamboo, Ansible usw.) und der Arbeit an der Struktur der Teams (die sie jetzt haben) umfasste ein engagiertes Devops-Team + viele separate Scrum-Teams von Entwicklern mit unterschiedlichen Profilen).

Der Weg erwies sich als schwierig und dornig, und Victor teilte den angesammelten Schmerz und den Optimismus, der damit noch nicht endete.

DUMP-Konferenz | grep 'backend|devops'
Habe ein Buch für das Stellen von Fragen gewonnen

Backend-Bereich

Ich habe es geschafft, an zwei Berichten teilzunehmen – von Nikolay Sverchkov (Evil Martians), ebenfalls über Serverless, und von Grigory Koshelev (Firma Kontur) über Telemetrie.

Serverlos für Normalsterbliche

Während Ruslan Sirkin darüber sprach, was Serverless ist, zeigte Nikolay einfache Anwendungen mit Serverless und sprach über die Details, die sich auf die Kosten und Geschwindigkeit von Anwendungen in AWS Lambda auswirken.

Ein interessantes Detail: Das mindestens bezahlte Element beträgt 128 MB Speicher und 100 ms CPU und kostet 0,000000208 US-Dollar. Darüber hinaus sind 1 Million solcher Anfragen pro Monat kostenlos.

Einige Funktionen von Nikolai überschritten häufig die 100-ms-Grenze (die Hauptanwendung wurde in Ruby geschrieben), sodass das Umschreiben in Go erhebliche Einsparungen ermöglichte.

Wostok Hercules – machen Sie Telemetrie wieder großartig!

Der neueste Bericht der Backend-Sektion von Grigory Koshelev (Firma Kontur) über Telemetrie. Unter Telemetrie versteht man Protokolle, Metriken und Anwendungsverfolgungen.

Zu diesem Zweck nutzt Contour selbst geschriebene Tools, die auf Github veröffentlicht sind. Werkzeug aus dem Bericht - Herkules, github.com/vostok/hercules, wird zur Bereitstellung von Telemetriedaten verwendet.

In Vladimir Lilas Bericht im Abschnitt „Devops“ ging es um das Speichern und Verarbeiten von Protokollen in Elasticsearch, aber es besteht immer noch die Aufgabe, Protokolle von vielen tausend Geräten und Anwendungen bereitzustellen, und Tools wie Vostok Hercules lösen sie.

Die Schaltung folgte einem vielen bekannten Weg – von RabbitMQ bis Apache Kafka, aber nicht alles ist so einfach)) Sie mussten Zookeeper, Cassandra und Graphite zur Schaltung hinzufügen. Ich werde die Informationen zu diesem Bericht (nicht mein Profil) nicht vollständig offenlegen. Wenn Sie interessiert sind, können Sie auf der Konferenzwebsite auf die Folien und Videos warten.

Wie ist der Vergleich mit anderen Konferenzen?

Ich kann es nicht mit Konferenzen in Moskau und St. Petersburg vergleichen, ich kann es mit anderen Veranstaltungen im Ural und mit dem 404fest in Samara vergleichen.

Die DAMP findet in 8 Abschnitten statt, das ist ein Rekord für Ural-Konferenzen. Sehr große Bereiche für Wissenschaft und Management, auch das ist ungewöhnlich. Das Publikum in Jekaterinburg ist recht strukturiert – die Stadt hat große Entwicklungsabteilungen für Yandex, Kontur, Tinkoff, und das hinterlässt Spuren in den Berichten.

Ein weiterer interessanter Punkt ist, dass viele Unternehmen 3-4 Redner gleichzeitig auf der Konferenz haben (dies war bei Kontur, Evil Martians, Tinkoff der Fall). Viele von ihnen waren Sponsoren, aber die Berichte stehen durchaus auf Augenhöhe mit anderen, es handelt sich hierbei nicht um Werbeberichte.

Gehen oder nicht gehen? Wenn Sie im Ural oder in der Nähe wohnen, haben Sie die Möglichkeit und interessieren sich für die Themen – ja, natürlich. Wenn Sie über eine längere Reise nachdenken, würde ich mir die Themen von Berichten und Videoreportagen aus den vergangenen Jahren ansehen www.youtube.com/user/videoitpeople/videos und traf eine Entscheidung.
Ein weiterer Vorteil von Konferenzen in den Regionen besteht in der Regel darin, dass die Kommunikation mit dem Referenten nach den Berichten einfach ist; es gibt einfach weniger Bewerber für eine solche Kommunikation.

DUMP-Konferenz | grep 'backend|devops'

Danke an Dump und Ekaterinburg! )

Source: habr.com

Kommentar hinzufügen