Ya ku ji me re bû alîkar ku zû di şert û mercên nû de bi bazirganiya serhêl re adapte bibin

Hello!

Navê min Mikhail e, ez Cîgirê Rêveberê IT-ê li pargîdaniya Sportmaster im. Ez dixwazim çîroka ku me bi kêşeyên ku di dema pandemiyê de derketine çawa mijûl kir parve bikim.

Di rojên yekem ên rastiyên nû de, forma bazirganiya negirêdayî ya gelemperî ya Sportmaster cemidand, û barkirina kanala meya serhêl, di serî de di warê radestkirina navnîşana xerîdar de, 10 carî zêde bû. Tenê di nav çend hefteyan de, me karsaziyek negirêdayî ya mezin veguherand serhêl û karûbar li gorî hewcedariyên xerîdarên xwe veguhezand.

Di bingeh de, ya ku di bingeh de operasyona me ya alî bû, bû karsaziya meya bingehîn. Girîngiya her fermana serhêl pir zêde bûye. Pêwîst bû ku her rubleya ku xerîdar ji pargîdaniyê re anîbû xilas bike. 

Ya ku ji me re bû alîkar ku zû di şert û mercên nû de bi bazirganiya serhêl re adapte bibin

Ji bo ku zû bersivê bidin daxwazên xerîdar, me navendek pêwendiyê ya din li ofîsa sereke ya pargîdaniyê vekir, û naha em dikarin her hefte nêzîkê 285 hezar telefonan werbigirin. Di heman demê de, me 270 firotgehan veguhezand forma xebitandina nû ya bê têkilî û ewle, ku hişt ku xerîdar fermanan bistînin û karmend jî karên xwe biparêzin.

Di pêvajoya veguherînê de, em rastî du pirsgirêkên sereke hatin. Ya yekem, barê çavkaniyên me yên serhêl bi girîngî zêde bûye (Sergey dê ji we re vebêje ka me çawa bi vê yekê re mijûl kir). Ya duyemîn, herikîna operasyonên kêm (pre-COVID) gelek caran zêde bûye, ku di encamê de pêdivî bi mîqdarek mezin a xweseriya bilez heye. Ji bo çareserkirina vê pirsgirêkê, me neçar ma ku zû çavkaniyan ji deverên ku berê yên sereke bûn veguhezînin. Elena dê ji we re vebêje ka me çawa bi vê yekê re mijûl kir.

Operasyona karûbarên serhêl

Kolesnikov Sergey, berpirsiyarê xebata firotgeha serhêl û mîkroservisan e

Ji wê gavê de ku firotgehên me yên firotanê dest pê kir ku nêzî mêvanan bibin, me dest bi tomarkirina zêdebûna metrîkên wekî hejmara bikarhêneran, hejmara fermanên ku di serlêdana me de hatine bicîh kirin û hejmara daxwazên serlêdanan kir. 

Ya ku ji me re bû alîkar ku zû di şert û mercên nû de bi bazirganiya serhêl re adapte bibinHejmara fermanan ji 18ê Adarê heya 31ê AdarêYa ku ji me re bû alîkar ku zû di şert û mercên nû de bi bazirganiya serhêl re adapte bibinHejmara daxwazên mîkroxizmetên dravdana serhêlYa ku ji me re bû alîkar ku zû di şert û mercên nû de bi bazirganiya serhêl re adapte bibinHejmara fermanên ku li ser malperê hatine danîn

Di grafiya yekem de em dibînin ku zêdebûn bi qasî 14 carî, di ya duyemîn de - 4 carî. Em metrîka dema bersivê ya serîlêdanên xwe wekî ya herî diyarker dihesibînin. 

Ya ku ji me re bû alîkar ku zû di şert û mercên nû de bi bazirganiya serhêl re adapte bibin

Di vê grafîkê de em bersiva eniyan û serlêdanan dibînin, û ji bo xwe me diyar kir ku me bi vî rengî ferq nekir.

Ev di serî de ji ber wê yekê ye ku me di dawiya sala 2019 de dest bi xebatên amadekariyê kir. Naha karûbarên me parastî ne, tolerasyona xeletiyê di asta serverên laşî, pergalên virtualîzasyonê, doker û karûbarên di wan de tê peyda kirin. Di heman demê de, kapasîteya çavkaniyên servera me dihêle ku em li hember gelek bargiran bisekinin.

