Izinsizakalo zefa kungqalasizinda yakho

Sawubona! Igama lami ngingu-Pasha Chernyak, ngingunjiniyela oholayo kwa-QIWI, futhi namuhla ngifuna ukukhuluma ngokungenakugwemeka. Mayelana Nefa.

Ake siqale ngombuzo: yini isevisi ye-Legacy? Ingabe isevisi yefa isevisi unjiniyela angakaze ayithinte isonto/inyanga/unyaka? Noma ingabe isevisi eyabhalwa umhleli onolwazi oluncane, isibonelo, nguwe ngokuqondile, kodwa ngonyaka odlule? Futhi manje usupholile futhi unolwazi. Noma ingabe isevisi ye-Legacy iyisevisi onqume ukuthi ngeke uphinde uyisebenzise futhi kancane kancane ulungiselela enye esikhundleni sayo? Kunoma yikuphi, ukushiya insizakalo enjalo ingagadiwe futhi ingabuyekezwa ibhomu lesikhathi elingase liqhume kamuva.

Izinsizakalo zefa kungqalasizinda yakho

Ngaphambi kokudlulela kokuthi thina kwa-QIWI sisebenza kanjani nezinsizakalo zethu Zefa, ngizokutshela ukuthi sikulethe kanjani i-oda ezinsizeni eziku-Wallet. Sekuyiminyaka emibili manje ngibhekene nomsebenzi wayo. Uma kukhona inkinga, bavele bangishayele ucingo kuqala. Ngokuvamile anginawo amandla okushayela omunye umuntu ucingo ngo-11 ebusuku, ngakho-ke bekufanele ngihlale phansi ngithole zonke izinsiza esizindeni sethu.

Kodwa mina, njenganoma yimuphi umuntu, ngithanda ukulala ebusuku, ngakho ngazama ukubhekana nalokhu kuxhashazwa: “Bafo, ningibizelani?” Engithole kuyo impendulo emnandi njengokuthi "Ubani omunye?" Ngoba ngilungisa izinsiza, futhi abafana abazi ukuthi bazobiza bani.

Ngakho-ke, kokunye kokubheka emuva kwethimba le-Wallet backend, sinqume ukuthi sidinga ukwenza uphawu ngohlu lwezinsizakalo zethu, ama-microservices kanye nama-monoliths we-wallet, kanye nalabo abanomthwalo wawo. Izimpawu ngokuvamile ziwusizo, ngaphakathi kwemingcele enengqondo.

Ngaphezu kolwazi mayelana nokuthi ubani ophethe lokho, kwakukhona izimpendulo zemibuzo: ngubani umnikazi wesevisi, obhekene nokuthuthukiswa kwayo, izakhiwo kanye nomjikelezo wokuphila. Abantu ababhekele le nkonzo ngabantu abakwazi ukuyilungisa uma kukhona okwenzekayo. Umnikazi wesevisi unelungelo lokushiya izibopho ezingu-+2, labo abanesibopho kufanele futhi babe khona ekubuyekezweni ngaphambi kokuba le sevisi yamukele isivumelwano esisha.

Njengoba isikhathi siqhubeka, imikhuba emisha yaqala ukusetshenziswa, isibonelo, ukuthuthela ku-Kubernetes, zonke izinhlobo ze-checkstyle, ama-spotbugs, i-ktlint, ukuba khona kwamalogi e-Kibana, izinsizakalo zokutholwa kwe-autodiscovery esikhundleni sokucacisa ngokuqondile amakheli nezinye izinto eziwusizo. Futhi yonke indawo ithebula lethu lisivumele ukuthi sigcine ukuhambisana kwezinsizakalo zethu. Kithina, lolu uhlobo lohlu lokuhlola oluthi le sevisi ingakwenza lokhu, kodwa ayikakwenzi lokho. Kodwa siqhubeke, siqaphela ukuthi asinalo ulwazi mayelana namasevisi ethu, esiwaqaphayo, lapho imithombo yesevisi itholakala khona , lapho imisebenzi yomhlangano yethulwa ku-TeamCity, ukuthi isetshenziswa kanjani, lapho kugcinwa khona imithombo yokuhlolwa kwe-end2end, izithombe ezivela kumaseshini wokuzilungisa mayelana nezakhiwo, mayelana nezinqumo ezenziwe. Ngokufanelekile, ngingathanda ukuthi lonke lolu lwazi lulale ndawana thize futhi lube seduze lapho ludingeka. Ngakho-ke, uphawu lwethu lwaba isiqalo sokufuna ulwazi.

