Minulý týden jsem se zúčastnil IT konference DUMP (https://dump-ekb.ru/) v Jekatěrinburgu a chci se podělit o to, o čem se hovořilo v sekcích Backend a DevOps, a zda stojí za pozornost regionální IT konference.

Nikolai Sverchkov z Evil Martians o Serverless
Co se vlastně dělo?
Celkem na konferenci proběhlo 8 sekcí: Backend, Frontend, Mobilní, Testování a QA, DevOps, Design, Věda a Management.
Největší sály byly mimochodem ve Vědě a Managementu )) Každý pro přibližně 350 lidí. Backend a Frontend byly jen o něco menší. Salonek DevOps byl nejmenší, ale velmi aktivní.
Poslouchal jsem přednášky v sekcích DevOps a Backend a trochu jsem si popovídal s přednášejícími. Chci se podělit o probíraná témata a udělat přehled těchto sekcí na konferenci.
V sekcích DevOps a Backend vystoupili zástupci SKB-Kontur, DataArt, Evil Martians, webové studio Flag z Jekatěrinburgu, Miro (RealTimeBoard). Témata se týkala CI/CD, práce se službami fronty, logování, dobře byly probrány témata Serverless a práce s PostgreSQL v Go.
Dále byly přednášky od Avito, Tinkoff, Yandex, Jetstyle, Megafon a banky Ak Bars, ale ty jsem fyzicky nestihl (videonahrávky a slajdy přednášek ještě nejsou dostupné, slibují je zveřejnit během 2 týdnů na dump-ekb.ru).
Sekce DevOps
Co mě překvapilo — sekce probíhala v nejmenším sále, asi pro 50 lidí. Lidé stáli i v uličkách 🙂 Řeknu o přednáškách, které jsem stihl poslechnout.
Elastik o váze petabajtu
Sekce začala přednáškou Vladimíra Lila (SKB-Kontur) o Elasticsearch v Konturu. Mají dost velký a zatížený Elastik (~800 TB dat, ~1.3 petabajt včetně redundancy). Elasticsearch pro všechny služby Konturu je jednotný, skládá se ze 2 clusterů (z 7 a 9 serverů), a je natolik důležitý, že v Konturu je speciální inženýr pro Elasticsearch (vlastně sám Vladimir).
Vladimir se také podělil o názory na výhody Elasticsearch a problémy, které způsobuje.
Výhody:
- Všechny logy na jednom místě, snadný přístup k nim
- Ukládání logů po dobu jednoho roku a jejich snadná analýza
- Vysoká rychlost práce s logy
- Skvělá vizualizace dat „out of the box“
Problémy:
- broker zpráv — must have (u Konturu ji hraje roli Kafka)
- zvláštnosti práce s Elasticsearch Curator (periodicky vytvářená vysoká zátěž z pravidelných úkolů v Curator)
- žádná vestavěná autorizace (pouze za samostatné, poměrně velké peníze, nebo jako open-source pluginy různé úrovně připravenosti na produkci)
O Open Distro for Elasticsearch byly pouze pozitivní recenze 🙂 Stejný problém s autorizací byl vyřešen.
Odkud petabajt?Jejich uzly se skládají ze serverů s 12*8 Tb SATA + 2*2 Tb SSD. Studené úložiště na SATA, SSD pouze pro horkou mezipaměť (hot storage).
7+9 serverů, (7 + 9) * 12 * 8 = 1536 Tb.
Část místa je v rezervě, vyčleněná na redundantnost apod.
Do Elasticsearch se odesílají logy z přibližně 90 aplikací, včetně všech služeb reportingu Kontura, Elba atd.
Specifika vývoje na Serverless
Další prezentace Ruslana Serkina z DataArt o Serverless.
Ruslan hovořil o tom, co vývoj s přístupem Serverless vůbec je a jaké jsou jeho rysy.
Serverless je přístup k vývoji, při kterém se vývojáři nijak nedotýkají infrastruktury. Příklad — AWS Lambda Serverless, Kubeless.io (Serverless uvnitř Kubernetes), Google Cloud Functions.
Ideální Serverless aplikace je prostě funkce, která posílá požadavek Serverless poskytovateli prostřednictvím speciálního API Gateway. Ideální mikroslužba, přičemž v AWS Lambda je podporováno velké množství moderních programovacích jazyků. Náklady na údržbu a nasazení infrastruktury se stávají nulovými v případě cloudových poskytovatelů, podpora malých aplikací bude také velmi levná (AWS Lambda — 0,2 $ / 1 milion jednoduchých požadavků).
Škálovatelnost takového systému je prakticky ideální — cloudový poskytovatel se o to stará sám, Kubeless se automaticky škáluje uvnitř clusteru Kubernetes.
Existují nevýhody:
- vývoj velkých aplikací se stává složitějším
- existují problémy s profilováním aplikací (máte k dispozici pouze logy, ale ne profilaci ve známém smyslu)
- neexistuje verzování
Řeknu upřímně, o Serverless jsem slyšel už před několika lety, ale všechny ty roky jsem nechápal, jak jej správně aplikovat. Po prezentaci Ruslana se mé pochopení objevilo a po prezentaci Nikolaje Sverčkov (Evil Martians) z Backend sekce se upevnilo. Už jsem nemusel litovat, že jsem na konferenci šel 🙂
CI pro chudé, nebo má smysl psát vlastní CI pro webovou studio
Mikhail Radionov, vedoucí webové studia Flag z Jekatěrinburgu, hovořil o vlastním CI/CD.
Jeho studio prošlo cestou od 'ručního CI/CD' (přihlásil se na server přes SSH, provedl git pull, opakovat 100krát denně) k Jenkins a k vlastnímu nástroji umožňujícímu kontrolovat kód a provádět releasy s názvem Pullkins.
Proč tě Jenkins nezaujal? Nedával dostatek flexibility a byl příliš složitý na přizpůsobení.
„Flag“ vyvíjí na Laravel (PHP framework). Při vývoji CI/CD serveru využil Michail s kolegy zabudované mechanismy Laravel nazvané Telescope a Envoy. Výsledkem je server na PHP, který zpracovává příchozí webhook požadavky, umí provádět build frontendů a backendů, nasazovat na různé servery a reportovat do Slacku.
Aby bylo možné provádět blue/green deploy a mít jednotná nastavení v dev-stage-prod prostředích, přešli na Docker. Výhody zůstaly stejné, přibyly možnosti homogenizace prostředí a bezproblémového nasazení, a přibylo také potřeba se Docker naučit pro jeho správnou práci.
Jak jsme snížili počet rollbacků serverových release na 99%
Poslední prezentaci v sekci Devops vedl Viktor Jeremčenko, Lead DevOps engineer ve Miro.com (bývalém RealTimeBoard).
Základem RealTimeBoard, hlavního produktu týmu Miro, je monolitní aplikace na Javě. Sestavení, testování a nasazení bez výpadků je náročný úkol. Důležité je provést nasazení takové verze kódu, aby nebylo nutné revertovat (těžký monolit).
Na cestě k vybudování systému, který to umožňuje, Miro prošlo procesem zahrnujícím práci na architektuře, používaných nástrojích (Atlassian Bamboo, Ansible atd.) a práci na struktuře týmů (mají nyní vyhrazený DevOps tým a mnoho jednotlivých Scrum týmů složených z vývojářů různých profilů).
Cesta byla obtížná a trnitá, a Viktor se podělil o nahromaděné bolesti a zároveň neuhasil optimismus.

Vyhrál knihu za otázky
Backend sekce
Stihl jsem 2 prezentace — od Nikolaje Sverčkova (Evil Martians) o Serverless a od Grigorije Košeleva (společnost Kontur) o telemetrii.
Serverless pro obyčejné smrtelníky
Pokud Ruslan Sirkin hovořil o tom, co je Serverless, Nikolaj ukázal jednoduché aplikace využívající Serverless a popsal detaily, které ovlivňují náklady a rychlost fungování aplikací v AWS Lambda.
Zajímavý detail: minimálně placený prvek — 128 MB paměti a 100 ms CPU, stojí 0,000000208 $. Přitom 1 milion podobných požadavků měsíčně je zdarma.
Některé funkce u Nikolaje často překračovaly limit 100 ms (hlavní aplikace byla napsána v Ruby), takže přepisování na Go přineslo skvělou úsporu.
Vostok Hercules — udělejte telemetrii skvělou znovu!
Poslední prezentace sekce Backend od Grigorije Košelevu (firma Kontur) o telemetrii. Telemetrie jsou logy, metriky, trasování aplikací.
Kontur k tomu používá vlastní nástroje, které jsou zveřejněny na Githubu. Nástroj z prezentace — Hercules, , se používá pro doručování telemetrických dat.
V prezentaci Vladimira Lily v sekci Devops bylo zkoumáno ukládání a zpracování logů v Elasticsearch, ale je tu také úkol doručit logy z mnoha tisíců zařízení a aplikací, a ten vyřešily nástroje jako Vostok Hercules.
Kontur prošel známou cestou — od RabbitMQ k Apache Kafka, ale není to tak jednoduché )) Museli do schématu přidat Zookeeper, Cassandru a Graphite. Informace z této prezentace neodhalím plně (není to moje specializace), pokud vás zajímá — můžete si počkat na slajdy a video na webu konference.
Jak to srovnat s jinými konferencemi?
Nemohu srovnat s konferencemi v Moskvě a SPb, mohu srovnat s jinými akcemi na Uralu a s 404fest v Samáře.
DAMP se koná v 8 sekcích, což je rekord pro uralské konference. Velmi velké sekce Science a Management, což je také neobvyklé. Publikum v Jekatěrinburgu je dost strukturované — ve městě jsou velké vývojové odbory Jandexu, Konturu, Tinkoffa, což má vliv i na prezentace.
Další zajímavý moment — mnoho firem má hned 3–4 přednášející na konferenci (tak to bylo u Konturu, Evil Martians, Tinkoffa). Mnozí z nich byli sponzoři, ale prezentace byly na úrovni s ostatními, to nejsou reklamní prezentace.
Jít nebo nejít? Pokud žijete na Uralu nebo poblíž, máte možnost a zajímají vás témata — ano, samozřejmě. Pokud uvažujete o delší cestě — mrknul bych se na témata prezentací a videa z předchozích let. a udělal rozhodnutí.
Další plus konferencí v regionech obvykle je — snadno se po přednáškách spojíte se speakerem, protože uchazečů o takovou komunikaci je méně.

Děkuji DAMPu a Jekatěrinburgu! )
Zdroj: habr.com
