Það sem hjálpaði okkur fljótt að aðlagast netviðskiptum við nýjar aðstæður

РџСЂРІРμы!

Ég heiti Mikhail, ég er staðgengill upplýsingatæknisviðs hjá Sportmaster fyrirtækinu. Mig langar að deila sögunni um hvernig við tókumst á við þær áskoranir sem komu upp í heimsfaraldrinum.

Á fyrstu dögum hins nýja veruleika frosaði venjulegt viðskiptasnið Sportmaster án nettengingar og álagið á netrásina okkar, fyrst og fremst hvað varðar afhendingu á heimilisfang viðskiptavinarins, jókst 10 sinnum. Á örfáum vikum breyttum við risastóru offline fyrirtæki í netverslun og aðlaguðum þjónustuna að þörfum viðskiptavina okkar.

Í grundvallaratriðum varð það sem var í meginatriðum hliðarrekstur okkar kjarnastarfsemi okkar. Mikilvægi sérhverrar netpöntunar hefur aukist mjög. Það var nauðsynlegt að spara hverja rúblur sem viðskiptavinurinn kom með til fyrirtækisins. 

Það sem hjálpaði okkur fljótt að aðlagast netviðskiptum við nýjar aðstæður

Til að bregðast skjótt við beiðnum viðskiptavina opnuðum við viðbótarsamskiptamiðstöð á aðalskrifstofu fyrirtækisins og getum nú tekið á móti um 285 þúsund símtölum á viku. Á sama tíma fluttum við 270 verslanir í nýtt snertilaust og öruggt rekstrarform sem gerði viðskiptavinum kleift að taka á móti pöntunum og starfsmenn til að halda starfi sínu.

Í umbreytingarferlinu lentum við í tveimur meginvandamálum. Í fyrsta lagi hefur álagið á netauðlindir okkar aukist verulega (Sergey mun segja þér hvernig við brugðumst við þessu). Í öðru lagi hefur flæði sjaldgæfra aðgerða (fyrir COVID) margfaldast, sem aftur krafðist mikillar hraðrar sjálfvirkni. Til að leysa þennan vanda þurftum við að flytja auðlindir hratt frá svæðum sem áður voru þau helstu. Elena mun segja þér hvernig við brugðumst við þessu.

Rekstur netþjónustu

Kolesnikov Sergey, ábyrgur fyrir rekstri netverslunar og örþjónustu

Frá því augnabliki sem smásöluverslanir okkar fóru að lokast gestum, fórum við að skrá aukningu á mælingum eins og fjölda notenda, fjölda pantana sem settar voru í forritið okkar og fjölda beiðna um umsóknir. 

Það sem hjálpaði okkur fljótt að aðlagast netviðskiptum við nýjar aðstæðurFjöldi pantana frá 18. mars til 31. marsÞað sem hjálpaði okkur fljótt að aðlagast netviðskiptum við nýjar aðstæðurFjöldi beiðna til greiðslusmáþjónustu á netinuÞað sem hjálpaði okkur fljótt að aðlagast netviðskiptum við nýjar aðstæðurFjöldi pantana á vefsíðunni

Á fyrsta línuritinu sjáum við að aukningin var um það bil 14 sinnum, á því síðara - 4 sinnum. Við lítum svo á að svartímamælikvarði umsókna okkar sé mest leiðbeinandi. 

Það sem hjálpaði okkur fljótt að aðlagast netviðskiptum við nýjar aðstæður

Í þessu grafi sjáum við viðbrögð framhliða og forrita og fyrir okkur sjálfum komumst við að því að við urðum ekki varir við neinn vöxt sem slíkan.

Þetta er fyrst og fremst vegna þess að við hófum undirbúningsvinnu í lok árs 2019. Nú er þjónusta okkar frátekin, bilanaþol er tryggt á stigi líkamlegra netþjóna, sýndarvæðingarkerfa, hafnarverkamanna og þjónustu í þeim. Á sama tíma gerir getu netþjónaauðlinda okkar okkur kleift að standast margfalt álag.

Helsta tólið sem hjálpaði okkur í þessari sögu var eftirlitskerfið okkar. Að vísu vorum við ekki með eitt einasta kerfi þar til nýlega sem gerði okkur kleift að safna mælingum á öllum lögum, frá stigi líkamlegs búnaðar og vélbúnaðar til stigi viðskiptamælinga. 

Formlega var eftirlit í fyrirtækinu en að jafnaði var það dreifð og var á ábyrgðarsviði einstakra deilda. Reyndar, þegar atvik átti sér stað, áttum við nánast aldrei sameiginlegan skilning á því hvað nákvæmlega gerðist, það voru engin samskipti og oft leiddi þetta til þess að hlaupið var í hringi til að finna og einangra vandamálið svo hægt væri að laga það.

