Shin saka idanu ya mutu? - Dogon saka idanu

Shin saka idanu ya mutu? - Dogon saka idanu

Tun 2008, mu kamfanin da aka da farko tsunduma a samar da kayayyakin more rayuwa da kuma zagaye-da-agogon fasaha goyon bayan yanar gizo ayyukan: muna da fiye da 400 abokan ciniki, wanda shi ne game da 15% na Rasha e-ciniki. Dangane da haka, ana tallafawa tsarin gine-gine daban-daban. Idan wani abu ya fado, dole ne mu gyara shi cikin mintuna 15. Amma don fahimtar cewa wani hatsari ya faru, kana buƙatar saka idanu akan aikin kuma amsa abubuwan da suka faru. Yadda za a yi wannan?

Na yi imanin cewa akwai matsala wajen tsara tsarin sa ido mai kyau. Idan ba a sami matsala ba, to maganata za ta ƙunshi jigo ɗaya: "Don Allah a saka Prometheus + Grafana da plugins 1, 2, 3." Abin takaici, ba ya aiki haka kuma. Kuma babbar matsalar ita ce, kowa ya ci gaba da yin imani da wani abu da ya wanzu a shekarar 2008, ta fuskar kayan masarufi.

Game da tsarin tsarin sa ido, zan yi ƙoƙari in faɗi cewa ... ayyukan da ke da ingantaccen sa ido ba su wanzu. Kuma lamarin ya yi muni sosai ta yadda idan wani abu ya faɗo, akwai haɗarin cewa ba za a lura da shi ba - bayan haka, kowa ya tabbata cewa "ana sa ido kan komai."
Wataƙila komai ana sa ido. Amma ta yaya?

Dukanmu mun ci karo da labari kamar haka: wani ma'aikaci, wani admin yana aiki, ƙungiyar ci gaba ta zo wurinsu ta ce - "An sake mu, yanzu saka idanu." Saka idanu me? Ta yaya yake aiki?

KO. Muna lura da tsohuwar hanyar da aka tsara. Kuma ya riga ya canza, kuma ya zama cewa kun kula da sabis na A, wanda ya zama sabis na B, wanda ke hulɗa da sabis na C. Amma ƙungiyar ci gaba ta gaya muku: "Shigar da software, ya kamata ya kula da komai!"

To me ya canza? - Komai ya canza!

2008 Komai yana lafiya

Akwai masu haɓakawa biyu, uwar garken guda ɗaya, uwar garken bayanai guda ɗaya. Daga nan duk ya tafi. Muna da wasu bayanai, mun shigar da zabbix, Nagios, cacti. Sannan muna saita faɗakarwar faɗakarwa akan CPU, akan aikin diski, da sararin diski. Har ila yau, muna yin bincike-biyu na hannu don tabbatar da cewa rukunin yanar gizon ya amsa da kuma cewa umarni sun isa cikin ma'ajin bayanai. Kuma shi ke nan - mun fi ko žasa kariya.

Idan muka kwatanta adadin aikin da mai gudanarwa ya yi a lokacin don samar da kulawa, to, kashi 98% na atomatik ne: wanda ke yin sa ido dole ne ya fahimci yadda za a shigar da Zabbix, yadda za a daidaita shi da kuma saita faɗakarwa. Kuma 2% - don dubawa na waje: cewa rukunin yanar gizon ya amsa kuma ya yi buƙatu zuwa bayanan bayanan, sabbin umarni sun isa.

Shin saka idanu ya mutu? - Dogon saka idanu

2010 Nauyin yana girma

Muna fara haɓaka yanar gizo, ƙara injin bincike. Muna son tabbatar da cewa kas ɗin samfurin ya ƙunshi duk samfuran. Kuma wannan samfurin binciken yana aiki. Cewa ma'ajin bayanai na aiki, ana yin oda, da cewa shafin yana amsawa a waje kuma yana amsawa daga sabar guda biyu kuma ba'a kori mai amfani daga shafin yayin da aka mayar da shi zuwa wani uwar garken, da dai sauransu. Akwai ƙarin ƙungiyoyi.

Haka kuma, mahaɗan da ke da alaƙa da ababen more rayuwa har yanzu sun kasance mafi girma a cikin shugaban manajan. Har yanzu akwai ra'ayi a cikin kaina cewa mai yin sa ido shine wanda zai shigar da zabbix kuma zai iya daidaita shi.