Amûra sereke ya ku di tevahiya vê çîrokê de alîkariya me kir pergala çavdêriya me bû. Rast e, heya van demên dawî me pergalek yekane tunebû ku rê bide me ku metrîkan li hemî qatan berhev bikin, ji asta alavên laşî û hardware heya asta metrîkên karsaziyê. 

Bi awayekî fermî, di pargîdaniyê de çavdêrî hebû, lê bi gelemperî ew belav bû û di warê berpirsiyariya dezgehên taybetî de bû. Bi rastî, gava ku bûyerek diqewime, me hema qet carî têgihiştinek hevbeş tunebû ka bi rastî çi qewimî, pêwendiyek çênebû, û pir caran ev yek dibû sedem ku li dora xwe bimeşin da ku pirsgirêkê bibînin û veqetînin da ku ew were çareser kirin.

Di deverekê de, me fikirîn û biryar da ku em têra vê yekê ragirin - ji me re pêdivî bi pergalek yekgirtî heye ku tevahî wêneyê bi tevahî bibînin. Teknolojiyên sereke yên ku di stoka me de cih digirin Zabbix wekî navendek hilanîna hişyarî û metrîkê, Prometheus ji bo berhevkirin û hilanîna metrîkên serîlêdanê, Stack ELK ji bo têketin û hilanîna daneyên ji tevahiya pergala çavdêriyê, û her weha Grafana ji bo dîtinê, Swagger, Docker. û tiştên din ên kêrhatî û yên ku ji we re nas in.

Di heman demê de, em ne tenê teknolojiyên li sûkê hene bikar tînin, lê di heman demê de hin ji yên xwe jî pêşdixin. Mînakî, em ji bo yekkirina pergalên bi hev re karûbaran çêdikin, ango, celebek API-yê ji bo berhevkirina metrîkan. Zêdetir em li ser pergalên çavdêriya xwe dixebitin - di asta metrîkên karsaziyê de em ceribandinên UI bikar tînin. Û her weha botek di Telegram de ku tîmên agahdar bike.

Di heman demê de em hewl didin ku pergala çavdêriyê bigihînin tîmê da ku ew bi rengek serbixwe bikarin metrîkên xwe hilînin û bixebitin, tevî sazkirina hişyariyan ji bo hin metrîkên teng ên ku bi berfirehî nayên bikar anîn. 

Di tevahiya pergalê de, em hewl didin ku bûyeran bi lez û bez aktîv bikin û herêmî bikin. Wekî din, hejmara mîkroxizmet û pergalên me di van demên dawî de pir zêde bûye, û hejmara entegrasyonê li gorî vê yekê mezin bûye. Û wekî beşek ji xweşbînkirina pêvajoya teşhîskirina bûyeran di asta entegrasyonê de, em pergalek pêşdixin ku destûrê dide we ku hûn kontrolên xaçerê-pergalê bikin û encamê nîşan bidin, ku dihêle hûn pirsgirêkên sereke yên têkildarî import û danûstendina pergalên bi wan re bibînin. yekûdu. 

Bê guman, di warê pergalên xebitandinê de hîn jî cîhê me heye ku em mezin bibin û pêşve bibin, û em bi awayekî çalak li ser vê yekê dixebitin. Hûn dikarin di derbarê pergala çavdêriya me de bêtir bixwînin vir

testên teknîkî 

Orlov Sergey, serokatiya navenda jêhatîbûnê ya pêşkeftina tevn û mobîl dike

Ji ber ku girtina firotgeha laşî dest pê kir, ji perspektîfa pêşkeftinê ve em bi gelek dijwariyan re rû bi rû mane. Berî her tiştî, bargiraniya bi vî rengî zêde dibe. Eşkere ye ku heke tedbîrên guncav neyên girtin, wê hingê gava ku barek zêde li pergalê tê sepandin, ew dikare bibe kulîlkek bi kelecanek xemgîn, an performansê bi tevahî xirab bike, an jî fonksiyona xwe winda bike.