Á einhverjum tímapunkti hugsuðum við og ákváðum að við hefðum nóg af því að þola þetta - við þyrftum sameinað kerfi til að sjá heildarmyndina í heild sinni. Helstu tækni sem er innifalin í staflanum okkar eru Zabbix sem viðvörunar- og mælingageymslumiðstöð, Prometheus til að safna og geyma forritamælingar, Stack ELK til að skrá og geyma gögn úr öllu vöktunarkerfinu, auk Grafana fyrir sjónræning, Swagger, Docker og annað gagnlegt og hluti sem þú þekkir.

Á sama tíma notum við ekki aðeins tækni sem er til á markaðnum heldur þróum við líka eitthvað af okkar eigin. Til dæmis gerum við þjónustu til að samþætta kerfi hvert við annað, það er einhvers konar API til að safna mæligildum. Auk þess erum við að vinna í okkar eigin eftirlitskerfi - á stigi viðskiptamælinga notum við HÍ próf. Og líka láni í Telegram til að láta lið vita.

Við erum líka að reyna að gera eftirlitskerfið aðgengilegt fyrir teymi þannig að þeir geti sjálfstætt vistað og unnið með mælikvarða sína, þar á meðal að setja upp viðvaranir fyrir suma þrönga mælikvarða sem eru ekki mikið notaðir. 

Í öllu kerfinu leitumst við að frumkvæði og staðfæringu atvika eins fljótt og auðið er. Auk þess hefur örþjónustum okkar og kerfum fjölgað umtalsvert undanfarið og samþættingum hefur fjölgað að sama skapi. Og sem hluti af því að fínstilla ferlið við greiningu atvika á samþættingarstigi erum við að þróa kerfi sem gerir þér kleift að framkvæma þverkerfisprófanir og birta niðurstöðuna, sem gerir þér kleift að finna helstu vandamálin sem tengjast innflutningi og samspili kerfa við hvort annað. 

Við höfum að sjálfsögðu enn svigrúm til að vaxa og þróast hvað varðar stýrikerfi og við erum að vinna að þessu. Þú getur lesið meira um eftirlitskerfið okkar hér

Tæknipróf 

Orlov Sergey, yfirmaður hæfnimiðstöðvar fyrir vef- og farsímaþróun

Frá því að líkamlegar lokanir hófust höfum við staðið frammi fyrir ýmsum áskorunum frá þróunarsjónarmiði. Fyrst af öllu, álagsaukningin sem slík. Það er ljóst að ef ekki er gripið til viðeigandi ráðstafana, þegar mikið álag er beitt á kerfið, getur það breyst í grasker með dapurlegum smelli, eða algjörlega rýrnað í frammistöðu eða jafnvel misst virkni þess.

Annað atriðið, sem er aðeins minna augljóst, er að breyta þurfti kerfinu undir miklu álagi mjög hratt og aðlagast breytingum í viðskiptaferlum. Stundum nokkrum sinnum á dag. Mörg fyrirtæki hafa þá reglu að ef um mikla markaðsvirkni er að ræða þarf ekki að gera neinar breytingar á kerfinu. Alls engin, láttu það virka svo lengi sem það virkar.

Og við áttum í rauninni endalausan svartan föstudag þar sem nauðsynlegt var að breyta kerfinu. Og allar villur, vandamál eða bilanir í kerfinu yrðu mjög kostnaðarsamar fyrir fyrirtækið.

Þegar horft er fram á veginn mun ég segja að okkur tókst að takast á við þessar prófanir, öll kerfi stóðust álagið, voru auðvelt að stækka og við urðum ekki fyrir neinum alþjóðlegum tæknilegum bilunum.

Það eru fjórar stoðir sem geta kerfisins til að standast mikið bylgjuálag hvílir á. Fyrsta þeirra er eftirlit, sem þú lest um rétt fyrir ofan. Án innbyggðs eftirlitskerfis er nánast ómögulegt að finna flöskuhálsa í kerfinu. Gott eftirlitskerfi er eins og heimilisfatnaður; það ætti að vera þægilegt og sérsniðið að þér.

Annar þátturinn er prófun. Við tökum þetta atriði mjög alvarlega: við skrifum klassískar einingar, samþættingarpróf, álagspróf og mörg önnur fyrir hvert kerfi. Við erum líka að skrifa prófunarstefnu og á sama tíma að reyna að auka prófunarstigið að því marki að við þurfum ekki lengur handvirkar athuganir.