Amma a lokaci guda, aiki yana bayyana akan gudanar da cak na waje, akan ƙirƙirar saitin rubutun tambayoyin bincike, saitin rubutun don bincika cewa binciken ya canza yayin aikin fiddawa, saitin rubutun da ke bincika cewa ana canjawa da kaya zuwa ga sabis na bayarwa, da sauransu. da sauransu.

Shin saka idanu ya mutu? - Dogon saka idanu

Lura: Na rubuta “saitin rubutun” sau 3. Wato wanda ke da alhakin saka idanu ba shine wanda kawai ya sanya zabbix ba. Wannan mutum ne wanda ya fara yin codeing. Amma har yanzu babu abin da ya canza a tunanin kungiyar.

Amma duniya tana canzawa, tana ƙara rikitarwa. Ana ƙara ƙirar ƙira da sabbin tsare-tsare da yawa. Sun fara mu'amala da juna. Wanene ya ce "kamar microservices?" Amma kowane sabis har yanzu yana kama da gidan yanar gizo daban-daban. Za mu iya juya zuwa gare shi kuma mu fahimci cewa yana ba da bayanan da ake bukata kuma yana aiki da kansa. Kuma idan kai mai gudanarwa ne akai-akai da hannu a cikin aikin da aka haɓaka tsawon shekaru 5-7-10, wannan ilimin yana tarawa: sabon matakin ya bayyana - kun gane shi, wani matakin ya bayyana - kun gane shi ...

Shin saka idanu ya mutu? - Dogon saka idanu

Amma da wuya kowa ya bi aikin har tsawon shekaru 10.

Cigaba da mai sa ido

A ce ka zo sabon farawa wanda nan da nan ya dauki hayar masu haɓakawa 20, ya rubuta microservices 15, kuma kai admin ne wanda aka gaya masa: “Gina CI/CD. Don Allah." Kun gina CI / CD kuma ba zato ba tsammani kun ji: "Yana da wahala a gare mu muyi aiki tare da samarwa a cikin "cube", ba tare da fahimtar yadda aikace-aikacen zai yi aiki a ciki ba. Yi mana akwatin yashi a cikin "cube" iri ɗaya.
Kuna yin sandbox a cikin wannan kube. Nan da nan suna gaya maka: "Muna son tsarin bayanai na mataki wanda aka sabunta kowace rana daga samarwa, don mu fahimci cewa yana aiki a kan ma'ajin bayanai, amma a lokaci guda ba ya lalata bayanan samarwa."

Kuna zaune a cikin wannan duka. Akwai saura makonni 2 kafin sakin, suna gaya muku: "Yanzu bari mu saka idanu duk wannan..." Wato. saka idanu kayan aikin tari, saka idanu akan gine-ginen microservice, saka idanu aiki tare da sabis na waje...

Kuma abokan aiki na sun cire makircin da aka saba daga kawunansu kuma suna cewa: "To, komai ya bayyana a nan! Shigar da wani shirin da zai sa ido kan duk wannan." Ee, i: Prometheus + Grafana + plugins.
Kuma sun kara da cewa: "Kuna da makonni biyu, tabbatar da cewa komai yana cikin tsaro."

A cikin ayyuka da yawa da muke gani, ana ware mutum ɗaya don saka idanu. Ka yi tunanin cewa muna so a dauki mutum ya yi aikin kulawa na tsawon makonni 2, kuma mu rubuta masa takardar ci gaba. Wace fasaha ya kamata wannan mutumin ya kasance, idan aka yi la'akari da duk abin da muka fada zuwa yanzu?

  • Dole ne ya fahimci kulawa da ƙayyadaddun ayyukan kayan aikin ƙarfe.
  • Dole ne ya fahimci ƙayyadaddun abubuwan saka idanu Kubernetes (kuma kowa yana so ya je "cube", saboda zaku iya ɓoyewa daga komai, ɓoye, saboda admin zai magance sauran) - kanta, kayan aikinta, da fahimtar yadda ake saka idanu aikace-aikace. ciki.
  • Dole ne ya fahimci cewa ayyuka suna sadarwa da juna ta hanyoyi na musamman, kuma ya san takamaiman yadda sabis ke hulɗa da juna. Yana da wuya a ga aikin inda wasu ayyuka ke sadarwa tare da juna, saboda babu wata hanya. Misali, baya yana tafiya ta REST, ta gRPC zuwa sabis na kasida, yana karɓar jerin samfuran kuma ya mayar da shi. Ba za ku iya jira a nan ba. Kuma tare da sauran ayyuka yana aiki asynchronously. Canja wurin oda zuwa sabis na isarwa, aika wasiƙa, da sauransu.
    Wataƙila kun riga kun yi iyo daga duk wannan? Kuma admin, wanda yake buƙatar sa ido akan hakan, ya ƙara rikicewa.
  • Dole ne ya iya tsarawa da tsarawa daidai - yayin da aikin ke ƙaruwa.
  • Don haka dole ne ya ƙirƙira dabara daga sabis ɗin da aka ƙirƙira don fahimtar yadda ake saka idanu ta musamman. Yana buƙatar fahimtar gine-ginen aikin da haɓakarsa + fahimtar fasahar da ake amfani da su wajen haɓakawa.

