Tamin'ny herinandro lasa aho dia nandeha tany amin'ny DUMP IT conference (https://dump-ekb.ru/) tao Yekaterinburg ary tiako ny hilaza aminao izay noresahina tao amin'ny fizarana Backend sy Devops, ary raha mendrika ny hojerena ny fihaonambe IT isam-paritra.

Nikolay Sverchkov avy amin'ny Evil Martians momba ny Serverless
Inona anefa no tao?
Raha atambatra dia nisy fizarana 8 ny fihaonambe: Backend, Frontend, Mobile, Testing and QA, Devops, Design, Science and Management.
Ny efitrano lehibe indrindra, raha ny marina, dia ao amin'ny Science and Management)) Ho an'ny ~350 olona tsirairay. Ny Backend sy Frontend dia tsy kely kokoa. Ny efitrano Devops no kely indrindra, saingy mavitrika.
Nihaino ny tatitra tao amin'ny fizarana Devops sy Backend aho ary niresaka kely tamin'ireo mpandahateny. Te hiresaka momba ny lohahevitra voaresaka aho ary hamerina hijery ireo fizarana ireo amin'ny fihaonambe.
Ny solontenan'ny SKB-Kontur, DataArt, Evil Martians, Ekaterinburg web studio Flag, Miro (RealTimeBoard) dia niresaka tao amin'ny fizarana Devops sy Backend. Voaresaka tsara ny lohahevitra momba ny CI/CD, ny fiasana amin'ny serivisy filaharana, ny fandrafetana lohahevitra tsy misy mpizara ary ny fiaraha-miasa amin'ny PostgreSQL ao amin'ny Go.
Nisy ihany koa ny tatitra nataon'i Avito, Tinkoff, Yandex, Jetstyle, Megafon, Ak Bars Bank, saingy tsy nanam-potoana hanatrehana azy ireo ara-batana aho (mbola tsy misy ny firaketana an-tsary sy ny horonan-tsarin'ny tatitra, mampanantena izy ireo fa handefa izany ao anatin'ny 2 herinandro. ao amin'ny dump-ekb.ru).
fizarana Devops
Ny tena nahagaga dia tao amin’ny efitrano kely indrindra, toerana 50 eo ho eo no nanaovana ilay fizarana. Nijoro teo amin'ny lalantsara aza ny olona :) Holazaiko aminao ny tatitra azoko nohenoina.
Elastika milanja petabyte
Nanomboka tamin'ny tatitra nataon'i Vladimir Lil (SKB-Kontur) momba ny Elasticsearch ao Kontur ny fizarana. Manana Elastika lehibe sy feno entana izy ireo (~ 800 TB amin'ny angon-drakitra, ~ 1.3 petabytes amin'ny fiheverana ny redundansi). Elasticsearch ho an'ny serivisy Kontur rehetra dia tokana, misy cluster 2 (amin'ny servisy 7 sy 9), ary tena zava-dehibe tokoa ka manana injeniera Elasticsearch manokana i Kontur (raha ny marina, i Vladimir mihitsy).
Nizara ny heviny momba ny tombotsoan'ny Elasticsearch sy ny olana aterak'izany koa i Vladimir.
soa:
- Ao amin'ny toerana iray ny logs rehetra, mora ny miditra amin'izy ireo
- Mitahiry logs mandritra ny herintaona ary manadihady mora foana
- Hafainganam-pandeha ambony miasa amin'ny hazo
- Fampisehoana angon-drakitra mahafinaritra ivelan'ny boaty
Olana:
- Tsy maintsy ananana ny mpizara hafatra (ho an'i Kontur dia Kafka no anjarany)
- endri-javatra amin'ny fiaraha-miasa amin'ny Elasticsearch Curator (voaforona matetika enta-mavesatra avy amin'ny asa mahazatra ao amin'ny Curator)
- tsy misy fanomezan-dàlana naorina (ho an'ny vola misaraka, tena lehibe, na toy ny plugins open source amin'ny ambaratonga fahavononana amin'ny famokarana)
Tsy nisy afa-tsy tsikera tsara momba ny Open Distro ho an'ny Elasticsearch :) Ny olana momba ny fanomezan-dàlana dia voavaha tao ihany.
Avy aiza ny petabyte?Ny node dia misy mpizara misy 12 * 8 Tb SATA + 2 * 2 Tb SSD. Fitehirizana mangatsiaka amin'ny SATA, SSD ho an'ny cache mafana (fitehirizana mafana).
7+9 mpizara, (7 + 9) * 12 * 8 = 1536 Tb.
Ny ampahany amin'ny habaka dia voatahiry, natokana ho an'ny famerenana, sns.
Ny logs avy amin'ny fangatahana 90 eo ho eo dia alefa any amin'ny Elasticsearch, ao anatin'izany ny serivisy tatitra rehetra an'i Kontur, Elba, sns.
Endri-pampandrosoana amin'ny tsy misy Server
Manaraka ny tatitra nataon'i Ruslan Serkin avy amin'ny DataArt momba ny tsy misy mpizara.
Ruslan dia niresaka momba ny fivoarana miaraka amin'ny fomba tsy misy Server amin'ny ankapobeny, ary inona ny endri-javatra ao aminy.
Ny tsy misy mpizara dia fomba fiasa amin'ny fampandrosoana izay tsy ahafahan'ny mpamorona mikitika ny fotodrafitrasa amin'ny fomba rehetra. Ohatra - AWS Lambda Serverless, Kubeless.io (Serverless ao anatin'ny Kubernetes), Google Cloud Functions.
Ny fampiharana tsy misy Server tsara indrindra dia fiasa tsotra izay mandefa fangatahana amin'ny mpamatsy tsy misy serivisy amin'ny alàlan'ny vavahadin'ny API manokana. Microservice tsara indrindra, raha ny AWS Lambda koa dia manohana fiteny fandaharana maoderina marobe. Ny vidin'ny fikojakojana sy ny fametrahana fotodrafitrasa dia lasa aotra raha ny momba ny mpanome rahona, ny fanohanana ireo rindranasa kely dia ho mora ihany koa (AWS Lambda - $0.2 / 1 tapitrisa fangatahana tsotra).
Saika mety tsara ny fampitomboana ny rafitra toy izany - ny mpanome rahona no mikarakara izany, Kubeless mizana mandeha ho azy ao anatin'ny cluster Kubernetes.
Misy ny fatiantoka:
- mihasarotra ny famolavolana fampiharana lehibe
- misy fahasarotana amin'ny rindranasa profiling (dia azonao atao ny miditra amin'ny logs, fa tsy manao profiling amin'ny heviny mahazatra)
- tsy misy versioning
Raha ny marina, naheno momba ny Serverless aho taona vitsivitsy lasa izay, saingy nandritra ireo taona ireo dia tsy nazava tamiko ny fomba fampiasana azy io. Taorian'ny tatitra nataon'i Ruslan dia niseho ny fahatakarana, ary taorian'ny tatitra nataon'i Nikolai Sverchkov (Martians ratsy) avy amin'ny fizarana Backend, dia natambatra izany. Tsy very maina ny nandehanako tany amin'ny fihaonambe :)
CI dia ho an'ny mahantra, sa mendrika ny hanoratana ny CI anao manokana ho an'ny studio web?
Mikhail Radionov, lehiben'ny studio web Flag avy any Yekaterinburg, dia niresaka momba ny CI/CD nosoratan-tena.
Ny studio-ny dia niala tamin'ny "manual CI / CD" (miditra amin'ny server amin'ny alàlan'ny SSH, manaova git pull, avereno in-100 isan'andro) mankany Jenkins ary mankany amin'ny fitaovana nosoratan'ny tena izay ahafahanao manara-maso ny kaody sy manao famoahana antsoina hoe Pullkins .
Nahoana no tsy niasa i Jenkins? Tsy nanome fahafaham-po ampy ho an'ny default izy io ary sarotra loatra ny namboarina.
Ny "Flag" dia mivoatra ao amin'ny Laravel (framework PHP). Rehefa namolavola mpizara CI/CD, i Mikhail sy ireo mpiara-miasa aminy dia nampiasa ny rafitra naorina an'i Laravel antsoina hoe Telescope sy Envoy. Ny vokatr'izany dia mpizara amin'ny PHP (azafady, mariho) izay mamaly ny fangatahana webhook ho avy, afaka manangana ny frontend sy backend, mametraka amin'ny mpizara samihafa ary mitatitra amin'ny Slack.
Avy eo, mba hahafahana manao fanaparitahana manga / maitso ary manana fika fanamiana amin'ny tontolo dev-stage-prod, dia nifindra tany Docker izy ireo. Ny tombony dia nitovy ihany, ny fahafahan'ny homogenizing ny tontolo iainana sy ny fametrahana tsy misy olana dia nampiana, ary ny filàna ny fianarana Docker hiasa miaraka aminy dia nampiana.
Ny fomba nampihenanay 99% ny isan'ny famotsorana ny mpizara
Ny tatitra farany tao amin'ny fizarana Devops dia avy amin'i Viktor Eremchenko, Lead devops engineer ao amin'ny Miro.com (RealTimeBoard taloha).
Ny RealTimeBoard, vokatra sangany an'ny ekipa Miro, dia mifototra amin'ny fampiharana Java monolitika. Asa sarotra ny fanangonana, ny fitiliana ary ny fametrahana azy tsy misy fiatoana. Amin'ity tranga ity, zava-dehibe ny mametraka ny dikan-teny toy izany mba tsy hamerenana azy (monolith mavesatra).
Teny an-dalana hanorina rafitra ahafahanao manao izany, dia nandalo lalana i Miro izay nahitana ny fiasana amin'ny maritrano, ny fitaovana ampiasaina (Atlassian Bamboo, Ansible, sns), ary niasa tamin'ny firafitry ny ekipa (izy ireo ankehitriny dia manana ekipa Devops natokana + ekipa Scrum maro samihafa avy amin'ny mpamorona profil samihafa).
Nivadika ho sarotra sy feno tsilo ny lalana, ary i Victor dia nizara ny fanaintainana niangona sy ny fanantenana izay tsy nifarana teo.

Nahazo boky tamin'ny fametrahana fanontaniana
Fizarana backend
Nahavita nanatrika tatitra 2 aho - avy amin'i Nikolay Sverchkov (Evil Martians), momba ny Serverless, ary avy amin'i Grigory Koshelev (orinasa Kontur) momba ny telemetry.
Serverless ho an'ny olona maty
Raha niresaka momba ny atao hoe Serverless i Ruslan Sirkin, dia nampiseho fampiharana tsotra tamin'ny fampiasana Serverless i Nikolay, ary niresaka momba ny antsipiriany izay misy fiantraikany amin'ny vidiny sy ny hafainganam-pandehan'ny fampiharana ao amin'ny AWS Lambda.
Tsipiriany mahaliana: ny singa karama farany ambany dia 128 Mb fahatsiarovana ary 100 ms CPU, mitentina $0,000000208. Ankoatra izany, 1 tapitrisa ny fangatahana toy izany isam-bolana dia maimaim-poana.
Ny sasany amin'ireo asan'i Nikolai matetika dia nihoatra ny fetra 100 ms (ny fampiharana lehibe dia nosoratana tamin'ny Ruby), ka ny fanoratana azy ireo amin'ny Go dia manome tahiry tsara.
Vostok Hercules - ataovy mahafinaritra indray ny telemetry!
Ny tatitra farany momba ny fizarana Backend avy amin'i Grigory Koshelev (orinasa Kontur) momba ny telemetry. Telemetry dia midika hoe logs, metrics, traces fampiharana.
Ho an'ity tanjona ity, Contour dia mampiasa fitaovana nosoratan-tena navoaka tao amin'ny Github. Fitaovana avy amin'ny tatitra - Hercules, , dia ampiasaina hanaterana angona telemetry.
Ny tatitry ny Vladimir Lila ao amin'ny fizarana Devops dia niresaka momba ny fitehirizana sy ny fanodinana logs ao amin'ny Elasticsearch, saingy mbola misy ny andraikitry ny fanaterana logs avy amin'ny fitaovana sy fampiharana an'arivony maro, ary ny fitaovana toa an'i Vostok Hercules dia mamaha azy ireo.
Nanaraka lalana fantatry ny maro ny fizaran-tany - manomboka amin'ny RabbitMQ ka hatrany Apache Kafka, saingy tsy tsotra loatra ny zava-drehetra)) Tsy maintsy nampiditra Zookeeper, Cassandra ary Graphite tao amin'ny faritra izy ireo. Tsy hampahafantatra tanteraka ny vaovao momba ity tatitra ity aho (fa tsy ny mombamomba ahy), raha liana ianao dia afaka miandry ny horonan-tsary sy horonan-tsary ao amin'ny tranokalan'ny fihaonambe.
Ahoana no ampitahaina amin'ny fihaonambe hafa?
Tsy azoko ampitahaina amin'ny fihaonambe any Moskoa sy Saint-Pétersbourg izany, azoko ampitahaina amin'ny hetsika hafa any Urals sy amin'ny 404fest any Samara.
DAMP dia natao amin'ny fizarana 8, ity dia firaketana an-tsoratra ho an'ny fihaonambe Ural. Fizarana Siansa sy Fitantanana tena lehibe, tsy mahazatra ihany koa izany. Ny mpanatrika ao Yekaterinburg dia tena voarafitra - manana sampana fampandrosoana lehibe ho an'ny Yandex, Kontur, Tinkoff ny tanàna, ary izany dia mamela ny marika amin'ny tatitra.
Ny teboka iray hafa mahaliana dia ny hoe orinasa maro no manana mpandahateny 3-4 amin'ny fihaonambe indray mandeha (izany no nitranga tamin'i Kontur, Evil Martians, Tinkoff). Maro amin'izy ireo no mpanohana, saingy ny tatitra dia mitovy amin'ny hafa, tsy tatitra momba ny dokam-barotra ireo.
Handeha sa tsy handeha? Raha mipetraka any amin'ny Urals na eo akaiky eo ianao, dia manana fahafahana ary liana amin'ny lohahevitra - eny, mazava ho azy. Raha mieritreritra ny dia lavitra ianao, dia hijery ny lohahevitry ny tatitra sy ny tatitry ny video tamin'ny taona lasa aho ary nandray fanapahan-kevitra.
Ny tombony hafa amin'ny fihaonambe any amin'ny faritra, amin'ny ankapobeny, dia ny hoe mora ny mifandray amin'ny mpandahateny aorian'ny tatitra;

Misaotra an'i Dump sy Ekaterinburg! )
Source: www.habr.com