Þriðja stoðin er CI/CD Pipeline. Ferli við að smíða, prófa og dreifa forriti ætti að vera sjálfvirk eins mikið og mögulegt er; það ætti ekki að vera nein handvirk inngrip. Umræðuefnið CI/CD Pipeline er nokkuð djúpt og ég mun aðeins koma stuttlega inn á það. Það er rétt að minnast á að við erum með CI/CD Pipeline gátlista sem hvert vöruteymi fer í gegnum með hjálp hæfnimiðstöðva.

Það sem hjálpaði okkur fljótt að aðlagast netviðskiptum við nýjar aðstæðurOg hér er gátlistinn

Þannig er mörgum markmiðum náð. Þetta er API útgáfa og skipta um eiginleika til að forðast losunarlestina og ná fram umfjöllun um ýmsar prófanir á því stigi að prófun er fullkomlega sjálfvirk, dreifing er óaðfinnanleg og svo framvegis.

Fjórða stoðin eru byggingarreglur og tæknilegar lausnir. Við getum lengi talað mikið um arkitektúr, en ég vil leggja áherslu á nokkrar meginreglur sem ég vil leggja áherslu á.

Í fyrsta lagi þarftu að velja sérhæfð verkfæri fyrir ákveðin verkefni. Já, það hljómar sjálfsagt og það er ljóst að nagla á að reka inn með hamri og armbandsúr taka í sundur með sérstökum skrúfjárn. En á okkar tímum leitast mörg verkfæri við alhliða væðingu til að ná yfir hámarkshluta notenda: gagnagrunna, skyndiminni, ramma og restina. Til dæmis, ef þú tekur MongoDB gagnagrunninn, virkar hann með fjölskjalaviðskiptum og Oracle gagnagrunnurinn virkar með json. Og svo virðist sem hægt sé að nota allt í allt. En ef við stöndum fyrir framleiðni, þá þurfum við að skilja vel styrkleika og veikleika hvers verkfæris og nota þá sem við þurfum fyrir okkar verkefnaflokk. 

Í öðru lagi, við hönnun kerfa þarf að réttlæta hverja aukningu á flækjustig. Við verðum stöðugt að hafa þetta í huga, meginreglan um lágtenging er öllum kunn. Ég tel að það eigi að beita á stigi ákveðinnar þjónustu og á vettvangi alls kerfisins og á vettvangi byggingarlandslags. Hæfni til að skala hvern kerfishluta lárétt eftir álagsleiðinni er einnig mikilvæg. Ef þú hefur þennan hæfileika verður skala ekki erfitt.

Talandi um tæknilegar lausnir, við báðum vöruteymi að útbúa ferskt sett af tillögum, hugmyndum og lausnum, sem þeir útfærðu til undirbúnings fyrir næstu bylgju vinnuálags.

Keshi

Nauðsynlegt er að nálgast meðvitað val á staðbundnum og dreifðum skyndiminni. Stundum er skynsamlegt að nota bæði innan sama kerfis. Til dæmis erum við með kerfi þar sem sum gagna eru í raun skyndiminni, það er að segja að uppspretta uppfærslunnar er á bak við kerfið sjálft og kerfin breytast ekki þessi gögn. Fyrir þessa nálgun notum við staðbundið koffínskyndiminni. 

Og það eru gögn sem kerfið breytist virkan meðan á notkun stendur og hér erum við nú þegar að nota dreift skyndiminni með Hazelcast. Þessi nálgun gerir okkur kleift að nota kosti dreifðs skyndiminni þar sem þeirra er raunverulega þörf, og lágmarka þjónustukostnað við að dreifa Hazelcast klasagögnum þar sem við getum verið án þeirra. Við höfum skrifað mikið um skyndiminni. hér и hér.

Að auki gaf það okkur góða uppörvun að breyta serializer í Kryo í Hazelcast. Og umskiptin frá ReplicatedMap yfir í IMap + Near Cache í Hazelcast leyfðu okkur að lágmarka hreyfingu gagna yfir þyrpinguna. 

Smá ráð: ef um er að ræða ógildingu fjölda skyndiminni, þá á stundum við sú aðferð að hita upp annað skyndiminni og skipta yfir í það. Svo virðist sem með þessari nálgun ættum við að fá tvöfalda minnisnotkun, en í reynd, í þeim kerfum þar sem þetta var stundað, minnkaði minnisnotkun.

Reactive stafla

