In der letzten Woche war ich auf der IT-Konferenz DUMP (https://dump-ekb.ru/) in Jekaterinburg und möchte erzĂ€hlen, worĂŒber in den Sektionen Backend und Devops gesprochen wurde und ob regionale IT-Konferenzen von Bedeutung sind.

Nikolai Svertchkov von Evil Martians ĂŒber Serverless
Was war ĂŒberhaupt los?
Insgesamt gab es auf der Konferenz 8 Sektionen: Backend, Frontend, Mobile, Testing und QA, Devops, Design, Wissenschaft und Management.
Die gröĂten SĂ€le hatten ĂŒbrigens Wissenschaft und Management, jeweils fĂŒr etwa 350 Personen. Backend und Frontend waren nur geringfĂŒgig kleiner. Der Saal fĂŒr Devops war der kleinste, aber sehr aktiv.
Ich habe VortrĂ€ge in den Sektionen Devops und Backend gehört und ein wenig mit den Referenten gesprochen. Ich möchte ĂŒber die behandelten Themen berichten und eine Ăbersicht ĂŒber diese Sektionen geben.
In den Sektionen Devops und Backend traten Vertreter von SKB Kontur, DataArt, Evil Martians, dem Jekaterinburger Webstudio Flag und Miro (RealTimeBoard) auf. Die Themen betrafen CI/CD, die Arbeit mit Warteschlangendiensten, Logging, die Themen Serverless und die Arbeit mit PostgreSQL in Go wurden gut behandelt.
Es gab auch VortrĂ€ge von Avito, Tinkoff, Yandex, Jetstyle, MegaFon und der Bank Ak Bars, aber ich konnte sie nicht persönlich besuchen (Videoaufzeichnungen und Folien der VortrĂ€ge sind noch nicht verfĂŒgbar, sie versprechen, sie innerhalb von zwei Wochen auf dump-ekb.ru hochzuladen).
Devops-Sektion
Was mich ĂŒberrascht hat â die Sektion fand im kleinsten Saal mit etwa 50 PlĂ€tzen statt. Die Leute standen sogar in den GĂ€ngen đ Ich werde ĂŒber die VortrĂ€ge berichten, die ich hören konnte.
Elastic mit einem Petabyte
Die Sektion begann mit einem Vortrag von Wladimir Lila (SKB Kontur) ĂŒber Elasticsearch bei Kontur. Sie haben ein ziemlich groĂes und stark belastetes Elasticsearch (~800 TB Daten, ~1,3 Petabyte unter BerĂŒcksichtigung der Redundanz). Elasticsearch ist fĂŒr alle Dienste von Kontur einheitlich, besteht aus zwei Clustern (mit 7 und 9 Servern) und ist so wichtig, dass es bei Kontur einen speziellen Elasticsearch-Ingenieur gibt (nĂ€mlich Wladimir selbst).
Wladimir teilte auch seine Gedanken ĂŒber den Nutzen von Elasticsearch und die Probleme, die es verursacht, mit.
Nutzen:
- Alle Logs an einem Ort, einfacher Zugang zu ihnen
- Aufbewahrung von Logs fĂŒr ein Jahr und deren einfache Analyse
- Hohe Geschwindigkeit bei der Arbeit mit Logs
- Tolle Datenvisualisierung 'out of the box'
Probleme:
- Message Broker â ein Muss (bei Kontur ĂŒbernimmt Kafka diese Rolle)
- Besonderheiten der Arbeit mit Elasticsearch Curator (periodisch hohe Last durch regelmĂ€Ăige Aufgaben im Curator)
- keine eingebaute Authentifizierung (nur gegen separate, ziemlich hohe GebĂŒhren oder als Open-Source-Plugins in unterschiedlichem Produktionsstatus)
Die RĂŒckmeldungen zu Open Distro for Elasticsearch waren ausschlieĂlich positiv đ Das gleiche gilt fĂŒr das Autorisierungsthema dort.
Woher die Petabytes?Ihre Knoten bestehen aus Servern mit 12*8 Tb SATA + 2*2 Tb SSD. Cold Storage auf SATA, SSD nur fĂŒr den heiĂen Cache (Hot Storage).
7+9 Server, (7 + 9) * 12 * 8 = 1536 Tb.
Ein Teil des Speicherplatzes ist als Reserve eingeplant, um Redundanz u.Ă€. abzudecken.
In Elasticsearch werden Logs von etwa 90 Anwendungen gesendet, einschlieĂlich aller Berichterstattungsservices von Kontur, Elba u.a.
Besonderheiten der Entwicklung auf Serverless
Im Folgenden der Bericht von Ruslan Serkin aus DataArt ĂŒber Serverless.
Ruslan sprach ĂŒber die Entwicklung mit dem Serverless-Ansatz im Allgemeinen und welche Besonderheiten sie hat.
Serverless ist ein Ansatz zur Entwicklung, bei dem die Entwickler keinerlei BerĂŒhrung mit der Infrastruktur haben. Beispiel: AWS Lambda Serverless, Kubeless.io (Serverless innerhalb von Kubernetes), Google Cloud Functions.
Eine ideale Serverless-Anwendung ist einfach eine Funktion, die eine Anfrage an den Serverless-Anbieter ĂŒber einen speziellen API-Gateway sendet. Der ideale Mikrodienst, wobei in AWS Lambda eine groĂe Anzahl moderner Programmiersprachen unterstĂŒtzt wird. Die Kosten fĂŒr die UnterstĂŒtzung und Bereitstellung der Infrastruktur werden bei Cloud-Anbietern null, die UnterstĂŒtzung kleinerer Anwendungen wird ebenfalls sehr gĂŒnstig sein (AWS Lambda â 0,2$ / 1 Million einfacher 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 schwieriger
- es gibt Schwierigkeiten mit dem Profiling von Anwendungen (nur Logs stehen zur VerfĂŒgung, aber kein Profiling im gewohnten Sinne)
- es gibt keine Versionierung
Ich sage ganz ehrlich, ich habe vor ein paar Jahren von Serverless gehört, aber all die Jahre war mir unklar, wie ich es richtig anwenden soll. Nach Ruslans Bericht hatte ich ein VerstĂ€ndnis, und nach Nikolai Swerchkovs (Evil Martians) Bericht aus dem Backend-Bereich wurde es gefestigt. Der Besuch der Konferenz war also nicht umsonst đ
CI fĂŒr kleine Budgets, oder lohnt es sich, ein eigenes CI fĂŒr eine Webagentur zu schreiben?
Mikhail Radionov, Leiter der Webagentur Flag aus Jekaterinburg, sprach ĂŒber selbstgeschriebenes CI/CD.
Seine Agentur hat den Weg vom âmanuellen CI/CDâ (auf den Server per SSH gehen, git pull durchfĂŒhren, 100 Mal am Tag wiederholen) zu Jenkins und zu einem selbstentwickelten Tool namens Pullkins, das es ermöglicht, den Code zu kontrollieren und Releases durchzufĂŒhren, zurĂŒckgelegt.
Warum hat Jenkins nicht ĂŒberzeugt? Er bot standardmĂ€Ăig nicht genĂŒgend FlexibilitĂ€t und war zu kompliziert bei der Anpassung.
âFlagâ wird auf Laravel (PHP-Framework) entwickelt. Bei der Entwicklung des CI/CD-Servers haben Michail und seine Kollegen die integrierten Mechanismen von Laravel namens Telescope und Envoy genutzt. Das Ergebnis ist ein PHP-Server (bitte beachten), der eingehende Webhook-Anfragen verarbeitet, in der Lage ist, Frontend, Backend zu bauen, auf verschiedene Server zu deployen und in Slack zu berichten.
Um die Möglichkeit einer Blue/Green-Bereitstellung zu haben und einheitliche Einstellungen in den Dev-, Stage- und Prod-Umgebungen zu gewÀhrleisten, sind sie zu Docker gewechselt. Die Vorteile blieben die gleichen, es kamen Möglichkeiten zur Homogenisierung der Umgebung und nahtlosem Deployment hinzu, und es entstand die Notwendigkeit, Docker zu lernen, um korrekt damit arbeiten zu können.
Wie wir die Anzahl der Rollbacks bei Server-Releases um 99% reduziert haben.
Der letzte Vortrag in der DevOps-Sektion wurde von Viktor Jaremtschenko, Lead DevOps-Ingenieur bei Miro.com (ehemals RealTimeBoard), gehalten.
Die Grundlage von RealTimeBoard, dem Hauptprodukt des Miro-Teams, ist eine monolithische Anwendung in Java. Diese ohne Ausfallzeiten zu bauen, zu testen und zu deployen, ist eine anspruchsvolle Aufgabe. Wichtig ist es, eine Version des Codes zu deployen, die nicht zurĂŒckgerollt werden muss (es handelt sich schlieĂlich um ein schweres Monolith).
Auf dem Weg zum Aufbau eines Systems, das dies ermöglicht, hat Miro einen Weg eingeschlagen, der die Arbeit an der Architektur, den verwendeten Werkzeugen (Atlassian Bamboo, Ansible usw.) und die Teambildung umfasst (sie haben derzeit ein dediziertes DevOps-Team und viele separate Scrum-Teams von Entwicklern verschiedener Profile).
Der Weg erwies sich als schwierig und steinig, und Viktor teilte den gesammelten Schmerz und den dennoch ungebrochenen Optimismus.

Gewann ein Buch fĂŒr Fragen.
Backend-Sektion.
Ich habe an 2 VortrĂ€gen teilgenommen â von Nikolai Swertschkow (Evil Martians), ebenfalls ĂŒber Serverless, und von Grigori Koschelew (Firma Kontur) ĂŒber Telemetrie.
Serverless fĂŒr einfache Sterbliche.
WÀhrend Ruslan Sirkin erklÀrte, was Serverless ist, zeigte Nikolai einfache Anwendungen mit Serverless und erlÀuterte die Details, die die Kosten und die Geschwindigkeit der Anwendungen in AWS Lambda beeinflussen.
Interessante Detail: Das kleinste bezahlte Element â 128 Mb RAM und 100 ms CPU, kostet 0,000000208$. Dabei sind 1 Million solcher Anfragen pro Monat kostenlos.
Einige Funktionen bei Nikolai ĂŒberschritten hĂ€ufig das Limit von 100 ms (die Hauptanwendung war in Ruby geschrieben), daher brachte das Neuschreiben in Go eine hervorragende Einsparung.
Vostok Hercules â mache Telemetrie wieder groĂartig!
Der letzte Bericht der Backend-Sektion von Grigori Koschelew (Firma Kontur) ĂŒber Telemetrie. Telemetrie sind Protokolle, Metriken, Anwendungstraces.
Kontur verwendet dafĂŒr selbstgeschriebene Tools, die auf Github veröffentlicht sind. Das im Bericht erwĂ€hnte Tool ist Hercules, , das zur Ăbertragung von Telemetriedaten verwendet wird.
Im Bericht von Wladimir Lila in der Devops-Sektion wurde die Speicherung und Verarbeitung von Protokollen in Elasticsearch behandelt, aber es gibt auch die Aufgabe, Protokolle von Tausenden von GerĂ€ten und Anwendungen zu liefern, und dafĂŒr werden Tools wie Vostok Hercules eingesetzt.
Kontur hat den fĂŒr viele bekannten Weg von RabbitMQ zu Apache Kafka beschritten, aber es war nicht so einfach. Sie mussten Zookeeper, Cassandra und Graphite in das Schema aufnehmen. Informationen zu diesem Bericht kann ich nicht vollstĂ€ndig enthĂŒllen (nicht mein Fachgebiet), wenn es interessiert â man kann auf die Folien und Videos auf der Website der Konferenz warten.
Wie im Vergleich zu anderen Konferenzen?
Ich kann sie nicht mit den Konferenzen in Moskau und St. Petersburg vergleichen, ich kann sie mit anderen Veranstaltungen im Ural und dem 404fest in Samara vergleichen.
Die DAMP wird in 8 Sektionen durchgefĂŒhrt, das ist ein Rekord fĂŒr Ural-Konferenzen. Sehr groĂe Sektionen Wissenschaft und Management, das ist auch ungewöhnlich. Das Publikum in Ekaterinburg ist ziemlich strukturiert â in der Stadt gibt es groĂe Entwicklungsabteilungen von Yandex, Kontur, Tinkoff, das hinterlĂ€sst auch einen Eindruck auf die Berichte.
Ein weiterer interessanter Punkt â viele Unternehmen haben gleich 3â4 Referenten auf der Konferenz (so war es bei Kontur, Evil Martians, Tinkoff). Viele von ihnen waren Sponsoren, aber die Berichte waren durchaus auf dem Niveau anderer, es sind keine Werbeberichte.
Gehen oder nicht gehen? Wenn Sie im Ural oder in der NĂ€he leben, haben Sie die Möglichkeit und interessante Themen â ja, natĂŒrlich. Wenn Sie an einer weiteren Reise denken â ich wĂŒrde die Themen der Berichte und die Videos der Berichte aus den vergangenen Jahren anschauen und eine Entscheidung treffen.
Ein weiterer Vorteil von Konferenzen in den Regionen ist, dass man in der Regel leicht nach den Berichten mit dem Referenten sprechen kann, es gibt einfach weniger Interessenten fĂŒr ein solches GesprĂ€ch.

Danke an DAMP und Ekaterinburg! )
Quelle: habr.com
