DUMP conference | grep ‘backend|devops’

Minulý týždeň som navštívil IT konferenciu DUMP (https://dump-ekb.ru/) v Jekaterinburgu a chcem sa podeliť o to, o čom sa hovorilo na sekciách Backend a Devops, a či stoja za to regionálne IT konferencie.

DUMP conference | grep ‘backend|devops’
Nikolaj Sverčkov z Evil Martians o Serverless

O čom tam vlastne bolo?

Na konferencii bolo celkovo 8 sekcií: Backend, Frontend, Mobile, Testovanie a QA, Devops, Dizajn, Veda a Management.

Najväčšie sály, mimochodom, mali Veda a Management, každá pre približne 350 ľudí. Backend a Frontend boli len o niečo menšie. Sála Devops bola najmenšia, ale veľmi aktívna.

Počúval som prednášky v sekciách Devops a Backend a trochu som sa porozprával s prednášateľmi. Chcem sa podeliť o témach, ktoré boli rozobraté, a zhodnotiť tieto sekcie na konferencii.

V sekciách Devops a Backend vystúpili zástupcovia SKB-Kontur, DataArt, Evil Martians, jekaterinburského webového štúdia Flag, Miro (RealTimeBoard). Témy sa týkali CI/CD, práce so službami frontov, logovania, dobre boli rozobraté témy Serverless a práca s PostgreSQL v Go.

Boli tiež prednášky od Avito, Tinkoff, Yandex, Jetstyle, Megafon, banky Ak Bars, ale fyzicky som sa ich nemohol zúčastniť (videozáznamy a slajdy prednášok zatiaľ nie sú dostupné, sľubujú ich zverejniť do dvoch týždňov na dump-ekb.ru).

Sekcia Devops

Čo ma prekvapilo — sekcia prebiehala v najmenšej sále, s približne 50 miestami. Ľudia stáli aj na chodbách 🙂 Podelím sa o prednášky, ktoré som stihol počuť.

Elastický vážiaci petabajt

Sekcia začala prednáškou Vladimira Lila (SKB-Kontur) o Elasticsearch v Konture. Majú dosť veľký a preťažený Elasticsearch (~800 TB údajov, ~1.3 petabajt s prírastkom). Elasticsearch pre všetky služby Kontra je jedinečný, pozostáva z dvoch klastrov (z 7 a 9 serverov) a je natolik dôležitý, že v Kontru majú špeciálneho inžiniera pre Elasticsearch (vlastne, Vladimira).

Vladimir sa tiež podelil o myšlienky o prínose Elasticsearch a problémoch, ktoré spôsobuje.

Prínosy:

  • Všetky logy na jednom mieste, jednoduchý prístup k nim
  • Ukladanie logov na rok a ich jednoduchá analýza
  • Vysoká rýchlosť práce s logmi
  • Skvelá vizualizácia údajov 'z krabice'

Problémy:

  • Broker správ — must have (v Kontru túto úlohu plní Kafka)
  • špecifiká práce s Elasticsearch Curator (pravidelne sa vytvára vysoké zaťaženie z pravidelných úloh v Curator)
  • nie je integrovaná autorizácia (iba za samostatné, dosť vysoké peniaze, alebo ako open source pluginy rôznej úrovne pripravenosti na produkciu)

O Open Distro for Elasticsearch boli len pozitívne recenzie 🙂 Rovnako je tam vyriešená otázka autorizácie.

Odkiaľ petabajt?Ich uzly pozostávajú zo serverov s 12*8 Tb SATA + 2*2 Tb SSD. Studené úložisko na SATA, SSD len pre horúcu cache (hot storage).
7+9 serverov, (7 + 9) * 12 * 8 = 1536 Tb.
Časť miesta je v rezervne, vyhradené na redundantnosť a pod.
Do Elasticsearch sa odosielajú logy z približne 90 aplikácií, vrátane všetkých reportovacích služieb Kontúru, Elba a pod.

Vlastnosti vývoja na Serverless

Ďalej nasledovala prezentácia Ruslana Sergeyina z DataArt o Serverless.

Ruslan hovoril o tom, čo je vývoj s prístupom Serverless a aké sú jeho vlastnosti.

Serverless je prístup k vývoju, pri ktorom sa vývojári nijakým spôsobom nedotýkajú infraštruktúry. Príklady — AWS Lambda Serverless, Kubeless.io (Serverless v rámci Kubernetes), Google Cloud Functions.

Ideálna Serverless aplikácia je iba funkcia, ktorá posiela požiadavku Serverless poskytovateľovi cez špeciálny API Gateway. Ideálny mikroslužba, pričom v rámci AWS Lambda je podporovaná veľká škála moderných programovacích jazykov. Náklady na podporu a nasadenie infraštruktúry sa stávajú nulovými v prípade cloudových poskytovateľov, podpora malých aplikácií bude tiež veľmi lacná (AWS Lambda — 0.2$ / 1 milión jednoduchých požiadaviek).

Škálovateľnosť takéhoto systému je prakticky ideálna — cloudový poskytovateľ sa o to postará sám, Kubeless sa automaticky prispôsobuje v rámci klastra Kubernetes.

Existujú nedostatky:

  • vývoj veľkých aplikácií sa stáva náročnejším
  • existujú ťažkosti s profilovaním aplikácií (sú vám k dispozícii len logy, ale nie profilovanie v obvyklom zmysle)
  • chýba verzionovanie

Poviem úprimne, o Serverless som počul už pred niekoľkými rokmi, ale všetky tie roky som nevedel, ako ho správne aplikovať. Po prezentácii Ruslana som začal chápať, a po prednáške Nikolaja Sverčkovu (Evil Martians) z backendovej sekcie som si to upevnil. Už som nešiel na konferenciu zbytočne 🙂

CI pre chudobných, alebo má zmysel písať vlastný CI pre webovú štúdiu

Mikhail Radionov, vedúci webovej štúdie Flag z Jekaterinburgu, hovoril o vlastnom CI/CD.

Jeho štúdia prešla cestou od „manuálneho CI/CD“ (prihlasoval sa na server cez SSH, vykonal git pull, opakoval 100-krát za deň) k Jenkins a vlastnému nástroju, ktorý umožňuje kontrolovať kód a vykonávať releasy pod názvom Pullkins.

Prečo Jenkins nesedel? Nedával dostatok flexibility a bol príliš zložitý na prispôsobenie.

„Flag“ vyvíja na Laraveli (PHP framework). Pri vývoji CI/CD servera využil Michal so svojimi kolegami vstavané mechanizmy Laravelu s názvami Telescope a Envoy. Výsledkom je server na PHP (všimnite si), ktorý spracováva prichádzajúce webhook požiadavky, dokáže vykonávať zostavenia frontend a backend, deployovať na rôzne servery a reportovať na Slack.

Ďalej pre možnosť vykonávať blue/green deploy a mať jednotné nastavenia v dev-stage-prod prostrediach prešli na Docker. Výhody zostali rovnaké, pridali sa možnosti homogenizácie prostredia a bezproblémového deployovania, a pribudla potreba študovať Docker pre správnu prácu s ním.

Projekt je na Githube.

Ako sme znížili počet rollbackov serverových release-ov o 99%.

Poslednú prednášku v sekcii Devops mal Viktor Jeremčenko, vedúci devops inžinier v Miro.com (bývalý RealTimeBoard).

V základe RealTimeBoard, hlavného produktu tímu Miro, je monolitná aplikácia na Jave. Zostavovať, testovať a deployovať ju bez prestojov je náročná úloha. Rovnako je dôležité vykonávať deploy takej verzie kódu, ktorú netreba rollbackovať (predsa len je to ťažký monolit).

Na ceste k vybudovaniu systému, ktorý to umožňuje, Miro prešlo cestou, ktorá zahŕňala prácu na architektúre, používaných nástrojoch (Atlassian Bamboo, Ansible, a pod.) a prácu na budovaní tímov (ich ich teraz má vyčlenený devops tím + veľa samostatných Scrum tímov z rôznych profilov vývojárov).

Cesta bola ťažká a trnistá, a Viktor sa podelil o nakopenú bolesť a nepretržitý optimizmus.

DUMP conference | grep ‘backend|devops’
Vyhral knihu za otázky.

Backend sekcia.

Stihol som 2 prednášky — od Nikolaja Sverčkového (Evil Martians), tiež o Serverless, a od Grigorija Košeľova (spoločnosť Kontur) o telemetrii.

Serverless pre obyčajných smrteľníkov.

Ak Ruslan Sirkin hovoril o tom, čo je Serverless, Nikolaj ukázal jednoduché aplikácie využívajúce Serverless a porozprával o detailoch, ktoré ovplyvňujú cenu a rýchlosť fungovania aplikácií v AWS Lambda.

Zaujímavý detail: minimálny účtovaný prvok — 128 Mb pamäte a 100 ms CPU, stojí 0,000000208$. Pri tom 1 milión takýchto požiadaviek mesačne je zadarmo.

Niektoré funkcie Nikolaja často prekračovali limit 100 ms (hlavná aplikácia bola napísaná v Ruby), takže prepisovanie na Go prinieslo výborné úspory.

Vostok Hercules — urobte telemetriu opäť skvelou!

Posledná správa sekcie Backend od Grigorija Košelevu (firma Kontur) o telemetrii. Telemetria sú logy, metriky, trasovania aplikácií.

Kontur na to používa vlastné nástroje, zverejnené na Github. Nástroj z prezentácie — Hercules, github.com/vostok/hercules, sa používa na doručovanie telemetrických dát.

Vo vystúpení Vladimira Lilu v sekcii Devops bola predmetom diskusie skladovanie a spracovanie logov v Elasticsearch, ale existuje aj úloha doručiť logy z mnohých tisícok zariadení a aplikácií, na čo sú určené nástroje typu Vostok Hercules.

Kontur prešiel známych cestou — od RabbitMQ k Apache Kafka, ale nie je to také jednoduché )) Museli do schémy pridať Zookeeper, Cassandru a Graphite. Informácie z tejto prezentácie kompletné neprezradím (nie je to moja špecializácia), ak vás zaujíma — môžete počkať na slajdy a video na stránke konferencie.