Við notum viðbragðsstafla í töluvert mörgum kerfum. Í okkar tilviki er þetta Webflux eða Kotlin með coroutines. Viðbragðsstaflinn er sérstaklega góður þar sem við búumst við hægum inntaks-úttaksaðgerðum. Til dæmis símtöl í hæga þjónustu, vinna með skráarkerfi eða geymslukerfi.

Mikilvægasta reglan er að forðast að loka á símtöl. Hvarfgjarnir rammar eru með lítið magn af lifandi þjónustuþráðum sem liggja undir hettunni. Ef við leyfum okkur kæruleysislega að hringja beint lokunarsímtal, eins og JDBC ökumannssímtal, mun kerfið einfaldlega stöðvast. 

Reyndu að breyta villum í þína eigin keyrslutíma undantekningu. Raunverulegt flæði framkvæmdar forritsins færist yfir í viðbragðsramma og keyrsla kóða verður ólínuleg. Þess vegna er mjög erfitt að greina vandamál með því að nota staflaspor. Og lausnin hér væri að búa til skýrar, hlutlægar undantekningar fyrir hverja villu.

Elasticsearch

Þegar þú notar Elasticsearch skaltu ekki velja ónotuð gögn. Þetta er í grundvallaratriðum líka mjög einfalt ráð, en oftast er þetta það sem gleymist. Ef þú þarft að velja meira en 10 þúsund færslur í einu þarftu að nota Scroll. Til að nota líkingu, þá er það svolítið eins og bendill í venslagagnagrunni. 

Ekki nota eftirsíu nema nauðsynlegt sé. Með stórum gögnum í aðalúrtakinu hleður þessi aðgerð gagnagrunninn mikið. 

Notaðu magnaðgerðir þar sem við á.

API

Þegar forritaskil eru hannað skaltu setja inn kröfur um að lágmarka send gögn. Þetta á sérstaklega við í tengslum við framhliðina: það er á þessum mótum sem við förum út fyrir rásir gagnavera okkar og erum nú þegar að vinna að rásinni sem tengir okkur við viðskiptavininn. Ef það hefur minnsta vandamál, veldur of mikil umferð neikvæðri notendaupplifun.

Og að lokum, ekki henda út fullt af gögnum, vera skýr um samninginn milli neytenda og birgja.

Skipulagsbreytingar

Eroshkina Elena, aðstoðarforstjóri upplýsingatæknisviðs

Á því augnabliki þegar sóttkví átti sér stað og þörfin kom upp á að auka verulega hraða þróunar á netinu og kynna alhliða þjónustu, vorum við þegar í skipulagsbreytingum. 

Hluti af uppbyggingu okkar var færður til að vinna í samræmi við meginreglur og venjur vörunálgunar. Búið er að mynda teymi sem nú sjá um rekstur og þróun hverrar vöru. Starfsmenn í slíkum teymum taka 100% þátt og skipuleggja vinnu sína með því að nota Scrum eða Kanban, allt eftir því hvað er ákjósanlegt fyrir þá, setja upp dreifingarleiðslu, innleiða tæknilega starfshætti, gæðatryggingaraðferðir og margt fleira.

Fyrir heppni var meginhluti vöruteymanna okkar á sviði netþjónustu og alhliða þjónustu. Þetta gerði okkur kleift að skipta yfir í fjarvinnustillingu á sem skemmstum tíma (alvarlega, bókstaflega á tveimur dögum) án þess að tapa á skilvirkni. Sérsniðna ferlið gerði okkur kleift að laga okkur fljótt að nýjum vinnuskilyrðum og viðhalda nokkuð háum hraða við afhendingu nýrrar virkni.

Þar að auki þurfum við að styrkja þessi teymi sem eru á mörkum netviðskipta. Á þeirri stundu varð ljóst að við gætum aðeins gert þetta með innri auðlindum. Og um 50 manns á tveimur vikum skiptu um svæði þar sem þeir unnu áður og tóku þátt í að vinna að vöru sem var ný fyrir þá. 

Þetta krafðist ekki sérstakrar stjórnunarátaks, því ásamt því að skipuleggja okkar eigið ferli, tæknilegar endurbætur á vörunni og gæðatryggingaraðferðir, kennum við teymum okkar að skipuleggja sig sjálf - að stjórna eigin framleiðsluferli án þess að hafa í för með sér stjórnunarúrræði.

Við gátum einbeitt stjórnunarauðlindum okkar nákvæmlega þar sem þess var þörf á því augnabliki - að samhæfingu við fyrirtækið: Hvað er mikilvægt fyrir viðskiptavini okkar núna, hvaða virkni ætti að innleiða fyrst, hvað þarf að gera til að auka afköst okkar að afhenda og afgreiða pantanir. Allt þetta og skýr fyrirmynd gerði það mögulegt á þessu tímabili að hlaða framleiðsluverðmætum okkar með því sem er raunverulega mikilvægt og nauðsynlegt. 