Bari mu tuna da wani al'amari na al'ada: wasu ayyuka suna cikin PHP, wasu ayyuka suna cikin Go, wasu ayyuka suna cikin JS. Ko ta yaya suke aiki da juna. Wannan shine inda kalmar "microservice" ta fito daga: akwai tsarin daidaikun mutane da yawa waɗanda masu haɓakawa ba za su iya fahimtar aikin gaba ɗaya ba. Wani ɓangare na ƙungiyar yana rubuta ayyuka a JS waɗanda ke aiki da kansu kuma ba su san yadda sauran tsarin ke aiki ba. Ɗayan ɓangaren yana rubuta ayyuka a cikin Python kuma baya tsoma baki tare da yadda wasu ayyuka ke aiki; suna keɓe a yankin su. Na uku shine rubuta sabis a cikin PHP ko wani abu dabam.
Duk waɗannan mutane 20 an raba su zuwa sabis 15, kuma akwai admin guda ɗaya wanda dole ne ya fahimci duk wannan. Tsaya! kawai mun raba tsarin zuwa microservices 15 saboda mutane 20 ba za su iya fahimtar tsarin gaba ɗaya ba.

Amma yana bukatar a sa ido ko ta yaya...

Menene sakamakon? A sakamakon haka, akwai wani mutum wanda ya shiga cikin kansa duk abin da dukan tawagar na developers ba za su iya fahimta, kuma a lokaci guda dole ne ya sani kuma ya iya yin abin da muka nuna a sama - hardware kayayyakin more rayuwa, Kubernetes kayayyakin more rayuwa, da dai sauransu.

Me zan iya cewa ... Houston, muna da matsaloli.

Kula da aikin software na zamani aikin software ne a cikin kansa

Daga gaskatawar ƙarya cewa saka idanu software ce, muna haɓaka imani ga al'ajibai. Amma mu'ujizai, kash, ba sa faruwa. Ba za ku iya shigar da zabbix ba kuma ku yi tsammanin komai zai yi aiki. Babu ma'ana a shigar da Grafana da fatan komai zai yi kyau. Yawancin lokaci za a yi amfani da shi don tsara duba ayyukan ayyuka da hulɗar su da juna, duba yadda tsarin waje ke aiki. A zahiri, kashi 90% na lokacin ba za a kashe su ba akan rubutun rubutun ba, amma akan haɓaka software. Kuma ya kamata a kula da shi ta hanyar ƙungiyar da ta fahimci aikin aikin.
Idan a cikin wannan yanayin an jefa mutum ɗaya cikin sa ido, to bala'i zai faru. Abin da ke faruwa a ko'ina.

Misali, akwai ayyuka da yawa waɗanda ke sadarwa da juna ta hanyar Kafka. Umarni ya iso, mun aika da sako game da odar zuwa Kafka. Akwai sabis ɗin da ke sauraron bayanai game da tsari da jigilar kaya. Akwai sabis ɗin da ke sauraron bayanai game da tsari kuma yana aika wasiƙa ga mai amfani. Kuma sai gungun ƙarin ayyuka sun bayyana, kuma mun fara ruɗewa.