Aliyê duyemîn, hinekî kêmtir eşkere ye, ev e ku pergala di bin barek zêde de pêdivî bû ku pir zû were guheztin, li gorî guhertinên di pêvajoyên karsaziyê de were adaptekirin. Carinan rojê çend caran. Gelek pargîdanî xwedan rêgezek e ku heke pir çalakiya kirrûbirrê hebe, ne hewce ye ku pergalê di pergalê de guhertinan bike. Qet nebe, bila ew bixebite heya ku kar dike.

Û di esasê me de Înî Reş a bêdawî hebû, di dema ku hewce bû ku pergalê biguherînin. Û her xeletî, pirsgirêk, an têkçûna pergalê dê ji bo karsaziyê pir biha be.

Li pêş çavan, ez ê bibêjim ku me karî bi van ceribandinan re rû bi rû bimîne, hemî pergalên li ber barkirinê radiwestin, bi hêsanî têne pîvandin, û me tu têkçûnek teknîkî ya gerdûnî nedît.

Çar stûn hene ku şiyana pergalê ya ku li ber bargiraniyên zêde bilind radiweste, li ser wan e. Yekem ji wan çavdêrî ye, ku hûn li jor li ser xwend. Bêyî pergalek çavdêriyê ya çêkirî, hema hema ne mumkun e ku meriv kêşeyên pergalê bibîne. Pergalek çavdêriya baş mîna kincên malê ye; divê ew rehet û li gorî we were çêkirin.

Aliyê duyemîn ceribandin e. Em vê xalê pir ciddî digirin: em ji bo her pergalê yekîneyên klasîk, ceribandinên entegrasyonê, ceribandinên barkirinê û gelekên din dinivîsin. Em di heman demê de stratejiyek ceribandinê jî dinivîsin, û di heman demê de hewl didin ku asta ceribandinê heta wê astê zêde bikin ku êdî hewcedariya me bi kontrolên destan tune.

Stûna sêyemîn CI/CD Pipeline ye. Pêvajoyên avakirin, ceribandin û bicîhkirina serîlêdanek divê bi qasî ku gengaz were otomatîk kirin; Divê destwerdanek bi destan nebe. Mijara CI/CD Pipeline pir kûr e, û ez ê tenê bi kurtî li ser wê bisekinim. Tenê hêjayî gotinê ye ku me navnîşek kontrolê ya CI/CD Pipeline heye, ku her tîmek hilber bi alîkariya navendên jêhatîbûnê re derbas dibe.

Ya ku ji me re bû alîkar ku zû di şert û mercên nû de bi bazirganiya serhêl re adapte bibinÛ li vir lîsteya kontrolê ye

Bi vî awayî gelek armanc pêk tên. Ev guhertoya API-ê ye û veguheztina taybetmendiyê ye ku ji trêna berdanê dûr bisekine, û bi destxistina vegirtina ceribandinên cihêreng di astek wusa de ku ceribandin bi tevahî otomatîk be, bicîhkirin bêkêmasî ne, û hwd.

Stûna çaremîn prensîbên mîmarî û çareseriyên teknîkî ne. Em dikarin ji bo demek dirêj pir li ser mîmariyê biaxivin, lê ez dixwazim du prensîbên ku ez dixwazim li ser bisekinim tekez bikim.

Pêşîn, hûn hewce ne ku ji bo karên taybetî amûrên pispor hilbijêrin. Erê, ew eşkere xuya dike, û diyar e ku neynûk divê bi çakûçekê ve werin avêtin, û demjimêrên destan jî bi pêçandeyên taybetî bêne rakirin. Lê di serdema me de, gelek amûr ji bo gerdûnîbûnê hewl didin da ku beşa herî zêde ya bikarhêneran veşêrin: databas, caches, çarçove û yên mayî. Mînakî, heke hûn databasa MongoDB bistînin, ew bi danûstendinên pir-belge re dixebite, û databasa Oracle bi json re dixebite. Û wusa dixuye ku her tişt dikare ji bo her tiştî were bikar anîn. Lê heke em li ber hilberînê bisekinin, wê hingê pêdivî ye ku em bi zelalî hêz û qelsiyên her amûrekê fam bikin û yên ku ji bo çîna karên xwe hewce ne bikar bînin. 

