Eelmisel nÀdalal kÀisin IT-konverentsil DUMP (https://dump-ekb.ru/) Jekaterinburgis ja tahan rÀÀkida, millest rÀÀgiti Backend ja Devops sesioonides ning kas piirkondlikud IT-konverentsid on tÀhelepanu vÀÀrt.

Nikolai Sverchkov Evil Martiansilt Serverlessist
Mis seal ĂŒldse toimus?
Kokku oli konverentsil 8 sessiooni: Backend, Frontend, Mobile, Testimine ja QA, Devops, Disain, Science ja Juhtimine.
Suurem osa saale oli Science ja Juhtimisele pĂŒhendatud, igaĂŒhes umbes 350 kohta. Backend ja Frontend ei olnud oluliselt vĂ€iksemad. Devopsi saal oli kĂ”ige vĂ€iksem, kuid aktiivne.
Kuulasin ettekandeid Devopsi ja Backend sessioonides ning sujusin natuke ka ettekandjatega. Tahaksin rÀÀkida kĂ€sitletud teemadest ja teha ĂŒlevaate konverentsi sessioonidest.
Devopsi ja Backend sessioonides esinesid SKB Kontur, DataArt, Evil Martians, Jekaterinburgi veebistuudio Flag, Miro (RealTimeBoard). Teemad puudutasid CI/CD, jÀrjekorrateenuste kasutamist, logimist, Serverlessi teemasid ja PostgreSQL kasutamist Go-s.
Seal olid ettekanded ka Avitolt, Tinkoffilt, Yandexilt, Jetstyle'ilt, Megafonilt, Ak Bars pangalt, kuid ma ei jĂ”udnud neid fĂŒĂŒsiliselt kuulata (videod ja slaidid veel ei ole saadaval, lubatakse postitada 2 nĂ€dala jooksul dump-ekb.ru-le).
Devops sessioon
Mis ĂŒllatuslik â sessioon toimus kĂ”ige vĂ€iksemas saalis, umbes 50 kohta. Inimesed seisid isegi vahekĂ€ikudes. đ RÀÀgin ettekannetest, mida jĂ”udsin kuulata.
Petabaidise Elastici
Sessioon algas Vladimir Lila (SKB Kontur) ettekandest Elasticsearchist Konturis. Neil on piisavalt suur ja koormatud Elastic (~800 TB andmeid, ~1.3 petabaiti arvestades ĂŒleliigset). Elasticsearch on Konturi kĂ”igi teenuste jaoks ĂŒhtne, koosneb kahest klastrist (7 ja 9 serverit), ja on nii oluline, et Konturis on spetsiaalne Elasticsearchi insener (nimelt Vladimir ise).
Vladimir jagas ka mÔtteid Elasticsearchi kasu ja probleemide kohta, mida see pÔhjustab.
Kasu:
- KĂ”ik logid ĂŒhes kohas, lihtne ligipÀÀs neile
- Logide sĂ€ilitamine aasta jooksul ja nende lihtne analĂŒĂŒs
- Logidega töötamise kÔrge kiirus
- Tohutu andmete visualiseerimine 'kastist vÀlja'
Probleemid:
- sĂ”numite vahendaja â kohustuslik (Konturis tĂ€idab selle rolli Kafka)
- Elasticsearchi Curatori kasutamise eripĂ€rad (korrapĂ€rasest ĂŒlesandest tekib aeg-ajalt suur koormus)
- pole sisseehitatud autoriseerimist (ainult eraldi, ĂŒsna suurt raha, eest, vĂ”i avatud lĂ€htekoodiga pistikprogrammide kaudu erineva valmidusastmega tootmisversioonide jaoks)
Open Distro for Elasticsearchi kohta olid ainult positiivsed arvamused. đ Seal on probleem autoriseerimise lahendatud.
Kust petabait?Nende sĂ”lmed koosnevad 12 * 8 TB SATA + 2 * 2 TB SSD serveritest. KĂŒlm salvestus SATA-l, SSD ainult kuuma vahekrĂŒpteerimise jaoks (hot storage).
7 + 9 serverit, (7 + 9) * 12 * 8 = 1536 TB.
Osa ruumi on reservis, asetatud ĂŒleliikusele jne.
Elasticsearchisse saadetakse logisid umbes 90 rakendusest, sealhulgas kÔik Konturi aruandeteenused, Elba jne.
Serverless arendamise eripÀrad
JĂ€rgmine ettekande tegi Ruslan Serkin DataArtist Serverlessi teemal.
Ruslan rÀÀkis, mis on Serverless lÀhenemine ning millised on selle eripÀrad.
Serverless on lĂ€henemine arendamisele, kus arendajad ei puutu mingil moel kokku infrastruktuuriga. NĂ€ide â AWS Lambda Serverless, Kubeless.io (Serverless Kubernetes'i sees), Google Cloud Functions.
Ideaalne Serverless rakendus on lihtsalt funktsioon, mis saadab pĂ€ringu Serverless teenusepakkujale spetsiaalse API Gateway kaudu. Ideaalne mikroteenus, samas toetab AWS Lambda suurt arvu kaasaegseid programmeerimiskeeli. Infrastruktuuri toetamise ja juurutamise kulu on pilveteenuse pakkujate puhul null, vĂ€ikeste rakenduste tugi on samuti vĂ€ga odav (AWS Lambda â 0.2 $ / 1 miljon lihtsat pĂ€ringut).
Selle sĂŒsteemi skaleeritavus on praktiliselt ideaalne â pilveteenuse pakkuja hoolitseb selle eest ise, Kubeless skaleerub automaatselt Kubernetes klastris.
On puudusi:
- suurte rakenduste loomine muutub keeruliseks
- rakenduste profiilimisega on keerukusi (teil on ligipÀÀs ainult logidele, aga mitte profiilimistehnoloogia mÔistes)
- versioonituse puudumine
Pean ĂŒtlema, et kuulsin Serverlessist juba mitu aastat tagasi, kuid kĂ”ik need aastad ei saanud ĂŒldse aru, kuidas seda Ă”igesti rakendada. PĂ€rast Ruslani ettekannet sai aru, ja pĂ€rast Nikolai Sverchkovi (Evil Martians) ettekannet Backend sessioonist sai see kinnitust. Ei olnud asjata konverentsile minek. đ
CI vaestele, vÔi kas on mÔtet kirjutada oma CI veebistuudiole
Mikhail Radionov, Jekaterinburgi veebistuudio Flag juht, rÀÀkis oma isiklikust CI/CD-st.
Tema stuudio on lÀbinud tee 'kÀed CI/CD' (sisenes serverisse SSH kaudu, tegi git pull, korda 100 pÀeva jooksul) Jenkinseni ja isikliku tööriistani, mis vÔimaldab kontrollida koodi ja teha vÀljalasked, mille nimi on Pullkins.
Miks Jenkins ei sobinud? Ta ei pakkunud vaikimisi piisavalt paindlikkust ja oli kohandamisel liiga keeruline.
âFlagâ arendab Laravelil (PHP raamistik). CI/CD serveri arendamise kĂ€igus kasutas Mihhail kolleegidega Laravel'i sisseehitatud mehhanisme nimega Telescope ja Envoy. Tulemuseks oli PHP server (pange tĂ€hele), mis töötleb sisendeid webhook pĂ€ringutelt, suudab koostada frontend'i ja backend'i, teha erinevatele serveritele deployd ja raporteerida Slackis.
Edasi liikumiseks, et vĂ”imaldada blue/green deploy'd ning omada ĂŒhtseid seadeid dev-stage-prod keskkondades, lĂ€ksid nad Dockerile ĂŒle. Plussid jĂ€id samaks, lisandusid keskkonna homogeenimise ja sujuva deploy vĂ”imalused ning tekkis vajadus Dockerit Ă”ppida, et sellega Ă”igesti töötada.
Kuidas me vÀhendasime serveri vÀljaannete tagasimaksete arvu 99% vÔrra
Viimane ettekande Devops sektsioonis oli Viktor JeremÄenkolt, juhtiv DevOps insener Miro.com'is (endine RealTimeBoard).
RealTimeBoard, Miro meeskonna peamine toode, pĂ”hineb monoliitsel rakendusel, mis on kirjutatud Java's. Selle kogumine, testimine ja deploy ilma seisakuteta on keeruline ĂŒlesanne. Oluline on teha selline koodiversion maintenance, et tagasiviimist ei oleks vaja (tĂŒlikas monoliit).
Teel sĂŒsteemi ĂŒlesehitamise suunas, mis vĂ”imaldab seda teha, lĂ€bisid Miro teekonna, mis hĂ”lmas arhitektuuri, kasutatavaid tööriistu (Atlassian Bamboo, Ansible jne) ja meeskondade ĂŒlesehitust (nendel on hetkel eraldi DevOps meeskond + palju eraldi Scrum meeskondi erinevate arendajate profiilidega).
Teekond osutus raskeks ja tormiliseks ning Viktor jagas tekkinud muret ja jÀtkuvat optimistlikku suhtumist.

VĂ”itis raamatu kĂŒsimuste eest
Backend sektsioon
JĂ”udsin kahe ettekande juurde â Nikolai SvertsĆĄkovi (Evil Martians) pajatus Serverless'i teemal ja Grigori KoĆĄelevi (Kontur) ettekande telemeetriast.
Serverless tavalistele surmatuetele
Kui Ruslan Sirkin rÀÀkis Serverless'i olemusest, siis Nikolai nÀitas lihtsalt rakendusi Serverless'i kasutades ning selgitas detaile, mis mÔjutavad rakenduste kulusid ja töökiirus AWS Lambda's.
Huvipakkuv detail: minimaalne tasustatav element â 128 Mb mĂ€lu ja 100 ms CPU, maksab 0,000000208$. Samas on 1 miljon sarnast pĂ€ringut kuus tasuta.
MĂ”ned funktsioonid ĂŒletasid Nikolail sageli 100 ms limiiti (pĂ”hirakendus oli kirjutatud Ruby's), seega nende ĂŒmberkirjutamine Go'sse tĂ”i suurepĂ€rase kokkuhoiu.
Vostok Hercules â teeme telemeetriat taas suureks!
Viimane ettekande Backend sektsioonis Grigori Koƥelevi (Kontur) kohta telemeetriast. Telemeetria on logid, mÔÔdikud, rakenduste jÀlgimine.
Kontur kasutab selleks ise kirjutatud tööriistu, mis on saadaval Githubis. Ettekanne sisaldas tööriista nimega Hercules, , mida kasutatakse telemeetriadatavade edastamiseks.
Vladimir Lilja ettekandes Devops sektsioonis kĂ€sitleti logide sĂ€ilitamist ja töötlemist Elasticsearch'is, kuid on ka ĂŒlesanne edastada logisid paljude tuhandete seadmete ja rakenduste vahel ning seda lahendatakse tööriistadega nagu Vostok Hercules.
Kontur lĂ€bis paljudele tuntud teekonna â alates RabbitMQ-st Apache Kafka'sse, kuid asjad ei ole nii lihtsad)). Nende tuli lisada skeemile Zookeeper, Cassandra ja Graphite. Teavet selle ettekande kohta ma tĂ€ielikult ei avalda (see ei ole minu profiil), kui on huvi â saate oodata slaide ja videot konverentsi veebilehelt.
Kuidas vÔrreldes teiste konverentsidega?
Ma ei oska vÔrrelda Moskva ja SPb konverentse, aga vÔin vÔrrelda Uuralite ja Samara 404festiga.
DAMP toimub 8 sektsioonis, mis on rekord Uuralite konverentside jaoks. Science ja Management sektsioonid on vĂ€ga suured, mis on samuti ebatavaline. Auditoorium Jekaterinburgis on piisavalt struktureeritud â linnas on suured arendusosakonnad Yandexis, Konturis, Tinkoffis, mis mĂ”jutab ka ettekandeid.
Veel ĂŒks huvitav punkt â paljudel ettevĂ”tetel on konverentsil kohe 3â4 ettekandjat (nii oli Konturi, Evil Martiansi, Tinkoffi puhul). Paljud neist olid sponsorid, kuid ettekanded olid kindlasti samal tasemel teistega, need ei olnud reklaamettekanded.
Kas minna vĂ”i mitte? Kui elate Uuralites vĂ”i lĂ€heduses, teil on vĂ”imalus ja teemad on huvitavad â jah, muidugi. Kui mĂ”tlete kaugemale reisile â vaataksin ettekanne teemasid ja varasemate aastate videod, ja teeksin otsuse.
Veel ĂŒks pluss piirkondlikest konverentsidest on see, et pĂ€rast ettekandeid on lihtne esinejaga suhelda, kuna selliseid kontakte on lihtsalt vĂ€hem.

AitÀh DAMP-ile ja Jekaterinburgile! )
Allikas: habr.com
