DUMP konference | grep ā€˜backend|devops’

PagājuÅ”ajā nedēļā es apmeklēju IT konferenci DUMP (https://dump-ekb.ru/) Jekaterinburģā un gribu pastāstÄ«t, par ko tika runāts sekcijās Backend un Devops, un vai ir vērts pievērst uzmanÄ«bu reÄ£ionālajām IT konferencēm.

DUMP konference | grep ā€˜backend|devops’
Nikolajs Sverčkovs no Evil Martians par Serverless

Kas tur vispār notika?

Kopumā konferencē bija 8 sekcijas: Backend, Frontend, Mobile, TestēŔana un QA, Devops, Dizains, Zinātne un VadÄ«ba.

Vislielākās zāles, starp citu, bija Zinātnes un Vadības sekcijām, katrā ~350 cilvēku. Backend un Frontend bija nedaudz mazākas. Devops zāle bija vismazākā, bet aktīvākā.

Es klausÄ«jos ziņojumus Devops un Backend sekcijās un nedaudz parunāju ar ziņotājiem. Gribu pastāstÄ«t par atklātajām tēmām un sniegt pārskatu par Ŕīm sekcijām konferencē.

Devops un Backend sekcijās uzstājās pārstāvji no SKB-Kontur, DataArt, Evil Martians, Jekaterinburgas tīmekļa studijas Flag, Miro (RealTimeBoard). Tēmas skāra CI/CD, darbu ar rindas pakalpojumiem, žurnālfailu, labi tika atklātas tēmas par Serverless un darbu ar PostgreSQL Go valodā.

Turklāt bija ziņojumi no Avito, Tinkoff, Yandex, Jetstyle, MegaFon, Ak Bars bankas, bet tos es fiziski nepaspēju apmeklēt (videoklipi un ziņojumu slaidi vēl nav pieejami, sola augÅ”upielādēt nākamo 2 nedēļu laikā uz dump-ekb.ru).

Devops sekcija

Kas pārsteidza — sekcija notika paŔā mazākajā zālē, apmēram 50 vietas. Cilvēki stāvēja pat ejās šŸ™‚ PastāstīŔu par ziņojumiem, kurus paspēju noklausÄ«ties.

Elastiks, kas sver petabaitu

Sekcijas sākumā bija Vladimira Lila (SKB-Kontur) ziņojums par Elasticsearch KontÅ«rā. Viņiem ir pietiekami liels un noslogots Elasti (~800 TB datu, ~1.3 petabaiti, ņemot vērā redundanci). Elasticsearch visiem KontÅ«ra pakalpojumiem ir kopÄ«gs, sastāv no 2 klasteriem (no 7 un 9 serveriem), un ir tik svarÄ«gs, ka KontÅ«rā ir Ä«paÅ”s Elasticsearch inženieris (Ä«paÅ”i Vladimirs).

Vladimirs arī dalījās pārdomās par Elasticsearch lietderību un problēmām, ko tas rada.

Lietderība:

  • Visi žurnāli vienā vietā, viegla piekļuve tiem
  • Žurnālu glabāŔana gada garumā un to viegla analÄ«ze
  • Augsta darba ātrums ar žurnāliem
  • ForÅ”a datu vizualizācija ā€žno kasteā€

Problēmas:

  • ziņojumu brokers — obligāts (KontÅ«rā tā lomu spēlē Kafka)
  • Ä«paŔības darba ar Elasticsearch Curator (periodiski radÄ«tas augstas slodzes no regulāriem uzdevumiem Curator)
  • nav iebÅ«vētas autorizācijas (tikai par atseviŔķām, pietiekami lielām naudas summām, vai kā opensource spraudņi dažādas gatavÄ«bas pakāpes ražoÅ”anai)

Par Open Distro for Elasticsearch ir bijuÅ”as tikai pozitÄ«vas atsauksmes šŸ™‚ Tas pats autentifikācijas jautājums tur ir atrisināts.

No kurienes petabaitus?To mezgli sastāv no serveriem ar 12*8 Tb SATA + 2*2 Tb SSD. Aukstais krājums ir SATA, SSD tikai karstajam keŔam (hot storage).
7+9 serveri, (7 + 9) * 12 * 8 = 1536 Tb.
Daļa vietas ir rezervēta, paredzēta liekās jaudas nodroÅ”ināŔanai u.c.
Elasticsearch tiek sÅ«tÄ«ti žurnāli no apmēram 90 lietotnēm, tostarp no visiem konstatēŔanas pakalpojumiem Kontur, Elba u.c.

Iezīmes izstrādei uz Serverless

Tālāk ir Ruslana Serkina no DataArt prezentācija par Serverless.

Ruslans stāstīja par to, kas ir izstrāde ar Serverless pieeju, un kādas ir tās iezīmes.

Serverless — tas ir izstrādes pieejas veids, kurā izstrādātāji nekādā veidā nesaskaras ar infrastruktÅ«ru. Piemērs — AWS Lambda Serverless, Kubeless.io (Serverless Kubernetes iekÅ”ienē), Google Cloud Functions.

Ideāla Serverless lietotne — tas ir vienkārÅ”a funkcija, kas nosÅ«ta pieprasÄ«jumu Serverless pakalpojumu sniedzējam izmantojot Ä«paÅ”u API Gateway. Ideāls mikropakalpojums, turklāt tajā paŔā AWS Lambda tiek atbalstÄ«ts liels skaits mÅ«sdienu programmēŔanas valodu. Atbalsta un infrastruktÅ«ras izvietoÅ”anas izmaksas kļūst nulles, ja runājam par mākonÄ« esoÅ”iem pakalpojumu sniedzējiem, arÄ« mazu lietotņu atbalsts bÅ«s ļoti lēts (AWS Lambda — 0.2$ / 1 miljons vienkārÅ”u pieprasÄ«jumu).

Tāda sistēma ir praktiski ideāli scalējama — mākonis pakalpojumu sniedzējs par to rÅ«pējas pats, Kubeless skenē automātiski iekÅ” Kubernetes klastera.

Pastāv trūkumi:

  • lielu lietotņu izstrāde kļūst sarežģītāka
  • ir grÅ«tÄ«bas ar lietotņu profilēŔanu (jums ir pieejami tikai žurnāli, bet ne profilēŔana ierastajā nozÄ«mē)
  • nav versiju pārvaldÄ«bas

Atklāti sakot, par Serverless es dzirdēju jau pirms pāris gadiem, bet visu Å”o gadu man bija neskaidrs, kā to pareizi pielietot. Pēc Ruslana prezentācijas sapratne parādÄ«jās, bet pēc Nikolaja Svičkova (Evil Martians) prezentācijas no Backend sadaļas tā nostiprinājās. Jau nav bijusi veltÄ«gi braukt uz konferenci šŸ™‚

CI nabagiem, vai ir vērts rakstīt savu CI web studijai

Mihails Radionovs, web studijas Flag no Jekaterinburgas vadītājs, pastāstīja par paŔrakstītu CI/CD.

Viņa studija ir gājusi cauri ceļam no ā€œroku CI/CDā€ (ienāca serverÄ« pa SSH, veica git pull, atkārtoja 100 reizes dienā) uz Jenkins un uz paÅ”rakstÄ«tu rÄ«ku, kas ļauj kontrolēt kodu un veikt izlaidumus ar nosaukumu Pullkins.

Kāpēc nepatika Jenkins? Tas pēc noklusējuma nesniedza pietiekamu elastÄ«bu un bija pārāk sarežģīts pielāgoÅ”anā.

ā€œFlagā€ izstrādā uz Laravel (PHP ietvars). Strādājot pie CI/CD servera, Mihails ar kolēģiem izmantoja Laravel iebÅ«vējamos mehānismus, kas saucas Telescope un Envoy. Rezultātā izveidojās PHP serveris (ievērojiet), kas apstrādā ienākoÅ”os webhook pieprasÄ«jumus, spēj veikt front-end un back-end bÅ«vniecÄ«bu, izvietot uz dažādiem serveriem un ziņot Slack.

Tālāk, lai realizētu blue/green izvietojumus un nodroÅ”inātu vienotas iestatÄ«jumu konfigurācijas dev, stage un prod vidēs, viņi pārgāja uz Docker. PriekÅ”rocÄ«bas palika iepriekŔējās, pievienojās iespējas vides homogenizācijai un bezÅ”uvju izvietoÅ”anai, un pieaudzis nepiecieÅ”amÄ«ba mācÄ«ties Docker, lai pareizi ar to strādātu.

Projekts ir pieejams Github.

Kā mēs samazinājām servera laidienu atgrieÅ”anu par 99%.

Pēdējais ziņojums Devops sekcijā bija no Viktora Jeremčenko, vadoŔā devops inženiera Miro.com (bijuÅ”ais RealTimeBoard).

RealTimeBoard, galvenā Miro komandas produkta pamatā, ir monolÄ«ts lietojums uz Java. Tā bÅ«vēŔana, testēŔana un izvietoÅ”ana bez dÄ«kstāves — ir sarežģīts uzdevums. Ir svarÄ«gi veikt izvietojumu tādā kodā, lai to nebÅ«tu jāpagriež atpakaļ (gaarÅ” monolÄ«ts taču).

Virzoties uz sistēmas veidoÅ”anu, kas to ļauj, Miro ir izgājuÅ”i ceļu, kurā ietilpst darbs pie arhitektÅ«ras, izmantotajiem rÄ«kiem (Atlassian Bamboo, Ansible utt.), un komandu veidoÅ”ana (viņiem tagad ir atseviŔķa Devops komanda + daudzas atseviŔķas Scrum komandas no dažādu profilu izstrādātājiem).

CeļŔ izrādÄ«jās grÅ«ts un apgrÅ«tinoÅ”s, un Viktors dalÄ«jās ar uzkrāto sāpēm un tomēr palikuÅ”o optimismu.

DUMP konference | grep ā€˜backend|devops’
Uzvarējis grāmatu par jautājumiem.

Backend sekcija.

Es paguvu uz 2 ziņojumiem — no Nikolaja Svirčkovas (Evil Martians), arÄ« par Serverless, un no Grigora KoÅ”eļa (uzņēmums Kontur) par telemetriju.

Serverless par vienkārŔiem mirstīgajiem.

Ja Ruslans Sirkins stāstÄ«ja par to, kas ir Serverless, Nikolajs parādÄ«ja vienkārÅ”as lietojumprogrammas, izmantojot Serverless, un pastāstÄ«ja par detaļām, kas ietekmē izmaksas un ātrumu lietojumprogrammu darbÄ«bā AWS Lambda.

Interesants sÄ«kums: minimālais apmaksājamais elements — 128 Mb atmiņas un 100 ms CPU, maksā 0,000000208$. Sākotnēji 1 miljons Ŕādu pieprasÄ«jumu mēnesÄ« ir bez maksas.

Dažas Nikolaja funkcijas bieži pārsniedza 100 ms limitu (galvenā lietotne bija uzrakstÄ«ta Ruby valodā), tāpēc tās pārrakstīŔana Go valodā nodroÅ”ināja lielu ekonomiju.

Vostok Hercules — padarÄ«sim telemetriju atkal lielisku!

Pēdējais ziņojums Backend sadaļā no Grigorija KoÅ”eļeva (kompānija Kontur) par telemetriju. Telemetrija ir žurnāli, metriki, lietotņu izsekoÅ”anas.

Kontur izmanto tam paÅ”rakstÄ«tus rÄ«kus, kas pieejami Github. RÄ«ks no ziņojuma — Hercules, github.com/vostok/hercules, tiek izmantots telemetrijas datu piegādei.

Vladimira Lillas ziņojumā Devops sadaļā tika aplÅ«kota žurnālu glabāŔana un apstrāde Elasticsearch, taču ir vēl uzdevums piegādāt žurnālus no tÅ«kstoÅ”iem ierīču un lietotņu, un to risina tādi rÄ«ki kā Vostok Hercules.

Kontur ir izgājis daudzām zināmam ceļam — no RabbitMQ uz Apache Kafka, bet viss nav tik vienkārÅ”i. Tie bija spiesti pievienot shēmai Zookeeper, Cassandra un Graphite. Es pilnÄ«bā neatklāŔu informāciju par Å”o ziņojumu (tas nav mans profils), ja interesē — var gaidÄ«t slaidus un video konferencē.

Kā salīdzinājumā ar citām konferencēm?

Nevaru salīdzināt ar konferencēm Maskavā un SPb, bet varu salīdzināt ar citiem pasākumiem Uralā un 404fest Samārā.

DAMP notiek astoņās sadaļās, tas ir rekords Uralas konferencēm. Ä»oti lielas sadaļas Science un VadÄ«ba, tas arÄ« ir neparasti. Auditorija Jekaterinburgā ir pietiekami strukturēta — pilsētā ir lieli izstrādes departamenti Yandex, Kontur, Tinkoff, tas atstāj iespaidu arÄ« uz ziņojumiem.

Vēl viens interesants moments — daudzas kompānijas konferencē piedalās ar 3–4 ziņotājiem (tā bija Konturam, Evil Martians, Tinkoff). Daudzi no tiem bija sponsori, bet ziņojumi bija pilnÄ«gi lÄ«menÄ« ar citiem, tie nav reklāmas ziņojumi.

Iet vai neiet? Ja jÅ«s dzÄ«vojat Uralā vai tuvumā, jums ir iespēja un tēmas interesē — jā, protams. Ja domājat par tālāku ceļojumu — es apskatÄ«tu ziņojumu tēmas un pagājuÅ”o gadu ziņojumu video. www.youtube.com/user/videoitpeople/videos un pieņemtu lēmumu.
Vēl viens pluss reÄ£ionu konferencēm ir tas, ka parasti ir viegli sazināties ar runātāju pēc ziņojumiem, jo vienkārÅ”i ir mazāk pretendentu uz Ŕādu saziņu.

DUMP konference | grep ā€˜backend|devops’

Paldies DAMP un Jekaterinburgai!

Avots: habr.com

Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem šŸ”„ Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem | ProHoster