Kuma idan kun ba da wannan ga admin da masu haɓakawa a matakin lokacin da ya rage ɗan lokaci kaɗan kafin sakin, mutum zai buƙaci fahimtar wannan duka ƙa'idar. Wadancan. Ayyukan wannan sikelin yana ɗaukar lokaci mai mahimmanci, kuma wannan ya kamata a sanya shi cikin ci gaban tsarin.
Amma sau da yawa, musamman a cikin farawa, muna ganin yadda ake jinkirta sa ido har sai daga baya. "Yanzu za mu yi Hujja ta Ra'ayi, za mu kaddamar da shi, bari ta fadi - a shirye muke mu sadaukar. Sannan za mu sanya ido a kai duka.” Lokacin (ko idan) aikin ya fara kawo kuɗi, kasuwancin yana so ya ƙara ƙarin fasali - saboda ya fara aiki, wanda ke nufin yana buƙatar ƙarawa! Kuma kun kasance a lokacin da kuka fara buƙatar saka idanu duk abin da ya gabata, wanda bai ɗauki 1% na lokaci ba, amma ƙari. Kuma ta hanyar, za a buƙaci masu haɓakawa don saka idanu, kuma yana da sauƙi a bar su suyi aiki akan sababbin abubuwa. Sakamakon haka, an rubuta sabbin abubuwa, komai ya lalace, kuma kuna cikin matsi mara iyaka.

Don haka yadda za a saka idanu akan aikin da aka fara daga farko, kuma menene za ku yi idan kun sami aikin da ke buƙatar kulawa, amma ba ku san inda za ku fara ba?

Da farko, kuna buƙatar shiryawa.

Digression Lyrical: sau da yawa suna farawa da saka idanu akan abubuwan more rayuwa. Misali, muna da Kubernetes. Bari mu fara da shigar da Prometheus tare da Grafana, shigar da plugins don saka idanu akan “cube”. Ba kawai masu haɓakawa ba, har ma masu gudanarwa suna da aikin rashin tausayi na: "Za mu shigar da wannan plugin ɗin, amma mai yiwuwa plugin ɗin ya san yadda ake yin shi." Mutane suna son farawa da sauƙi da sauƙi, maimakon tare da ayyuka masu mahimmanci. Kuma lura da ababen more rayuwa abu ne mai sauki.

Da farko, yanke shawarar abin da kuma yadda kuke son saka idanu, sannan zaɓi kayan aiki, saboda wasu mutane ba za su iya tunanin ku ba. Kuma ya kamata su? Wasu mutane sun yi tunanin kansu, game da tsarin duniya - ko ba su yi tunani ba a lokacin da aka rubuta wannan plugin. Kuma kawai saboda wannan plugin yana da masu amfani da dubu 5 ba yana nufin cewa yana da wani amfani ba. Wataƙila za ku zama na 5001 don kawai akwai mutane 5000 a can da.

Idan ka fara sa ido kan abubuwan more rayuwa kuma ƙarshen aikace-aikacenka ya daina amsawa, duk masu amfani za su rasa haɗin kai da aikace-aikacen wayar hannu. Kuskure zai bayyana. Za su zo wurin ku su ce "Application ɗin baya aiki, me kuke yi a nan?" - "Muna saka idanu." - "Yaya kuke saka idanu idan baku ga cewa aikace-aikacen ba ya aiki?!"

  1. Na yi imani cewa kana buƙatar fara saka idanu daidai daga wurin shigarwar mai amfani. Idan mai amfani bai ga cewa aikace-aikacen yana aiki ba, shi ke nan, gazawa ne. Kuma tsarin sa ido yakamata yayi gargadi game da wannan da farko.
  2. Sannan ne kawai za mu iya sanya ido kan abubuwan more rayuwa. Ko kuma yi shi a layi daya. Ya fi sauƙi tare da abubuwan more rayuwa - anan za mu iya ƙarshe kawai shigar da zabbix.
  3. Kuma yanzu kuna buƙatar zuwa tushen aikace-aikacen don fahimtar inda abubuwa ba su aiki.

Babban ra'ayi na shi ne cewa saka idanu ya kamata ya tafi daidai da tsarin ci gaba. Idan ka shagala da ƙungiyar sa ido don wasu ayyuka (ƙirƙirar CI/CD, sandboxing, sake tsara kayan more rayuwa), sa ido zai fara raguwa kuma ba za ka taɓa samun ci gaba ba (ko ba dade ko ba dade za ka dakatar da shi).

Komai ta matakan

Wannan shine yadda nake ganin tsarin tsarin sa ido.

1) Matsayin aikace-aikacen:

  • saka idanu aikace-aikace dabaru kasuwanci;
  • saka idanu ma'aunin sabis na kiwon lafiya;
  • saka idanu hadewa.