Ya duyemîn, dema sêwirana pergalan, divê her zêdebûna tevliheviyê were rastdar kirin. Divê em bi berdewamî vê yekê di hişê xwe de bihêlin; prensîba girêdana kêm ji her kesî re tê zanîn. Ez di wê baweriyê de me ku divê ew di asta xizmetek taybetî de, û di asta tevaya pergalê de, û di asta dîmena mîmarî de were sepandin. Kapasîteya pîvandina horizontî ya her pêkhateya pergalê li ser riya barkirinê jî girîng e. Ger we ev jêhatî hebe, pîvandin dê ne dijwar be.

Axaftina çareseriyên teknîkî, me ji tîmên hilber xwest ku komek nû ya pêşniyar, raman û çareseriyan amade bikin, ku wan di amadekirina pêla xebata din de bicîh anîn.

Keshi

Pêdivî ye ku bi hişmendî nêzikî hilbijartina kaşên herêmî û belavkirî bibin. Carinan di heman pergalê de karanîna herduyan jî maqûl e. Mînakî, pergalên me hene ku tê de hin dane bi eslê xwe cacheyek pêşangehê ne, ango çavkaniya nûvekirinê li pişt pergalê bixwe ye û pergal naguherin. ev dane. Ji bo vê nêzîkbûnê em Cache Caffeine herêmî bikar tînin. 

Û dane hene ku pergal di dema xebatê de bi rengek çalak diguhezîne, û li vir em berê bi Hazelcast re cacheyek belavkirî bikar tînin. Ev nêzîkatî dihêle ku em feydeyên kaşeyek belavkirî li cîhê ku ew bi rastî hewce ne bikar bînin, û lêçûnên karûbarê belavkirina daneya komê ya Hazelcast ku em dikarin bêyî wê bikin kêm bikin. Me li ser kaxezan gelek nivîsî. vir и vir.

Digel vê yekê, guheztina rêzenivîsê li Kryo di Hazelcast de hêzek baş da me. Û derbasbûna ji ReplicatedMap bo IMap + Near Cache di Hazelcast de hişt ku em tevgera daneyê li seranserê komê kêm bikin. 

Şêwirmendiyek piçûk: di bûyera betalkirina cache ya girseyî de, taktîka germkirina kaşa duyemîn û dûv re guheztina wê carinan pêk tê. Wusa dixuye ku bi vê nêzîkatiyê divê em ducar vexwarina bîranînê bistînin, lê di pratîkê de, di wan pergalên ku ev yek dihat kirin de, mezaxtina bîranînê kêm bû.

Stack reaktîf

Em staka reaktîf di hejmareke pir mezin de pergalan bikar tînin. Di doza me de, ev Webflux an Kotlin bi kortînan re ye. Stacka reaktîf bi taybetî li cîhê ku em li bendê ne ku operasyonên têketin-hilberanê hêdî ne baş e. Mînakî, bangên karûbarên hêdî, bi pergala pelan an pergalên hilanînê re dixebitin.

Prensîba herî girîng ev e ku meriv ji astengkirina bangan dûr bixe. Di çarçoveyên reaktîf de hejmareke piçûk a tîrêjên karûbarê zindî hene ku di binê kapê de dimeşin. Ger em bi xemsarî rê bidin xwe ku em bangek rasterast a astengkirinê bikin, wek bangek ajokarê JDBC, dê pergal bi hêsanî raweste. 

Biceribînin ku xeletiyan veguherînin îstîsna dema xebitandina xwe. Herikîna rastîn a darvekirina bernameyê berbi çarçoveyên reaktîf ve diçe, û darvekirina kodê nehêl dibe. Wekî encamek, teşhîskirina pirsgirêkan bi karanîna şopên stackê pir dijwar e. Û çareserî li vir dê ev be ku ji bo her xeletiyê îstîsnayên dema xebitandinê yên zelal, objektîf biafirînin.

Elasticsearch

Dema ku Elasticsearch bikar bînin, daneyên neyên bikar anîn hilbijêrin. Ev, di prensîbê de, di heman demê de şîretek pir hêsan e, lê pir caran ev e ya ku tê ji bîr kirin. Heke hûn hewce ne ku di carekê de ji 10 hezar tomaran zêdetir hilbijêrin, divê hûn Scroll bikar bînin. Ji bo karanîna analojîk, ew hinekî mîna kursorek di databasek têkildar de ye. 

Heya ku hewce nebe, postfilter bikar neynin. Bi daneyên mezin ên di nimûneya sereke de, ev operasyon pir databasê bar dike. 