Ako sa to porovnáva s inými konferenciami?

Nemôžem porovnávať s konferenciami v Moskve a SPb, môžem porovnať s inými podujatiami na Urale a s 404fest v Samare.

DAMP sa koná v 8 sekciách, čo je rekord pre uralské konferencie. Veľmi veľké sekcie Science a Manažment, to je tiež nezvyčajné. Publiko v Jekaterinburgu je dosť štruktúrované — v meste sú veľké vývojové oddelenia Yandex, Kontur, Tinkoff, to sa prejavuje aj na prezentáciách.

Ešte jeden zaujímavý moment — mnohé firmy majú hneď 3-4 prednášajúcich na konferencii (tak to bolo u Konturu, Evil Martians, Tinkoff). Mnohé z nich boli sponzormi, ale prezentácie boli na rovnakej úrovni ako ostatné, to neboli reklamné vystúpenia.

Ísť alebo neísť? Ak žijete na Urale alebo v blízkosti, máte možnosť a témy sú vám zaujímavé — áno, samozrejme. Ak uvažujete o dlhšej ceste — pozrel by som si témy prednášok a videá vystúpení z predchádzajúcich rokov. www.youtube.com/user/videoitpeople/videos a prijímal rozhodnutie.
Ešte jeden plus konferencií v regiónoch, zvyčajne — ľahko sa môžete porozprávať so prednášajúcim po prezentáciách, jednoducho je menej uchádzačov o takéto stretnutia.

DUMP conference | grep ‘backend|devops’

Ďakujem DAMP-u a Jekaterinburgu! )

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster