DUMP conference | grep ā€˜backend|devops’

Vorige week bezocht ik de IT-conferentie DUMP (https://dump-ekb.ru/) in Jekaterinenburg en ik wil vertellen waar het over ging in de secties Backend en Devops, en of regionale IT-conferenties de moeite waard zijn.

DUMP conference | grep ā€˜backend|devops’
Nikolai Sverchkov van Evil Martians over Serverless

Wat was er eigenlijk allemaal?

In totaal waren er 8 secties op de conferentie: Backend, Frontend, Mobile, Testing en QA, Devops, Design, Science en Management.

De grootste zalen waren trouwens Science en Management, met ongeveer 350 plaatsen elk. Backend en Frontend waren niet veel kleiner. De Devops zaal was de kleinste, maar actief.

Ik luisterde naar presentaties in de secties Devops en Backend en praatte een beetje met de sprekers. Ik wil de besproken onderwerpen vertellen en een overzicht geven van deze secties op de conferentie.

In de secties Devops en Backend waren er vertegenwoordigers van SKB-Kontur, DataArt, Evil Martians, de Jekaterinenburg webstudio Flag, Miro (RealTimeBoard). De onderwerpen omvatten CI/CD, werken met queue services, logging, en de onderwerpen Serverless en werken met PostgreSQL in Go werden goed behandeld.

Er waren ook presentaties van Avito, Tinkoff, Yandex, Jetstyle, MegaFon, en de Ak Bars bank, maar ik had niet genoeg tijd om deze fysiek bij te wonen (videopresentaties en slides zijn nog niet beschikbaar, ze beloven ze binnen 2 weken op dump-ekb.ru te plaatsen).

Devops sectie

Wat verraste me — de sectie vond plaats in de kleinste zaal, met ongeveer 50 plaatsen. Mensen stonden zelfs in de gang šŸ™‚ Ik zal vertellen over de presentaties die ik heb kunnen luisteren.

Elasticsearch van een petabyte

De sectie begon met een presentatie van Vladimir Lila (SKB-Kontur) over Elasticsearch in Kontur. Ze hebben een vrij grote en druk belaste Elasticsearch (~800 TB aan gegevens, ~1.3 petabyte rekening houdend met redundantie). Elasticsearch voor alle diensten van Kontur is uniek, bestaat uit 2 clusters (van 7 en 9 servers), en is zo belangrijk dat Kontur een speciale Elasticsearch engineer heeft (namelijk Vladimir zelf).

Vladimir deelde ook zijn gedachten over de voordelen van Elasticsearch en de problemen die het met zich meebrengt.

Voordelen:

  • Alle logs op ƩƩn plek, gemakkelijke toegang tot hen
  • Opslag van logs gedurende een jaar en hun gemakkelijke analyse
  • Hoge snelheid van werken met logs
  • Geweldige gegevensvisualisatie "out of the box"

Problemen:

  • Berichtenbroker — must have (bij Kontur wordt deze rol vervuld door Kafka)
  • Kenmerken van het werken met Elasticsearch Curator (periodiek hoge belasting van regelmatige taken in Curator)
  • Geen ingebouwde autorisatie (alleen voor aparte, vrij grote bedragen, of als open-source plugins van verschillende bereidheid voor productie)

Over Open Distro for Elasticsearch zijn de reacties alleen maar positief geweest šŸ™‚ Hetzelfde probleem met de autorisatie is daar opgelost.

Waar komt een petabyte vandaan?Hun nodes bestaan uit servers met 12*8 Tb SATA + 2*2 Tb SSD. Cold storage op SATA, SSD alleen voor de warme cache (hot storage).
7+9 servers, (7 + 9) * 12 * 8 = 1536 Tb.
Een deel van de ruimte is gereserveerd, ingecalculeerd voor redundantie enz.
In Elasticsearch worden logs van ongeveer 90 applicaties verzonden, inclusief alle rapportagediensten van Kontur, Elba en andere.

Kenmerken van ontwikkeling met Serverless

Hierna volgt de presentatie van Ruslan Serkin van DataArt over Serverless.

Ruslan vertelde wat Serverless-ontwikkeling überhaupt inhoudt en wat de kenmerken ervan zijn.

Serverless is een ontwikkelingsbenadering waarbij ontwikkelaars op geen enkele manier met de infrastructuur in aanraking komen. Voorbeeld — AWS Lambda Serverless, Kubeless.io (Serverless binnen Kubernetes), Google Cloud Functions.

Een ideaal Serverless-applicatie is gewoon een functie die een verzoek verstuurt naar de Serverless-provider via een speciale API Gateway. Een ideale microservice, bovendien ondersteunt AWS Lambda een groot aantal moderne programmeertalen. De kosten voor onderhoud en inzet van infrastructuur worden nul als het gaat om cloudproviders; het onderhouden van kleine applicaties zal ook zeer goedkoop zijn (AWS Lambda — 0.2$ / 1 miljoen eenvoudige verzoeken).

De schaalbaarheid van een dergelijk systeem is praktisch ideaal — de cloudprovider zorgt daar zelf voor, Kubeless schaalt automatisch binnen een Kubernetes-cluster.

Er zijn nadelen:

  • de ontwikkeling van grote applicaties wordt moeilijker
  • er is een complexiteit bij het profileren van applicaties (je hebt alleen logs beschikbaar, maar geen profiling zoals gebruikelijk)
  • er is geen versiebeheer

Ik zeg eerlijk, ik hoorde jaren geleden al over Serverless, maar het was me al die jaren onduidelijk hoe ik het correct moest toepassen. Na de presentatie van Ruslan kreeg ik begrip, en na de presentatie van Nikolai Sverchkov (Evil Martians) uit de backend-sectie was het verankerd. Het was dus zeker niet voor niets dat ik naar de conferentie ben gegaan šŸ™‚

CI voor de armen, of is het de moeite waard om je eigen CI voor een webstudio te schrijven?

Mikhail Radionov, directeur van webstudio Flag uit Yekaterinburg, sprak over hun eigen CI/CD.

Zijn studio heeft de weg afgelegd van 'handmatige CI/CD' (ik logde in op de server via SSH, deed git pull, herhaal 100 keer per dag) naar Jenkins en naar een zelfgemaakt hulpmiddel dat de code controleert en releases uitvoert, genaamd Pullkins.

Waarom voldeed Jenkins niet? Het bood niet genoeg flexibiliteit standaard en was te complex bij aanpassingen.

ā€œVlagā€ ontwikkelt op Laravel (PHP framework). Tijdens de ontwikkeling van de CI/CD-server maakten Michail en zijn collega's gebruik van de ingebouwde mechanismen van Laravel genaamd Telescope en Envoy. Hierdoor is er een server ontstaan in PHP (let op), die inkomende webhook-verzoeken kan verwerken, front-end en back-end builds kan uitvoeren, kan uitrollen naar verschillende servers en rapportages in Slack kan doen.

Vervolgens, om blue/green deploy mogelijk te maken en uniforme instellingen in dev-stage-prod omgevingen te hebben, zijn ze overgestapt op Docker. De voordelen bleven hetzelfde, maar er kwamen mogelijkheden bij voor homogene omgevingen en naadloze deployments, en de noodzaak om Docker te bestuderen voor juist gebruik.

Het project is beschikbaar op Github.

Hoe we het aantal rollback serverreleases met 99% hebben verminderd.

De laatste presentatie in de DevOps sectie was van Viktor Yeremchenko, Lead DevOps engineer bij Miro.com (voormalig RealTimeBoard).

De basis van RealTimeBoard, het belangrijkste product van het Miro-team, is een monolithische applicatie in Java. Het bouwen, testen en uitrollen zonder downtime is een complexe taak. Het is belangrijk om een versie van de code uit te rollen die niet teruggedraaid hoeft te worden (het is tenslotte een zwaar monolith).

Op weg naar het opbouwen van een systeem dat dit mogelijk maakt, heeft Miro een traject doorgemaakt dat onder andere architectuur, gebruikte tools (Atlassian Bamboo, Ansible, etc.) en teamopbouw omvat (ze hebben nu een toegewijd DevOps-team + veel afzonderlijke Scrum-teams van ontwikkelaars met verschillende profielen).

De weg bleek moeilijk en steil, en Viktor deelde zijn opgebouwde pijn en niet afgenomen optimisme.

DUMP conference | grep ā€˜backend|devops’
Boek gewonnen voor vragen.

Backend sectie.

Ik heb twee presentaties meegemaakt — van Nikolai Svirchkov (Evil Martians), ook over Serverless, en van Grigory Koshelev (bedrijf Kontur) over telemetrie.

Serverless voor gewone stervelingen.

Als Ruslan Sirkin uitlegde wat Serverless is, toonde Nikolai eenvoudige applicaties met Serverless en sprak over details die de kosten en snelheid van applicaties in AWS Lambda beĆÆnvloeden.

Een interessant detail: het minimale betaalde element is 128 Mb geheugen en 100 ms CPU, het kost 0,000000208$. Daarnaast zijn de eerste 1 miljoen dergelijke aanvragen per maand gratis.

Sommige functies van Nikolai overschreden vaak de limiet van 100 ms (de hoofdapplicatie was geschreven in Ruby), dus het herschrijven ervan in Go zorgde voor een uitstekende besparing.

Vostok Hercules - maak telemetry weer geweldig!

De laatste presentatie van de Backend-sectie door Grigory Koshelev (bedrijf Kontur) over telemetry. Telemetrie zijn logs, metrics, en traces van applicaties.

Kontur gebruikt hiervoor zelf geschreven tools, beschikbaar op GitHub. De tool uit de presentatie - Hercules, github.com/vostok/hercules, wordt gebruikt voor het verzenden van telemetriegegevens.

In de presentatie van Vladimir Lila in de DevOps-sectie werd het opslaan en verwerken van logs in Elasticsearch besproken, maar er is ook de taak om logs van duizenden apparaten en applicaties te leveren, en die wordt opgelost met tools zoals Vostok Hercules.

Kontur heeft een bekende weg afgelegd - van RabbitMQ naar Apache Kafka, maar het is niet zo eenvoudig )) Ze moesten Zookeeper, Cassandra en Graphite aan de architectuur toevoegen. Ik zal de informatie uit deze presentatie niet volledig onthullen (het is niet mijn vakgebied), maar als je geĆÆnteresseerd bent - je kunt wachten op de slides en video op de website van de conferentie.