2) Matsayin kayan more rayuwa:

  • saka idanu matakin ƙungiyar makaɗa;
  • saka idanu software na tsarin;
  • ƙarfe matakin saka idanu.

3) Sake matakin aikace-aikacen - amma azaman samfurin injiniya:

  • tattarawa da sa ido kan rajistan ayyukan aikace-aikacen;
  • APM;
  • ganowa.

4) Fadakarwa:

  • tsarin tsarin gargadi;
  • tsara tsarin aiki;
  • tsarin "tushen ilimi" da aikin aiki don sarrafa abin da ya faru.

Muhimmanci: muna samun faɗakarwa ba bayan ba, amma nan da nan! Babu buƙatar ƙaddamar da saka idanu kuma "ko ta yaya daga baya" gano wanda zai karɓi faɗakarwa. Bayan haka, menene aikin sa ido: fahimtar inda a cikin tsarin wani abu ke aiki ba daidai ba, kuma don sanar da mutanen da suka dace game da shi. Idan kun bar wannan har zuwa ƙarshe, to mutanen da suka dace za su san cewa wani abu yana faruwa ba daidai ba ne kawai ta hanyar kiran "babu abin da ke aiki a gare mu."

Layer Application - Kula da Dabarun Kasuwanci

Anan muna magana ne game da bincika ainihin gaskiyar cewa aikace-aikacen yana aiki ga mai amfani.

Ya kamata a yi wannan matakin yayin lokacin ci gaba. Alal misali, muna da Prometheus na sharadi: yana zuwa uwar garken da ke yin cak, ya ja ƙarshen ƙarshen, kuma ƙarshen ya tafi yana duba API.

Lokacin da aka nemi sau da yawa don saka idanu kan shafin gida don tabbatar da cewa rukunin yanar gizon yana aiki, masu shirye-shirye suna ba da hannu wanda za a iya ja duk lokacin da suke buƙatar tabbatar da cewa API ɗin yana aiki. Kuma masu shirye-shirye a wannan lokacin har yanzu suna rubuta /api/test/helloworld
Hanya daya tilo don tabbatar da cewa komai yana aiki? - A'a!

  • Ƙirƙirar irin waɗannan cak ɗin shine ainihin aikin masu haɓakawa. Masu shirye-shiryen da suka rubuta lambar ya kamata su rubuta gwajin raka'a. Domin idan ka watsar da shi ga mai gudanarwa, "Dude, ga jerin ka'idojin API don duk ayyuka 25, da fatan za a saka idanu akan komai!" - babu abin da zai yi aiki.
  • Idan kun buga "sannu duniya", babu wanda zai taɓa sanin cewa API ɗin yakamata kuma yayi aiki. Kowane canjin API dole ne ya haifar da canjin cak.
  • Idan kun riga kun sami irin wannan matsala, dakatar da fasalulluka kuma ware masu haɓakawa waɗanda za su rubuta waɗannan cak, ko karɓar asarar, yarda cewa babu abin da aka bincika kuma zai gaza.

Nasihun Fasaha:

  • Tabbatar shirya uwar garken waje don tsara cak - dole ne ku tabbata cewa aikinku yana da damar zuwa duniyar waje.
  • Tsara cak a cikin dukkan ka'idar API, ba kawai wuraren ƙarshen mutum ba.
  • Ƙirƙiri maƙasudin ƙarshen-prometheus tare da sakamakon gwaji.

Layer na aikace-aikacen - kula da ma'aunin lafiya

Yanzu muna magana ne game da ma'aunin sabis na kiwon lafiya na waje.

Mun yanke shawarar cewa mu saka idanu duk "hannun" na aikace-aikacen ta amfani da dubawa na waje, wanda muke kira daga tsarin kulawa na waje. Amma waɗannan su ne "hannu" waɗanda mai amfani "gani". Muna so mu tabbata cewa ayyukanmu da kansu suna aiki. Akwai mafi kyawun labari a nan: K8s yana da duba lafiyar lafiya, ta yadda aƙalla "cube" kanta za ta iya tabbata cewa sabis ɗin yana aiki. Amma rabin cak ɗin da na gani bugu ɗaya ne “sannu duniya”. Wadancan. Don haka ya ja da baya sau ɗaya bayan tura shi, ya amsa cewa komai yana da kyau - shi ke nan. Kuma sabis ɗin, idan yana samar da API ɗinsa, yana da adadi mai yawa na shigarwar API guda ɗaya, wanda kuma yana buƙatar kulawa, saboda muna son sanin cewa yana aiki. Kuma mun riga mun sanya ido a ciki.

Yadda ake aiwatar da wannan daidai da fasaha: kowane sabis yana fallasa ƙarshen ƙarshen aikinsa na yanzu, kuma a cikin jadawali na Grafana (ko kowane aikace-aikacen) muna ganin matsayin duk sabis.

  • Kowane canjin API dole ne ya haifar da canjin cak.
  • Ƙirƙiri sabon sabis nan da nan tare da ma'aunin lafiya.
  • Wani mai gudanarwa na iya zuwa wurin masu haɓakawa ya tambaye ni "Ƙara mini abubuwa biyu don in fahimci komai kuma in ƙara bayani game da wannan a cikin tsarin sa ido na." Amma masu haɓakawa yawanci suna amsawa, "Ba za mu ƙara wani abu ba makonni biyu kafin sakin."
    A sanar da manajojin ci gaba cewa za a samu irin wannan asara, su ma su sanar da masu gudanar da ayyukan raya kasa. Domin lokacin da komai ya faɗi, wani zai yi kira kuma ya buƙaci saka idanu akan “sabis ɗin faɗuwa koyaushe” (c)
  • Af, ware masu haɓakawa don rubuta plugins don Grafana - wannan zai zama kyakkyawan taimako ga admins.

Layer Application - Kula da Haɗin kai

Sa ido kan haɗin kai yana mai da hankali kan sa ido kan sadarwa tsakanin tsarin kasuwanci-mafi mahimmanci.

Misali, akwai ayyuka 15 da ke sadarwa da juna. Waɗannan ba wasu rukunin yanar gizo ba ne. Wadancan. ba za mu iya cire sabis ɗin da kan sa ba, samun / helloworld kuma mu fahimci cewa sabis ɗin yana gudana. Domin sabis na gidan yanar gizon dole ne ya aika bayanai game da odar zuwa bas - daga bas, sabis ɗin sito dole ne ya karɓi wannan saƙon kuma yayi aiki da shi gaba. Kuma sabis ɗin rarraba imel dole ne ya aiwatar da wannan ko ta yaya, da sauransu.

Saboda haka, ba za mu iya gane, yin poking a kowane mutum sabis, cewa duk yana aiki. Domin muna da wata motar bas wacce komai ke mu’amala da ita ta hanyarsa.
Don haka, wannan matakin yakamata ya zama alamar matakin sabis na gwaji don hulɗa tare da wasu ayyuka. Ba shi yiwuwa a tsara sa ido kan sadarwa ta hanyar sa ido kan dillalin saƙo. Idan akwai sabis ɗin da ke ba da bayanai da sabis ɗin da ke karɓar su, lokacin sa ido kan dillalan za mu ga bayanan da ke tashi daga gefe zuwa gefe. Ko da ko ta yaya muka sami damar lura da hulɗar wannan bayanan a cikin gida - cewa wani furodusa ya buga bayanan, wani ya karanta, wannan kwararar ta ci gaba da zuwa Kafka - wannan har yanzu ba zai ba mu bayani ba idan sabis ɗaya ya aiko da saƙon a cikin sigar ɗaya. , amma ɗayan sabis ɗin bai yi tsammanin wannan sigar ba kuma ya tsallake shi. Ba za mu sani game da wannan ba, tun da sabis ɗin za su gaya mana cewa komai yana aiki.

Abin da na ba da shawarar yin:

  • Don sadarwar aiki tare: ƙarshen ƙarshen yana yin buƙatun zuwa sabis masu alaƙa. Wadancan. mun ɗauki wannan ƙarshen ƙarshen, ja rubutun a cikin sabis ɗin, wanda ke zuwa duk wuraren kuma ya ce "Zan iya ja can, in ja can, zan iya ja can..."
  • Don sadarwar asynchronous: saƙonni masu shigowa - wurin ƙarshe yana bincika bas ɗin don saƙon gwaji kuma yana nuna matsayin sarrafawa.
  • Don sadarwar asynchronous: saƙonni masu fita - wurin ƙarshe yana aika saƙon gwaji zuwa bas.

Kamar yadda ya saba faruwa: muna da sabis wanda ke jefa bayanai cikin bas. Mun zo wannan sabis ɗin kuma muna neman ku gaya mana game da lafiyar haɗin gwiwa. Kuma idan sabis ɗin yana buƙatar samar da sako a wani wuri gaba (WebApp), to zai samar da wannan saƙon gwaji. Kuma idan muka gudanar da wani sabis a kan OrderProcessing gefen, da farko ya sanya abin da zai iya aikawa mai zaman kansa, kuma idan akwai wasu abubuwan da suka dogara da su, to sai ta karanta saƙon gwaji daga bas ɗin, ya fahimci cewa yana iya sarrafa su, bayar da rahoto kuma , idan ya cancanta, aika su kara, kuma game da wannan ya ce - duk abin da yake lafiya, Ina da rai.

Sau da yawa muna jin tambayar "ta yaya za mu iya gwada wannan akan bayanan yaƙi?" Misali, muna magana ne game da sabis ɗin oda iri ɗaya. Umurnin yana aika saƙonni zuwa ɗakin ajiya inda aka rubuta kayan: ba za mu iya gwada wannan akan bayanan yaƙi ba, saboda "za a rubuta kayana!" Magani: Shirya wannan duka gwajin tun da farko. Hakanan kuna da gwaje-gwajen naúrar waɗanda ke yin izgili. Don haka, yi shi a matakin zurfi inda kuke da tashar sadarwa wacce ba ta cutar da aikin kasuwanci ba.

Matsayin kayan more rayuwa

Sa ido kan ababen more rayuwa wani abu ne da aka dade ana daukar sa ido kan kansa.

  • Sa ido kan ababen more rayuwa na iya kuma yakamata a kaddamar da shi azaman tsari na daban.
  • Bai kamata ku fara da saka idanu akan kayan aikin ba, koda kuwa kuna son gaske. Wannan yana da zafi ga duk deps. "Na farko zan sa ido kan gungu, zan kula da abubuwan more rayuwa" - watau. Na farko, zai saka idanu akan abin da ke ƙasa, amma ba zai shiga cikin aikace-aikacen ba. Domin aikace-aikacen abu ne da ba za a iya fahimta ba ga deps. An leka masa, kuma bai fahimci yadda yake aiki ba. Kuma ya fahimci abubuwan more rayuwa kuma ya fara da su. Amma a'a - koyaushe kuna buƙatar sa ido kan aikace-aikacen farko.
  • Kar a wuce gona da iri tare da adadin faɗakarwa. Idan aka yi la'akari da rikitattun tsarin zamani, faɗakarwa suna ta tashi a koyaushe, kuma dole ne ku rayu tare da wannan tarin faɗakarwa. Kuma wanda ya kira, bayan ya kalli ɗari na faɗakarwa na gaba, zai yanke shawarar "Ba na son yin tunani game da shi." Fadakarwa ya kamata kawai sanar da abubuwa masu mahimmanci.

Matsayin aikace-aikacen azaman sashin kasuwanci

Mabuɗin mahimmanci:

  • ELK. Wannan shine ma'aunin masana'antu. Idan saboda wasu dalilai ba ku tara rajistan ayyukan, fara yin haka nan da nan.
  • APM. APMs na waje azaman hanyar rufe aikace-aikacen da sauri (NewRelic, BlackFire, Datadog). Kuna iya shigar da wannan abu na ɗan lokaci don aƙalla fahimtar abin da ke faruwa tare da ku.
  • Bibiya. A cikin da yawa na microservices, dole ne ku gano komai, saboda buƙatar ba ta rayuwa da kanta. Yana da matukar wahala a ƙara daga baya, don haka yana da kyau a tsara jadawalin ganowa nan da nan a cikin ci gaba - wannan shine aikin da amfanin masu haɓakawa. Idan ba ku aiwatar da shi ba tukuna, aiwatar da shi! Duba Jaeger/Zipkin