Li ku derê pêdivî ye, operasyonên girseyî bikar bînin.

API

Dema ku API-yek sêwirandî, hewcedariyên ji bo kêmkirina daneya veguhastî vedihewînin. Ev bi taybetî di pêwendiya pêşiyê de rast e: ew di vê hevberdanê de ye ku em ji kanalên navendên daneyên xwe derbas dibin û berê xwe didin kanala ku me bi xerîdar ve girêdide. Ger pirsgirêkek wê ya piçûk hebe, seyrûsefera pir zêde dibe sedema ezmûnek bikarhênerek neyînî.

Û di dawiyê de, komek daneyan dernexînin, di derbarê peymana di navbera xerîdar û peydakiran de zelal bin.

Veguherîna rêxistinî

Eroshkina Elena, Cîgirê Rêveberê IT

Di wê kêlîkê de ku karantîn qewimî, û hewcedarî bi zêdekirina leza pêşkeftina serhêl û danasîna karûbarên omnichannel çêbû, em jixwe di pêvajoya veguherîna rêxistinî de bûn. 

Beşek ji avahiya me li gorî prensîb û pratîkên nêzîkatiya hilberê ji bo xebatê hate veguheztin. Tîmên ku niha ji xebitandin û pêşveçûna her hilberek berpirsiyar in hatine damezrandin. Karkerên di tîmên weha de 100% tevlê dibin û xebata xwe bi karanîna Scrum an Kanban ava dikin, li gorî tiştê ku ji wan re bijartir e, sazkirina boriyek bicîhkirinê, pêkanîna pratîkên teknîkî, pratîkên pêbaweriya kalîteyê, û hêj bêtir.

Bi bextewariyê, piraniya tîmên hilberê me di warê karûbarên serhêl û omnichannel de bûn. Vê yekê hişt ku em di demek herî kin de (bi giranî, bi rastî di du rojan de) veguhezînin moda xebata ji dûr ve bêyî windakirina karîgeriyê. Pêvajoya xwerû rê da me ku em zû bi şert û mercên xebatê yên nû re tevbigerin û rêjeyek berbiçav a radestkirina fonksiyonên nû bidomînin.

Wekî din, hewcedariya me heye ku em wan tîmên ku li ser sînorê karsaziya serhêl in xurt bikin. Di wê gavê de diyar bû ku em tenê bi karanîna çavkaniyên navxweyî dikarin vê yekê bikin. Û nêzîkî 50 kesan di du hefteyan de qada ku berê lê dixebitî guhert û beşdarî xebata li ser hilberek ku ji bo wan nû bû. 

Vê yekê hewildanên rêveberiyê yên taybetî hewce nekir, ji ber ku ligel birêxistinkirina pêvajoya xwe, başkirina teknîkî ya hilberê, û pratîkên pêbaweriya kalîteyê, em tîmên xwe hîn dikin ku xwe-rêxistin bikin - ku pêvajoya hilberîna xwe bêyî tevlêbûna çavkaniyên îdarî birêve bibin.

Me karîbû çavkaniyên rêveberiya xwe tam li cihê ku di wê gavê de hewce bû - li ser koordînasyona bi karsaziyê re: Tiştê ku ji bo muwekîlê me niha girîng e, kîjan fonksiyonê divê pêşî were sepandin, çi hewce dike ku were kirin da ku kapasîteya meya rêwiyan zêde bike ji bo radestkirin û pêkanîna fermanan. Hemî van û modelek rola zelal di vê serdemê de hişt ku em nirxa hilberîna xwe bi tiştên ku bi rastî girîng û hewce ne bar bikin. 

Zelal e ku digel xebata dûr û guheztinek bilind, dema ku nîşaneyên karsaziyê bi beşdariya her kesî ve girêdayî ne, hûn nekarin tenê xwe bispêrin hestên hundurîn ên ji rêzefîlmê "Gelo her tişt bi me re baş e? Erê, ew baş xuya dike.” Metrîkên objektîf ên pêvajoya hilberînê hewce ne. Vana me hene, ew ji her kesê ku bi metrîkên tîmên hilberê re eleqedar dibe re peyda dibin. Berî her tiştî, tîm bixwe, karsazî, taşeron û rêveberî.