Hoe verhoudt het zich tot andere conferenties?

Ik kan het niet vergelijken met conferenties in Moskou en St. Petersburg, maar ik kan het vergelijken met andere evenementen in de Ural en met 404fest in Samara.

DUMP wordt gehouden in 8 secties, dat is een record voor conferenties in de Ural. De secties Science en Management zijn ook zeer groot, dat is ongebruikelijk. Het publiek in Jekaterinburg is vrij gestructureerd - in de stad zijn er grote ontwikkelingsafdelingen van Yandex, Kontur, Tinkoff, dit laat ook zijn sporen na in de presentaties.

Een ander interessant punt - veel bedrijven hebben direct 3-4 sprekers op de conferentie (dat was het geval bij Kontur, Evil Martians, Tinkoff). Veel van hen waren sponsors, maar de presentaties waren volledig op niveau met anderen, het waren geen reclamepresentaties.

Moet je gaan of niet? Als je in de Ural woont of in de buurt, en je hebt de mogelijkheid en je vindt de onderwerpen interessant - ja, natuurlijk. Als je denkt aan een verdere reis - ik zou de onderwerpen van presentaties en video’s van voorgaande jaren bekijken. www.youtube.com/user/videoitpeople/videos en dan een beslissing nemen.
Een ander voordeel van conferenties in de regio's is dat je doorgaans gemakkelijk met de spreker kunt praten na de presentaties, omdat er gewoon minder kandidaten zijn voor zo'n interactie.

DUMP conference | grep ā€˜backend|devops’

Dank aan DUMP en Jekaterinburg! )

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster