Sabis na gado a cikin kayan aikin ku

Sannu! Sunana Pasha Chernyak, Ni babban mai haɓakawa ne a QIWI, kuma a yau ina so in yi magana game da makawa. Game da Legacy.

Bari mu fara da tambayar: menene sabis na Legacy? Shin sabis na gado sabis ne wanda mai haɓaka bai taɓa taɓawa ba har tsawon mako ɗaya/wata/shekara? Ko kuma sabis ne wanda ƙwararren masani ne ya rubuta shi, misali, ku musamman, amma shekara ɗaya da ta gabata? Kuma yanzu kun kasance masu sanyaya kuma kun ƙware. Ko sabis ɗin Legacy sabis ne da kuka yanke shawarar ba za ku sake yin ba kuma a hankali kuke shirya wanda zai maye gurbinsa? A kowane hali, barin irin wannan sabis ɗin ba tare da kulawa ba kuma ba sabunta shi ba bam ne na lokaci wanda zai iya fashewa daga baya.

Sabis na gado a cikin kayan aikin ku

Kafin ci gaba zuwa yadda mu a QIWI ke aiki tare da ayyukan Legacy ɗinmu, zan gaya muku yadda muka kawo oda zuwa sabis a cikin Wallet. Shekaru biyu yanzu ina da alhakin ayyukanta. Idan akwai wata matsala, koyaushe suna kirana da farko. Yawancin lokaci ba ni da jijiyar kiran wani da karfe 11 na dare, don haka dole ne in zauna in gano duk ayyukan da ke yankinmu.

Amma ni, kamar kowane mutum, ina son yin barci da daddare, don haka na yi ƙoƙari na magance cin zarafi: "Guys, me yasa kuke kirana?" Ga wanda na sami cikakkiyar amsa laconic kamar "Wane kuma?" Domin na gyara ayyuka, kuma mutanen ba su san wanda za su kira ba.

Sabili da haka, a ɗaya daga cikin abubuwan da suka faru na ƙungiyar baya na Wallet, mun yanke shawarar cewa muna buƙatar yin alama tare da jerin ayyukanmu, microservices da wallet monoliths, da waɗanda ke da alhakin su. Alamu gabaɗaya suna da amfani, cikin iyakoki masu ma'ana.

Bugu da ƙari, bayani game da wanda ke da alhakin abin da, akwai amsoshin tambayoyin: wanene ma'aikacin sabis, wanda ke da alhakin ci gabanta, gine-gine da kuma yanayin rayuwa. Mutanen da ke da alhakin wannan sabis ɗin su ne mutanen da za su iya gyara shi idan wani abu ya faru. Mai sabis ɗin yana da haƙƙin barin +2 cikin aikatawa, waɗanda ke da alhakin suma dole su kasance a wurin bita kafin wannan sabis ɗin ya karɓi sabon alkawari.

Yayin da lokaci ya ci gaba, an fara amfani da sababbin ayyuka, misali, ƙaura zuwa Kubernetes, kowane nau'i na checkstyle, spotbugs, ktlint, kasancewar logs a Kibana, autodiscovery ayyuka maimakon kai tsaye ƙayyade adireshi da sauran abubuwa masu amfani. Kuma ko'ina teburinmu ya ba mu damar kula da dacewa da ayyukanmu. A gare mu, wannan wani nau'i ne na bincike wanda ya ce wannan sabis ɗin zai iya yin wannan, amma bai riga ya yi ba. inda aka ƙaddamar da ayyukan taro a cikin TeamCity, yadda ake tura su, inda aka adana tushen gwaje-gwajen end2end, hotuna daga zaman kayan ado game da gine-gine, game da yanke shawara da aka yanke. Da kyau, Ina son duk waɗannan bayanan su kwanta a wani wuri kuma su kasance a hannun lokacin da ake buƙata. Saboda haka, alamarmu ta zama wurin farawa don neman bayanai.

Amma QIWI, kodayake yana riƙe da ruhin farawa, babban kamfani ne. Mun riga mun shekara 12, kuma ƙungiyoyi suna canzawa: mutane suna barin, mutane suna zuwa, an kafa sababbin ƙungiyoyi. Kuma mun gano ayyuka da yawa akan yankin mu da muka gada. Wasu sun fito daga masu haɓakawa daga wasu ƙungiyoyi, wasu kawai suna da alaƙa a kaikaice da Wallet, don haka yanzu muna da sabis akan takardar ma'auni. Fahimtar abin da kuma yadda yake aiki - me yasa? Sabis ɗin yana aiki, kuma muna da fasalulluka na samfur waɗanda tabbas suna buƙatar haɓakawa.

Yadda abin yake faruwa

Amma a wani lokaci a lokaci mun gano cewa sabis ɗin ya daina yin aikinsa, wani abu ya karye - menene za a yi a cikin irin wannan yanayin? Sabis ɗin kawai ya daina aiki. Kwata-kwata. Kuma mun gano wannan, na farko, ta hanyar haɗari, na biyu kuma, bayan watanni shida. Yana faruwa. Abin da kawai muka sani shi ne a kan waɗanne injuna ne za a tura sabis ɗin, inda tushen sa suke, kuma shi ke nan. Muna yin git clone kuma mu nutse cikin tunanin mutumin da ya rubuta wannan ƴan shekarun da suka gabata, amma menene muke gani? Babu wani Boot na bazara wanda ya saba mana, kodayake mun saba da komai, muna da cikakken tari da duk wannan. Wataƙila akwai Tsarin bazara a wurin? Amma a'a.

Mutumin da ya rubuta duk wannan yana da tauri kuma ya rubuta komai a cikin Java mai tsabta. Babu kayan aikin da aka saba don mai haɓakawa, kuma ra'ayi ya taso: muna buƙatar sake rubuta duk wannan. Muna da microservices, kuma daga kowane mai cin abinci ya zo da saba "Guys, microservices shine abin da kuke buƙata!" Idan wani abu ya faru ba zato ba tsammani, zaku iya ɗaukar kowane harshe cikin nutsuwa kuma komai zai yi kyau.

Abun shine yanzu ba mu da abokin ciniki wanda ke da alhakin wannan sabis ɗin. Wadanne bukatu na kasuwanci yake da shi, menene wannan sabis ɗin ya kamata ya yi? Kuma an haɗa sabis ɗin a cikin tsarin kasuwancin ku.

Yanzu gaya mani, yaya sauƙin sake rubuta sabis ba tare da sanin bukatun kasuwancin sa ba? Ba a bayyana yadda ake shigar da sabis ɗin ba; ko akwai ma'auni ba a sani ba. Abin da suke, idan akwai, duk ba a sani ba. Kuma a lokaci guda, sabis ɗin yana ƙunshe da adadi mai yawa na azuzuwan dabarun kasuwanci marasa fahimta. An haɗa wani abu a cikin wani nau'in bayanai, wanda kuma ba mu san komai game da shi ba tukuna.

Ta ina zaka fara?

Daga mafi ma'ana mai ma'ana - samuwan gwaje-gwaje. Yawancin lokaci akwai aƙalla wasu dabaru da aka rubuta a wurin kuma kuna iya yanke hukunci game da abin da ke faruwa. Yanzu TDD na gaye ne, amma mun ga cewa shekaru 5 da suka gabata duk abin da ya kasance kusan iri ɗaya ne kamar yadda yake a yanzu: kusan babu gwajin naúrar, kuma ba za su gaya mana komai ba. To, sai dai watakila wani nau'in tabbaci, yadda wasu xml aka sanya hannu tare da wasu takaddun shaida na al'ada.

Ba mu iya fahimtar komai daga lambar, don haka mun je don ganin abin da ke cikin injin kama-da-wane. Mun buɗe rajistan ayyukan sabis ɗin kuma mun sami kuskuren abokin ciniki na http a cikinsu; takardar shaidar sa hannu da kanta wacce aka saka a cikin albarkatun aikace-aikacen ta lalace mara kunya. Mun tuntubi manazartan mu, sun nemi sabuwar satifiket, sun ba mu ita kuma sabis ɗin yana sake aiki. Da alama hakan ke nan. Ko babu? Bayan haka, sabis ɗin yana aiki, yana yin wasu ayyuka waɗanda kasuwancinmu ke buƙata. Muna da wasu ƙa'idodi don haɓaka aikace-aikacen, waɗanda galibi kuna da su. Misali, kar a ajiye gundumomi a kullin a cikin babban fayil, amma adana su a cikin wani nau'in ma'aji, kamar na roba, kuma ku duba su a Kibana. Hakanan zaka iya tunawa da ma'aunin zinariya. Wato, nauyin da ke kan sabis, adadin buƙatun sabis ɗin, ko yana da rai ko a'a, yadda HealthCheck ɗin sa ke tafiya. Aƙalla, waɗannan ma'auni zasu taimake ka ka san lokacin da za a iya cire shi daga sabis tare da lamiri mai tsabta kuma an manta da shi kamar mafarki mara kyau.

Abin da za ku yi

Sabili da haka, muna ƙara irin wannan tsohuwar sabis ɗin zuwa teburin, sannan mu je neman masu sa kai daga cikin masu haɓakawa waɗanda za su kula da sabis ɗin kuma sanya shi cikin tsari: za su rubuta aƙalla wasu bayanai game da sabis ɗin, ƙara hanyoyin haɗin gwiwa zuwa. dashboards a cikin grafana, zuwa ayyukan taro, kuma ku fahimci yadda Ajiye aikace-aikacen, kar a loda fayiloli da hannu ta amfani da ftp.

Babban abu shine tsawon lokacin da duk wannan aikin sa kai mai fa'ida zai ɗauka? Gudu ɗaya don ƙari ko žasa da ƙwararren mai haɓakawa, misali, yayin bashin fasaha na 20%. Yaya tsawon lokacin da aka ɗauka don fahimtar duk ƙaƙƙarfan dabaru na sadarwa tare da wani tsarin jiha da kawo shi ga sabbin fasahohi? Ba zan iya ba da tabbacin wannan ba, watakila wata ɗaya ko watakila biyu na aikin ƙungiyar. Na faɗi wannan daga ƙwarewar haɗin kai na yanzu tare da sabon sabis.

A lokaci guda, babu sakin darajar kasuwanci. Kwata-kwata. Yana da al'ada don hayar sabis don tallafi kuma ku ɗan ɗan yi amfani da shi. Amma bayan raye-rayen mu na yau da kullun tare da sabis ɗin, mun ƙara shi a kan tebur, mun ƙara bayani game da shi kuma, wataƙila, za mu sake rubuta shi wata rana. Amma yanzu ya cika mizanan hidimarmu.

Sakamakon haka, Ina so in fito da tsari don abin da zan yi da ayyukan Legacy.

Sake rubuta gado daga karce mummunan tunani ne
Da gaske, ba lallai ne ku yi tunani akai ba. A bayyane yake cewa ina son shi, kuma akwai wasu fa'idodi, amma yawanci ba wanda yake buƙatar shi, gami da kanku.

Directory
Tono lambar tushe na aikace-aikacenku, yi littafin tunani wanda zai nuna inda yake da kuma yadda yake aiki, shigar da bayanin aikin a wurin (conditional readme.md) don saurin fahimtar inda logs da awo suke. Mai haɓakawa wanda zai magance wannan bayan ku kawai zai ce na gode.

Fahimtar yankin
Idan kun mallaki yanki, yi ƙoƙarin kiyaye yatsan ku akan bugun bugun jini. Yana sauti maras muhimmanci, eh, amma ba kowa bane ke tabbatar da cewa ayyukan suna cikin maɓalli ɗaya. Amma aiki a cikin ma'auni ɗaya a zahiri yana da sauƙin gaske.

Masu amfani da rajista kawai za su iya shiga cikin binciken. Shigadon Allah.

Me kuke yi da gadonku?

  • 31.5%Ina sake rubutawa daga karce, ya fi daidai 12

  • 52.6%Kusan daidai da ku20

  • 10.5%Ba mu da gado, mun yi girma4

  • 5.2%Zan rubuta a cikin sharhi2

Masu amfani 38 sun kada kuri'a. Masu amfani 20 sun kaurace.

source: www.habr.com

Add a comment