Það er ljóst að með fjarvinnu og miklum breytingum, þegar viðskiptavísar ráðast af þátttöku allra, er ekki hægt að treysta eingöngu á innri tilfinningar úr seríunni „Er allt að ganga vel hjá okkur? Já, það virðist vera gott." Þörf er á hlutlægum mælikvörðum um framleiðsluferlið. Við höfum þetta, þau eru í boði fyrir alla sem hafa áhuga á mæligildum vöruteyma. Fyrst og fremst liðið sjálft, fyrirtækið, undirverktakar og stjórnendur.

Einu sinni á tveggja vikna fresti er staða með hverju teymi þar sem mælikvarðar eru greindir í 10 mínútur, flöskuhálsar í framleiðsluferlinu greindir og sameiginleg lausn þróuð: hvað er hægt að gera til að útrýma þessum flöskuhálsum. Hér getur þú strax beðið um hjálp frá stjórnendum ef einhver greint vandamál er utan áhrifasvæðis teymanna, eða sérfræðiþekkingu samstarfsmanna sem gætu hafa þegar lent í svipuðu vandamáli.

Hins vegar skiljum við að til að flýta mörgum sinnum (og þetta er einmitt markmiðið sem við setjum okkur), þurfum við samt að læra mikið og innleiða það í daglegu starfi okkar. Núna höldum við áfram að stækka vörunálgun okkar til annarra teyma og nýjar vörur. Til þess þurftum við að ná tökum á nýju sniði fyrir okkur - netskóli aðferðafræðinga.

Aðferðafræðingar, fólk sem hjálpar teymum að byggja upp ferli, koma á samskiptum og bæta vinnu skilvirkni, eru í meginatriðum umboðsmenn breytinga. Núna eru útskriftarnemar úr fyrsta árganginum okkar að vinna með teymum og hjálpa þeim að ná árangri. 

Ég held að núverandi ástand opni fyrir okkur tækifæri og möguleika sem við sjálf gerum okkur kannski ekki fullkomlega grein fyrir. En reynslan og æfingin sem við erum að öðlast núna staðfestir að við höfum valið réttu þróunarleiðina, við munum ekki missa af þessum nýju tækifærum í framtíðinni og munum geta brugðist jafn vel við þeim áskorunum sem Sportmaster mun standa frammi fyrir.

Niðurstöður

Á þessum erfiða tíma höfum við mótað meginreglur sem hugbúnaðarþróun hvílir á, sem ég held að muni eiga við fyrir hvert fyrirtæki sem fæst við þetta.

Fólk. Á þessu hvílir allt. Starfsmenn verða að hafa ánægju af starfi sínu og skilja markmið fyrirtækisins og markmið þeirra vara sem þeir vinna að. Og auðvitað gætu þeir þróast faglega. 

Технология. Það er nauðsynlegt fyrir fyrirtækið að taka þroskaða nálgun til að vinna með tæknibunkann og byggja upp hæfni þar sem hennar er raunverulega þörf. Það hljómar mjög einfalt og augljóst. Og mjög oft hunsað.

Ferlarnir. Mikilvægt er að skipuleggja vinnu vöruteyma og hæfnimiðstöðva vel, koma á samskiptum við fyrirtækið til að vinna með því sem samstarfsaðili.

Almennt séð, það er nokkurn veginn hvernig við lifðum af. Aðalritgerð samtímans var staðfest enn og aftur, með hljómandi smelli á ennið

Jafnvel ef þú ert stórt fyrirtæki án nettengingar með margar verslanir og fullt af borgum þar sem þú starfar, þróaðu netverslunina þína. Þetta er ekki bara auka sölurás eða fallegt forrit þar sem þú getur líka keypt eitthvað (og líka vegna þess að samkeppnisaðilar eiga líka fallega). Þetta er ekki bara varadekk sem hjálpar þér að standast storminn.

Þetta er algjör nauðsyn. Fyrir það þarf ekki aðeins tæknilega getu þína og innviði að vera undirbúin, heldur einnig fólk þitt og ferla. Þegar öllu er á botninn hvolft geturðu fljótt keypt viðbótarminni, pláss, dreift nýjum tilvikum osfrv. á nokkrum klukkustundum. En menn og ferli þurfa að vera undirbúnir fyrir þetta fyrirfram.

Heimild: www.habr.com

Bæta við athugasemd