Her du hefte carekê, bi her tîmekê re statûyek tê girtin, li wir metrîkên 10 hûrdem têne analîz kirin, di pêvajoya hilberînê de kêşan têne nas kirin, û çareseriyek hevbeş tête pêşdebirin: ji bo rakirina van tengasiyan çi dikare were kirin. Li vir hûn dikarin tavilê ji rêveberiyê alîkariyê bixwazin ger pirsgirêkek naskirî li derveyî qada bandora tîmê be, an jî pisporiya hevkarên ku dibe ku berê rastî pirsgirêkek bi heman rengî hatine.

Lêbelê, em fêm dikin ku ji bo ku em gelek caran bilez bikin (û ev tam armanca ku me ji xwe re destnîşan kiriye), em hîn jî hewce ne ku pir tiştan fêr bibin û di xebata xweya rojane de bicîh bikin. Naha em berdewam dikin ku nêzîkatiya hilberê xwe ji tîmên din û hilberên nû re mezin bikin. Ji bo kirina vê yekê, me neçar ma ku ji bo me formek nû master bikira - dibistanek serhêl a metodologan.

Methodolog, mirovên ku alîkariya tîmê dikin ku pêvajoyek ava bikin, danûstendinê saz bikin, û karbidestiya xebatê baştir bikin, bi bingehîn ajanên guherînê ne. Naha, mezûnên koma meya yekem bi tîmê re dixebitin û ji wan re dibin alîkar ku bibin serketî. 

Ez wisa difikirim ku rewşa heyî derfet û perspektîfan ji me re vedike ku belkî em bi xwe jî hîn bi tevahî ji wan hay nebûne. Lê azmûn û pratîka ku em niha bi dest dixin piştrast dike ku me riya rast a pêşkeftinê hilbijartiye, em ê di pêşerojê de van fersendên nû ji dest nedin û em ê karibin bi heman awayî bi bandor bersivê bidin kêşeyên ku Sportmaster dê rû bi rû bimîne.

vebiguherin

Di vê dema dijwar de, me prensîbên sereke yên ku pêşkeftina nermalavê li ser radiweste, formule kiriye, ku, ez difikirim ku dê ji bo her pargîdaniyek ku bi vê yekê re mijûl dibe têkildar be.

gel. Ya ku her tişt li ser vê ye. Divê karmend ji karê xwe kêfxweş bibin û armancên pargîdanî û armancên hilberên ku ew li ser dixebitin fam bikin. Û, bê guman, ew dikarin bi profesyonelî pêşve bibin. 

Teknolojiyê. Pêdivî ye ku pargîdanî nêzîkatiyek mazin bigire da ku bi stoka teknolojiya xwe re bixebite û li cîhê ku ew bi rastî hewce be jêhatîbûnê ava bike. Ew pir hêsan û zelal xuya dike. Û pir caran paşguh kirin.

Pêvajoyên. Girîng e ku bi rêkûpêk xebata tîmên hilber û navendên jêhatîbûnê birêxistin bikin, danûstendina bi karsaziyê re saz bikin da ku bi wê re wekî hevkar bixebitin.

Bi gelemperî, bi vî rengî em xilas bûn. Teza sereke ya serdema me, bi tikandina dengbêjî ya li eniyê, careke din hate pejirandin

Her çend hûn bi gelek firotgeh û komek bajarên ku hûn lê dixebitin re karsaziyek mezin a nehêl in, karsaziya xweya serhêl pêşve bibin. Ev ne tenê kanalek firotanê ya zêde an serîlêdanek xweşik e ku bi navgîniya wê hûn dikarin tiştek jî bikirin (û her weha ji ber ku pêşbaz jî yên xweşik hene). Ev ne tekerek îdeal-di-dozê ye ku ji we re bibe alîkar ku hûn di bahozê de bisekinin.

Ev pêwîstiyeke teqez e. Ji bo wê ne tenê îmkan û binesaziya we ya teknîkî, divê mirov û pêvajoyên we jî amade bin. Beriya her tiştî, hûn dikarin di nav çend demjimêran de zû bîranîn, cîhê zêde bikirin, mînakên nû bicîh bikin, hwd. Lê divê mirov û pêvajo ji berê de ji vê re bên amadekirin.

Source: www.habr.com

Add a comment