Fadakarwa

  • Tsarin tsarin sanarwa: a cikin yanayin sa ido kan tarin abubuwa, yakamata a sami tsarin haɗin kai don aika sanarwa. Za ku iya a Grafana. A Yamma, kowa yana amfani da PagerDuty. Ya kamata faɗakarwa ta kasance a sarari (misali daga ina suka fito...). Kuma yana da kyau a sarrafa cewa ana karɓar sanarwar kwata-kwata
  • Tsarin tsarin aiki: bai kamata a aika da faɗakarwa ga kowa ba (ko dai kowa zai amsa cikin taron jama'a, ko kuma babu wanda zai amsa). Masu haɓakawa kuma suna buƙatar yin kira: tabbatar da ayyana wuraren alhakin, bayyana takamaiman umarni kuma a rubuta a ciki wanda zai kira daidai ranar Litinin da Laraba, da wanda za su kira Talata da Juma'a (in ba haka ba ba za su kira kowa ba ko da a cikin aukuwar babbar matsala - za su ji tsoron tayar da ku ko su dame ku: gabaɗaya mutane ba sa son kira da tada wasu mutane, musamman da dare). Kuma bayyana cewa neman taimako ba alama ce ta rashin cancanta ba ("Ina neman taimako, wannan yana nufin ni mugun ma'aikaci ne"), ƙarfafa buƙatun neman taimako.
  • Ƙungiya na "tushen ilimi" da aikin aiki don sarrafa abin da ya faru: ga kowane lamari mai tsanani, ya kamata a tsara tsarin mutuwar mutum, kuma a matsayin ma'auni na wucin gadi, ayyukan da za su warware lamarin ya kamata a rubuta. Kuma ku sanya shi ya zama al'ada cewa maimaita faɗakarwa zunubi ne; suna buƙatar gyarawa a cikin lambar ko aikin kayan more rayuwa.

Tarin fasaha

Bari mu yi tunanin cewa tarin mu kamar haka:

  • tattara bayanai - Prometheus + Grafana;
  • nazarin log - ELK;
  • don APM ko Tracing - Jaeger (Zipkin).

Shin saka idanu ya mutu? - Dogon saka idanu

Zaɓin zaɓin ba shi da mahimmanci. Domin idan a farkon kun fahimci yadda ake saka idanu akan tsarin kuma ku rubuta tsari, to kun fara zabar kayan aikin da zasu dace da bukatunku. Tambayar ita ce me kuka zaɓi don saka idanu tun farko. Domin watakila kayan aikin da kuka zaɓa a farkon bai dace da bukatunku ba kwata-kwata.

Abubuwan fasaha kaɗan waɗanda nake gani a ko'ina kwanan nan:

Ana tura Prometheus a cikin Kubernetes - wanene ya fito da wannan?! Idan tarin ku ya yi karo, me za ku yi? Idan kuna da hadadden cluster a ciki, to ya kamata a sami wani nau'in tsarin kulawa a cikin cluster, wasu kuma a waje, wanda zai tattara bayanai daga cikin gungu.

A cikin gungu muna tattara katako da komai. Amma tsarin kulawa dole ne ya kasance a waje. Sau da yawa, a cikin gungu inda akwai Promtheus da aka shigar a ciki, akwai kuma tsarin da ke yin bincike na waje na aikin shafin. Idan haɗin ku da duniyar waje ya faɗi kuma aikace-aikacen ba ya aiki fa? Ya juya cewa komai yana da kyau a ciki, amma ba ya sauƙaƙa abubuwa ga masu amfani.

binciken

  • Ci gaban sa ido ba shine shigar da kayan aiki ba, amma haɓaka samfurin software. 98% na sa ido na yau shine coding. Yin codeing a cikin ayyuka, yin coding cak na waje, duba ayyukan waje, kuma shi ke nan.
  • Kada ku ɓata lokacin masu haɓaka ku akan sa ido: yana iya ɗaukar kusan kashi 30% na aikinsu, amma yana da daraja.
  • Devops, kada ku damu cewa ba za ku iya saka idanu kan wani abu ba, saboda wasu abubuwa wata hanya ce ta tunani gaba ɗaya. Ba ku kasance masu tsara shirye-shirye ba, kuma aikin sa ido shine ainihin aikinsu.
  • Idan aikin ya riga ya gudana kuma ba a kula da shi ba (kuma kai mai sarrafa ne), ware albarkatun don saka idanu.
  • Idan samfurin ya riga ya kasance a cikin samarwa, kuma kai mai ba da shawara ne wanda aka gaya wa "sa idanu" - yi ƙoƙarin bayyana wa masu gudanarwa abin da na rubuta duk wannan game da.

Wannan ƙarin sigar rahoton ne a taron Saint Highload++.

Idan kuna sha'awar ra'ayi da tunani na game da shi da batutuwa masu alaƙa, to a nan za ku iya karanta tashar 🙂

source: www.habr.com

Add a comment