Kodwa i-QIWI, nakuba igcina umoya wokuqalisa, iyinkampani enkulu. Sesivele sineminyaka engu-12 ubudala, futhi amaqembu ayashintsha: abantu bayahamba, abantu beza, amaqembu amasha akhiwa. Futhi sithole izinsiza ezimbalwa esizindeni sethu esizizuze njengefa. Abanye bavela konjiniyela besuka kwamanye amaqembu, abanye bahlobene nje ngokungaqondile ngandlela thize ne-Wallet, ngakho-ke manje sinesevisi kushidi lethu lebhalansi. Ukuqonda ukuthi yini futhi isebenza kanjani - ngani? Isevisi iyasebenza, futhi sinezici zomkhiqizo okudingeka nakanjani zithuthukiswe.

Kwenzeka kanjani

Kodwa ngesikhathi esithile sithola ukuthi isevisi iyeka ukwenza umsebenzi wayo, kukhona okuphukile - yini okufanele uyenze esimweni esinjalo? Inkonzo imane yama ukusebenza. Kube bonke. Futhi sathola ngalokhu, okokuqala, ngengozi, futhi okwesibili, ezinyangeni eziyisithupha kamuva. Kuyenzeka. Okuwukuphela kwento esasiyazi ukuthi iyiphi imishini ebonakalayo isevisi ezosetshenziswa, lapho imithombo yayo itholakala khona, futhi yilokho kuphela. Senza i-git clone futhi singene emqondweni womuntu owabhala lokhu eminyakeni embalwa edlule, kodwa yini esiyibonayo? Ayikho iSpring Boot esiyijwayele, nakuba sesijwayele yonke into, sinenqwaba nakho konke lokho. Mhlawumbe kukhona iSpring Framework lapho? Kodwa cha.

Umfana owabhala konke lokhu wayenzima futhi wabhala yonke into nge-Java ehlanzekile. Awekho amathuluzi ajwayelekile onjiniyela, futhi kuvela umbono: sidinga ukuphinda sikubhale konke lokhu. Sinama-microservices, futhi kuzo zonke i-toaster kuza okujwayelekile "Guys, microservices yilokho okudingayo!" Uma kungazelelwe kukhona okungahambi kahle, ungathatha ngokuthula noma yiluphi ulimi futhi konke kuzolunga.

Indaba ukuthi manje asinalo ikhasimende elibhekele le sevisi. Yiziphi izimfuneko zebhizinisi abenazo, yini le nkonzo okufanele yenze? Futhi isevisi ihlanganiswe ngokuqinile ezinqubweni zebhizinisi lakho.

Manje ngitshele, kulula kangakanani ukubhala kabusha isevisi ngaphandle kokwazi izidingo zayo zebhizinisi? Akucaci ukuthi isevisi ifakwe kanjani; ukuthi akhona yini amamethrikhi akwaziwa. Ukuthi bayini, uma bekhona, akwaziwa kakhulu. Futhi ngasikhathi sinye, insizakalo iqukethe inani elikhulu lamakilasi omqondo webhizinisi ongaqondakali. Okuthile kufakiwe kolunye uhlobo lwedathabheyisi, nathi esingakazi lutho ngayo okwamanje.

Uzoqala kuphi?

Kusukela iphuzu elinengqondo kakhulu - ukutholakala ukuhlolwa. Ngokuvamile kukhona okungenani okunengqondo okubhalwe lapho futhi ungafinyelela iziphetho ngalokho okwenzekayo. Manje i-TDD iyimfashini, kodwa siyabona ukuthi eminyakeni engu-5 edlule yonke into yayicishe ifane namanje: cishe akukho ukuhlolwa kweyunithi, futhi ngeke basitshele lutho. Hhayi-ke, ngaphandle kokuthi mhlawumbe uhlobo oluthile lokuqinisekisa, ukuthi enye i-xml isayinwa kanjani ngesitifiketi esithile sangokwezifiso.

Asizange siqonde lutho ngekhodi, ngakho-ke saya ukuyobona ukuthi yini esemshinini obonakalayo. Sivule amalogi wesevisi futhi sathola iphutha leklayenti le-http kuwo; isitifiketi esizisayinele sona esasishumekwe kuzisetshenziswa zohlelo lokusebenza besibole ngokungenamahloni. Sithinte abahlaziyi bethu, bacela isitifiketi esisha, basinikeza futhi isevisi iyasebenza futhi. Kubonakala sengathi yilokho kuphela. Noma cha? Noma kunjalo, isevisi iyasebenza, yenza umsebenzi othile odingwa yibhizinisi lethu. Sinezindinganiso ezithile zokuthuthukiswa kohlelo lokusebenza, okungenzeka ukuthi nawe unazo. Isibonelo, ungagcini izingodo ku-node kufolda, kodwa uzigcine endaweni ethile yokugcina, njengokunwebeka, futhi uzibheke ku-Kibana. Ungakwazi futhi ukukhumbula amamethrikhi egolide. Okusho ukuthi, umthwalo enkonzweni, inani lezicelo zenkonzo, ukuthi uyaphila noma cha, ukuthi i-HealthCheck yakhe ihamba kanjani. Okungenani, lawa mamethrikhi azokusiza wazi ukuthi angakhishwa nini emsebenzini ngonembeza ohlanzekile futhi akhohlakale njengephupho elibi.

Okufanele ukwenze

Ngakho-ke, sengeza insizakalo endala etafuleni, bese sihamba sifuna amavolontiya phakathi kwabathuthukisi abazonakekela insizakalo futhi bayibeke ngokulandelana: bazobhala okungenani ulwazi oluthile mayelana nenkonzo, bengeze izixhumanisi ku- amadeshibhodi ku-grafana, emisebenzini yokuhlanganisa, futhi uqonde ukuthi Sebenzisa kanjani uhlelo lokusebenza, ungalayishi amafayela ngesandla usebenzisa i-ftp.

Okubalulekile ukuthi uzothatha isikhathi esingakanani wonke lo msebenzi wokuzithandela? I-sprint eyodwa yonjiniyela onolwazi oluthe xaxa noma oluncane, isibonelo, ngesikhathi sesikweletu sobuchwepheshe esingu-20%. Kuthathe isikhathi esingakanani ukuqonda yonke ingqondo egxilile yokuxhumana nohlelo oluthile lombuso nokululetha kubuchwepheshe obusha? Angikwazi ukukuqinisekisa lokhu, mhlawumbe inyanga noma umsebenzi weqembu amabili. Lokhu ngikusho ngokuhlangenwe nakho kokuhlanganiswa kwamanje nesevisi entsha.

Ngesikhathi esifanayo, akukho ukukhululwa kwenani lebhizinisi. Kube bonke. Kuyinto evamile ukuqasha isevisi ukuze uthole ukwesekwa futhi uchithe isikhathi esincane kuyo. Kodwa ngemva kokudansa kwethu okujwayelekile nenkonzo, siyengeza etafuleni, sengeza ulwazi ngakho futhi, mhlawumbe, sizoyibhala kabusha ngolunye usuku. Kodwa manje isihlangabezana nezindinganiso zethu zesevisi.

Ngenxa yalokho, ngingathanda ukuqhamuka nesu lokuthi yini okufanele ngiyenze ngezinkonzo zeLefa.

Ukubhala kabusha ifa kusukela ekuqaleni kuwumbono omubi
Ngokujulile, awudingi ngisho nokucabanga ngakho. Kuyacaca ukuthi ngingayithanda, futhi kunezinzuzo ezithile, kodwa ngokuvamile akekho oyidingayo, kuhlanganise nawe.

Uhla lwemibhalo
Gcoba amakhodi omthombo wezinhlelo zakho zokusebenza, yenza incwadi yereferensi ezokhombisa ukuthi ikuphi nokuthi isebenza kanjani, faka incazelo yephrojekthi lapho (i-conditional readme.md) ukuze uqonde ngokushesha ukuthi amalogi namamethrikhi atholakala kuphi. Umthuthukisi ozobhekana nalokhu ngemva kwakho uzothi ngiyabonga kuphela.

Qonda isizinda
Uma ungumnikazi wesizinda, zama ukugcina umunwe wakho ku-pulse. Kuzwakala kuyinto engasho lutho, yebo, kodwa akuwona wonke umuntu oqinisekisa ukuthi izinsizakalo zikukhiye owodwa. Kodwa ukusebenza ngendinganiso eyodwa kulula kakhulu.

Abasebenzisi ababhalisiwe kuphela abangabamba iqhaza kuhlolovo. Ngena ngemvume, wamukelekile.

Wenzani ngefa lakho?

  • 31.5%Ngibhala kabusha kusukela ekuqaleni, kulungile 12

  • 52.6%Icishe ifane nawe20

  • 10.5%Asinalo ifa, sibakhulu4

  • 5.2%Ngizobhala kuma comments2

Bangu-38 abasebenzisi abavotile. Abasebenzisi abangu-20 bagobile.

Source: www.habr.com

Engeza amazwana