Nlebanya anwụọla? - Ogologo ndụ nlekota oru

Nlebanya anwụọla? - Ogologo ndụ nlekota oru

Kemgbe 2008, ụlọ ọrụ anyị na-etinye aka na njikwa akụrụngwa na nkwado teknụzụ oge niile maka ọrụ weebụ: anyị nwere karịa ndị ahịa 400, nke bụ ihe dịka 15% nke e-azụmahịa Russia. N'ihi ya, a na-akwado ụkpụrụ ụlọ dị iche iche. Ọ bụrụ na ihe daa, anyị kwesịrị idozi ya n'ime nkeji iri na ise. Ma iji ghọta na ihe mberede mere, ịkwesịrị nyochaa ọrụ ahụ ma zaghachi ihe omume. Kedu ka esi eme nke a?

Ekwenyere m na enwere nsogbu n'ịhazi usoro nlekota nke ọma. Ọ bụrụ na enweghị nsogbu, mgbe ahụ okwu m ga-enwe otu edemede: "Biko tinye Prometheus + Grafana na plugins 1, 2, 3." N'ụzọ dị mwute, ọ naghị arụkwa ọrụ otu ahụ ọzọ. Na isi nsogbu bụ na onye ọ bụla nọgidere na-ekwere na ihe dị na 2008, n'ihe banyere software components.

Banyere nhazi nke usoro nlekota oru, m ga-agbali ikwu na ... oru na nlekota oru nlekota oru adighi adi. Ọnọdụ ahụ dịkwa njọ nke na ọ bụrụ na ihe daa, enwere ihe ize ndụ na ọ ga-aga n'ihu - ka emechara, onye ọ bụla ji n'aka na "a na-enyocha ihe niile."
Ikekwe a na-enyocha ihe niile. Ma olee otú?

Anyị niile ahụla akụkọ dị ka ndị a: ụfọdụ devops, otu admin na-arụ ọrụ, otu mmepe na-abịakwute ha wee sị - "a tọhapụrụ anyị, ugbu a nyochaa." Nyochaa ihe? Kedu ka o si arụ ọrụ?

Ọ DỊ MMA. Anyị na-enyocha ụzọ ochie. Ma ọ na-agbanwe ugbu a, ma ọ bụrụ na ị na-enyocha ọrụ A, nke ghọrọ ọrụ B, nke na-emekọ ihe na ọrụ C. Ma ndị mmepe ahụ na-agwa gị, sị: "Wụnye ngwanrọ ahụ, ọ kwesịrị nyochaa ihe niile!"

Ya mere, gịnị gbanwere? - Ihe niile agbanweela!

2008 Ihe niile dị mma

Enwere di na nwunye nke mmepe, otu nkesa, otu nchekwa data nkesa. Ihe niile na-aga ebe a. Anyị nwere ụfọdụ ozi, anyị wụnye zabbix, Nagios, cacti. Ma mgbe ahụ, anyị na-edobe ọkwa doro anya na CPU, na ọrụ diski, yana na oghere diski. Anyị na-eme nlele akwụkwọ ntuziaka ole na ole iji hụ na saịtị ahụ zara yana na iwu na-abata na nchekwa data. Ma nke ahụ bụ - a na-echebe anyị karịa ma ọ bụ karịa.

Ọ bụrụ na anyị atụnyere ọnụọgụ ọrụ nke onye nchịkwa mere mgbe ahụ iji nye nlekota oru, mgbe ahụ, 98% nke ya bụ akpaka: onye na-eme nlekota ga-aghọta otú e si etinye Zabbix, otu esi ahazi ya na ịhazi ọkwa. Na 2% - maka nlele mpụga: na saịtị ahụ na-aza ma na-arịọ arịrịọ maka nchekwa data, na iwu ọhụrụ erutela.

Nlebanya anwụọla? - Ogologo ndụ nlekota oru

2010 Ibu na-eto eto

Anyị na-amalite itolite webụ, na-agbakwunye igwe nchọta. Anyị chọrọ ijide n'aka na katalọgụ ngwaahịa nwere ngwaahịa niile. Na ngwaahịa ọchụchọ na-arụ ọrụ. Na nchekwa data na-arụ ọrụ, na a na-enye iwu, na saịtị ahụ na-azaghachi na mpụga ma zaghachi site na sava abụọ na onye ọrụ anaghị achụpụ na saịtị ahụ ka ọ na-emegharị ya na ihe nkesa ọzọ, wdg. Enwere ụlọ ọrụ ndị ọzọ.

Ọzọkwa, ụlọ ọrụ jikọtara ya na akụrụngwa ka na-anọgide na-abụ nke kachasị na isi njikwa. A ka nwere echiche n'isi m na onye na-eme nlekota bụ onye ga-etinye zabbix ma nwee ike ịhazi ya.

Ma n'otu oge ahụ, ọrụ na-egosi na ị na-eduzi nyocha ndị dị n'èzí, na ịmepụta nhazi nke ederede ajụjụ nyocha indexer, otu ederede iji chọpụta na ọchụchọ ahụ na-agbanwe n'oge usoro ntinye aha, otu edemede nke na-achọpụta na ebufe ngwa ahịa na . ọrụ nnyefe, wdg. were gabazie.

Nlebanya anwụọla? - Ogologo ndụ nlekota oru

Mara: Edere m “usoro edemede” ugboro atọ. Ya bụ, onye na-ahụ maka nleba anya abụghịzi onye na-etinye zabbix. Nke a bụ onye na-amalite koodu. Mana ọ nweghị ihe gbanwere n'uche otu ahụ.

Ma ụwa na-agbanwe, na-aghọwanye mgbagwoju anya. A na-agbakwunye akwa oyi akwa na ọtụtụ sistemụ ọhụrụ. Ha na-amalite imekọ ihe ọnụ. Onye kwuru "na-esi ka microservices?" Mana ọrụ ọ bụla ka na-adị ka webụsaịtị n'otu n'otu. Anyị nwere ike ịtụgharị ya ma ghọta na ọ na-enye ozi dị mkpa ma na-arụ ọrụ n'onwe ya. Ma ọ bụrụ na ị bụ onye nchịkwa mgbe niile na-etinye aka na ọrụ nke na-emepe emepe maka afọ 5-7-10, ihe ọmụma a na-agbakọta: ọkwa ọhụrụ pụtara - ị ghọtara ya, ọkwa ọzọ pụtara - ị ghọtara ya ...

Nlebanya anwụọla? - Ogologo ndụ nlekota oru

Mana ọ naghị esiri ike onye ọ bụla na-eso ọrụ maka afọ 10.

malitegharịa onye nlekota oru

Ka e were ya na ị bịara na mmalite ọhụrụ nke goro ndị mmepe 20 ozugbo, dee 15 microservices, ma ị bụ onye nchịkwa nke a gwara ya: “Mee CI/CD. Biko." Ị wuru CI / CD na mberede ị nụrụ: "Ọ na-esiri anyị ike ịrụ ọrụ na mmepụta na "cube", na-aghọtaghị otú ngwa ahụ ga-esi arụ ọrụ na ya. Mee anyị igbe ájá n'otu "cube".
Ị na-eme igbe ájá na cube a. Ha na-agwa gị ozugbo: "Anyị chọrọ nchekwa data ogbo nke a na-emelite kwa ụbọchị site na mmepụta, ka anyị wee ghọta na ọ na-arụ ọrụ na nchekwa data, mana n'otu oge ahụ adịghị emebi nchekwa data mmepụta."

Ị na-ebi n'ime ihe a niile. Enwere izu 2 tupu ntọhapụ, ha na-agwa gị: "Ugbu a, ka anyị nyochaa ihe a niile..." Ya bụ. nyochaa akụrụngwa ụyọkọ, nyochaa ụlọ ọrụ microservice, nyochaa ọrụ na ọrụ mpụga...

Ndị ọrụ ibe m na-ewepụ atụmatụ a na-emebu n'isi ha wee sị: "Ọfọn, ihe niile doro anya ebe a! Wụnye mmemme ga-enyocha ihe a niile.” Ee, ee: Prometheus + Grafana + plugins.
Ha gbakwụnyere: "Ị nwere izu abụọ, hụ na ihe niile echekwabara."

N'ọtụtụ ọrụ anyị na-ahụ, a na-ekenye otu onye maka nlekota. Were ya na anyị chọrọ iku onye na-eme nlekota oru maka 2 izu, na anyị na-edere a malitegharịa ya. Kedu nkà onye a kwesịrị inwe, n'ihi ihe niile anyị kwuru ugbu a?

  • Ọ ghaghị ịghọta nlekota na nkọwa nke ọrụ nke akụrụngwa ígwè.
  • Ọ ghaghị ịghọta nkọwa nke nlekota Kubernetes (na onye ọ bụla chọrọ ịga na "cube", n'ihi na ị nwere ike ịkọwapụta ihe niile, zoo, n'ihi na onye nchịkwa ga-emeso ndị ọzọ) - onwe ya, akụrụngwa ya, ma ghọta otú e si enyocha ngwa. n'ime.
  • Ọ ga-aghọta na ọrụ na-ekwurịta okwu na onye ọ bụla ọzọ na ụzọ pụrụ iche, na mara kpọmkwem otú ọrụ na-emekọ ihe na ibe. Ọ ga-ekwe omume ịhụ oru ngo ebe ụfọdụ ọrụ na-ekwurịta okwu synchronously, n'ihi na ọ dịghị ụzọ ọzọ. Dịka ọmụmaatụ, azụ azụ na-aga site na REST, site na gRPC gaa na ọrụ katalọgụ, na-anata ndepụta ngwaahịa wee weghachi ya azụ. Ị nweghị ike ichere ebe a. Na ọrụ ndị ọzọ ọ na-arụ ọrụ asynchronously. Nyefee iwu na ọrụ nnyefe, zipu leta, wdg.
    Eleghị anya ị na-egwu mmiri n'ihe a niile? Na admin, onye kwesịrị inyocha nke a, ghọrọ ọbụna mgbagwoju anya.
  • Ọ ga-enwerịrị ike ịhazi na ịhazi nke ọma - ka ọrụ ahụ na-abawanye.
  • Ya mere, ọ ghaghị ịmepụta atụmatụ site na ọrụ ahụ e kere eke iji ghọta ka esi nyochaa ya kpọmkwem. Ọ chọrọ nghọta nke ihe owuwu nke oru ngo na mmepe ya + nghọta nke teknụzụ ejiri na mmepe.

Ka anyị cheta okwu nkịtị: ụfọdụ ọrụ dị na PHP, ụfọdụ ọrụ dị na Go, ụfọdụ ọrụ dị na JS. Ha na ibe ha na-arụkọ ọrụ. Nke a bụ ebe okwu ahụ bụ "microservice" si: enwere ọtụtụ usoro nke ndị mmepe enweghị ike ịghọta ọrụ ahụ n'ozuzu ya. Otu akụkụ nke otu ahụ na-ede ọrụ na JS na-arụ ọrụ n'onwe ha ma ha amaghị ka usoro ndị ọzọ si arụ ọrụ. Akụkụ nke ọzọ na-ede ọrụ na Python na anaghị egbochi ka ọrụ ndị ọzọ si arụ ọrụ; ha dịpụrụ adịpụ na mpaghara nke ha. Nke atọ bụ ide ọrụ na PHP ma ọ bụ ihe ọzọ.
A na-ekewa ndị mmadụ 20 a niile na ọrụ iri na ise, ma enwere naanị otu onye nchịkwa ga-aghọta ihe a niile. Kwụsị! naanị anyị kewara sistemụ ahụ n'ime 15 microservices n'ihi na mmadụ 15 enweghị ike ịghọta sistemụ niile.

Mana ọ kwesiri ka eleba ya anya n'ụzọ ụfọdụ...

Gịnị si na ya pụta? N'ihi ya, e nwere otu onye na-abịa na ihe niile na ndị mmepe niile enweghị ike ịghọta, na n'otu oge ahụ ọ ga-amakwa na-enwe ike ime ihe anyị gosiri n'elu - hardware akụrụngwa, Kubernetes infrastructure, wdg.

Kedu ihe m nwere ike ikwu ... Houston, anyị nwere nsogbu.

Ileba anya oru ngo ngwanrọ ọgbara ọhụrụ bụ ọrụ ngwanrọ n'onwe ya

Site na nkwenkwe ụgha na nlekota bụ software, anyị na-azụlite nkwenye na ọrụ ebube. Ma ọrụ ebube, Ewoo, adịghị eme. Ị nweghị ike ịwụnye zabbix ma na-atụ anya na ihe niile ga-arụ ọrụ. Enweghị uru ịwụnye Grafana na-atụ anya na ihe niile ga-adị mma. Ọtụtụ n'ime oge a ga-eji na-ahazi ndenye ego nke ọrụ ọrụ na mmekọrịta ha na ibe ha, na-elele ka usoro mpụga si arụ ọrụ. N'ezie, 90% nke oge a ga-eji ọ bụghị na-ede edemede, ma na-emepe emepe software. Na ya kwesịrị ijikwa otu ndị ghọtara ọrụ nke ọrụ ahụ.
Ọ bụrụ na n'ọnọdụ a, a tụbara otu onye na nlekota, mgbe ahụ ọdachi ga-eme. Nke bụ ihe na-eme ebe niile.

Dịka ọmụmaatụ, enwere ọtụtụ ọrụ na-ekwurịta okwu site na Kafka. Iwu ahụ rutere, anyị zigara Kafka ozi gbasara iwu ahụ. Enwere ọrụ na-ege ntị ozi gbasara ịtụ ma na-ebuga ngwongwo. Enwere ọrụ na-ege ntị ozi gbasara usoro ahụ wee zigara onye ọrụ akwụkwọ ozi. Na mgbe ahụ, ọtụtụ ọrụ na-apụta, anyị na-amalite inwe mgbagwoju anya.

Ma ọ bụrụ na ị na-enye nke a admin na mmepe na ogbo mgbe a obere oge fọdụrụ tupu ntọhapụ, onye ahụ ga-mkpa ịghọta a dum protocol. Ndị ahụ. Ọrụ nke ọnụ ọgụgụ a na-ewe oge dị ukwuu, nke a kwesịrị itinye aka na mmepe nke usoro.
Mana ọtụtụ mgbe, ọkachasị na mmalite, anyị na-ahụ ka esi yigharịrị nleba anya ruo mgbe emechara. "Ugbu a, anyị ga-eme ihe akaebe nke echiche, anyị ga-eji ya malite, hapụ ya ka ọ daa - anyị dị njikere ịchụ àjà. Ma mgbe ahụ anyị ga-enyocha ya niile. " Mgbe (ma ọ bụ ma ọ bụrụ na) ọrụ ahụ na-amalite ịkpata ego, azụmahịa ahụ chọrọ ịgbakwunye ọbụna atụmatụ ndị ọzọ - n'ihi na ọ malitela ịrụ ọrụ, ya mere ọ dị mkpa ka a gbasaa ọzọ! Ma ị nọ n'ebe mbụ ị ga-ebu ụzọ nyochaa ihe niile gara aga, nke na-ewe ọ bụghị 1% nke oge, ma ọtụtụ ndị ọzọ. Na site n'ụzọ, a ga-achọ ndị mmepe maka nlekota oru, ọ dịkwa mfe ikwe ka ha rụọ ọrụ na njirimara ọhụrụ. N'ihi ya, a na-edepụta atụmatụ ọhụrụ, ihe niile na-emebi emebi, ị nọkwa na njedebe na-adịghị agwụ agwụ.

Ya mere, otu esi enyocha ọrụ na-amalite site na mmalite, na ihe ị ga-eme ma ọ bụrụ na ị nweta ọrụ dị mkpa ka a nyochaa, ma ị maghị ebe ị ga-amalite?

Nke mbụ, ịkwesịrị ime atụmatụ.

Ntughari egwu egwu: ọtụtụ mgbe ha na-amalite site na nlekota akụrụngwa. Dịka ọmụmaatụ, anyị nwere Kubernetes. Ka anyị bido site na ịwụnye Prometheus na Grafana, na-etinye plugins maka nyochaa "cube". Ọ bụghị naanị ndị mmepe, kamakwa ndị nchịkwa nwere omume ọjọọ nke: "Anyị ga-etinye ngwa mgbakwunye a, mana ngwa mgbakwunye nwere ike ịma ka esi eme ya." Ndị mmadụ na-enwe mmasị ịmalite site n'ịdị mfe na nke kwụ ọtọ, kama iji omume ndị dị mkpa. Na nlekota akụrụngwa dị mfe.

Nke mbụ, kpebie ihe na otu ịchọrọ iji nyochaa, wee họrọ ngwá ọrụ, n'ihi na ndị ọzọ enweghị ike iche maka gị. Ha kwesịkwara? Ndị ọzọ na-eche onwe ha, banyere a eluigwe na ala usoro - ma ọ bụ na-echeghị mgbe niile mgbe a plugin e dere. Na dị nnọọ n'ihi na nke a plugin nwere 5 puku ọrụ apụtaghị na ọ bụ nke ọ bụla ojiji. Ikekwe ị ga-abụ 5001st naanị n'ihi na enweelarị mmadụ 5000 ebe ahụ.

Ọ bụrụ na ịmalite nyochaa akụrụngwa na azụ azụ nke ngwa gị kwụsịrị ịzaghachi, ndị ọrụ niile ga-akwụsị njikọ na ngwa mkpanaka. Njehie ga-apụta. Ha ga-abịakwute gị sị "ngwa ngwa anaghị arụ ọrụ, gịnị ka ị na-eme ebe a?" - "Anyị na-enyocha." - "Kedu ka ị ga-esi nyochaa ma ọ bụrụ na ịhụghị na ngwa ahụ anaghị arụ ọrụ?!"

  1. Ekwenyere m na ịkwesịrị ịmalite nlekota kpọmkwem site na ntinye onye ọrụ. Ọ bụrụ na onye ọrụ ahụghị na ngwa ahụ na-arụ ọrụ, nke ahụ bụ ya, ọ bụ ọdịda. Na usoro nlekota kwesịrị ịdọ aka ná ntị banyere nke a mbụ.
  2. Naanị mgbe ahụ ka anyị nwere ike nyochaa akụrụngwa. Ma ọ bụ mee ya n'otu aka ahụ. Ọ dị mfe site na akụrụngwa - ebe a anyị nwere ike ịwụnye zabbix.
  3. Ma ugbu a ịkwesịrị ịga na mgbọrọgwụ nke ngwa ahụ iji ghọta ebe ihe na-adịghị arụ ọrụ.

Isi echiche m bụ na nlekota kwesịrị ịga n'ihu na usoro mmepe. Ọ bụrụ na ị na-adọpụ uche ndị otu nlekota maka ọrụ ndị ọzọ (ịmepụta CI / CD, sandboxing, nhazigharị akụrụngwa), nlekota oru ga-amalite ịla azụ na ị nwere ike ọ gaghị ejide mmepe (ma ọ bụ n'oge na-adịghị, ị ga-akwụsị ya).

Ihe niile site na ọkwa

Nke a bụ otú m si ahụ nhazi nke usoro nlekota oru.

1) Ọkwa ngwa:

  • nyochaa ngwa azụmahịa mgbagha;
  • nyochaa metrics ahụike nke ọrụ;
  • nlekota oru.

2) Ọkwa akụrụngwa:

  • nlekota oru nhazi ọkwa;
  • nlekota software usoro;
  • ígwè larịị nlekota oru.

3) Ọzọ ọkwa ngwa - mana dịka ngwaahịa injinia:

  • ịnakọta na nlekota ndekọ ngwa;
  • APM;
  • ịchụ nta.

4) Ịma:

  • nhazi usoro ịdọ aka ná ntị;
  • nhazi nke usoro ọrụ;
  • nhazi nke "isi ihe ọmụma" na usoro ọrụ maka nhazi ihe omume.

mkpa: anyị ga-esi na njikere bụghị mgbe, ma ozugbo! Ọ dịghị mkpa ka malite nlekota oru na "n'ụzọ ụfọdụ mgbe e mesịrị" chepụta onye ga-enweta alerts. A sị ka e kwuwe, gịnị bụ ọrụ nlekota oru: ịghọta ebe na usoro ihe na-arụ ọrụ na-ezighị ezi, na ime ka ndị ziri ezi mara banyere ya. Ọ bụrụ na ịhapụ nke a ruo na njedebe, mgbe ahụ ndị ziri ezi ga-ama na ihe na-ezighị ezi nanị site n'ịkpọ "ọ dịghị ihe na-arụ ọrụ maka anyị."

Ngwa Layer - nlekota oru mgbagha azụmahịa

N'ebe a, anyị na-ekwu maka ịlele eziokwu ahụ bụ na ngwa na-arụ ọrụ maka onye ọrụ.

Ekwesịrị ime ọkwa a n'oge mmepe mmepe. Dịka ọmụmaatụ, anyị nwere Prometheus nwere ọnọdụ: ọ na-aga na ihe nkesa na-eme nlele, dọta njedebe njedebe, na njedebe na-aga ma lelee API.

Mgbe a na-ajụkarị ka nyochaa ibe ụlọ iji jide n'aka na saịtị ahụ na-arụ ọrụ, ndị mmemme na-enye aka nke nwere ike ịdọrọ oge ọ bụla ha chọrọ iji jide n'aka na API na-arụ ọrụ. Ndị mmemme n'oge a ka na-ede /api/test/helloworld
Naanị ụzọ ị ga-esi hụ na ihe niile na-arụ ọrụ? - Mba!

  • Ịmepụta akwụkwọ nlele ndị dị otú ahụ bụ n'ezie ọrụ nke ndị mmepe. Ndị na-eme mmemme na-ede koodu kwesịrị dee ule otu. N'ihi na ọ bụrụ na ị nyefere ya na onye nchịkwa, "Dude, nke a bụ ndepụta nke ụkpụrụ API maka ọrụ 25 niile, biko nyochaa ihe niile!" - ọ dịghị ihe ga-eme.
  • Ọ bụrụ na ibipụta “ụwa ndewo”, ọ nweghị onye ga-amata na API kwesịrị ịrụ ọrụ. Mgbanwe API ọ bụla ga-eduga na mgbanwe ndenye ego.
  • Ọ bụrụ na ịnweelarị nsogbu dị otú ahụ, kwụsị atụmatụ ahụ ma kenye ndị mmepe ga-ede akwụkwọ ego ndị a, ma ọ bụ nabata ihe efu, nabata na ọ dịghị ihe a na-enyocha na ọ ga-ada.

Ndụmọdụ teknụzụ:

  • Jide n'aka na ị hazie ihe nkesa dị n'èzí iji hazie ndenye ego - ị ghaghị ijide n'aka na ọrụ gị nwere ike ịnweta n'èzí.
  • Hazie nlele n'ofe ụkpụrụ API niile, ọ bụghị naanị njedebe nke onye ọ bụla.
  • Mepụta ebe njedebe-prometheus nwere nsonaazụ ule.

Ngwa oyi akwa - nlekota metrik ahụike

Ugbu a anyị na-ekwu maka metrik ọrụ ahụike mpụga.

Anyị kpebiri na anyị na-enyocha "aka" niile nke ngwa ahụ site na iji nlele mpụga, nke anyị na-akpọ site na usoro nlekota nke mpụga. Ma ndị a bụ "aka" nke onye ọrụ "na-ahụ". Anyị chọrọ ijide n'aka na ọrụ anyị n'onwe ha na-arụ ọrụ. Enwere akụkọ ka mma ebe a: K8 nwere nyocha ahụike, nke mere na ọ dịkarịa ala "cube" n'onwe ya nwere ike kwenye na ọrụ ahụ na-arụ ọrụ. Mana ọkara nke akwụkwọ ndenye ego m hụrụ bụ otu mbipụta “hello ụwa”. Ndị ahụ. Ya mere, ọ dọpụrụ otu oge mgbe ebugachara ya, ọ zara na ihe niile dị mma - nke ahụ bụ ihe niile. Na ọrụ ahụ, ọ bụrụ na ọ na-enye API nke ya, nwere ọnụ ọgụgụ dị ukwuu nke ntinye ntinye maka otu API ahụ, nke dịkwa mkpa ka a nyochaa ya, n'ihi na anyị chọrọ ịma na ọ na-arụ ọrụ. Anyị na-enyocha ya n'ime.

Otu esi eme nke a n'ụzọ ziri ezi: ọrụ ọ bụla na-ekpughe njedebe njedebe banyere arụmọrụ ya ugbu a, na eserese nke Grafana (ma ọ bụ ngwa ọ bụla ọzọ) anyị na-ahụ ọkwa nke ọrụ niile.

  • Mgbanwe API ọ bụla ga-eduga na mgbanwe ndenye ego.
  • Mepụta ọrụ ọhụrụ ozugbo jiri metrik ahụike.
  • Onye nchịkwa nwere ike ịbịakwute ndị mmepe wee jụọ "gbakwunye m atụmatụ ole na ole ka m ghọta ihe niile wee tinye ozi gbasara nke a na sistemụ nlekota m." Mana ndị mmepe na-azakarị, "Anyị agaghị etinye ihe ọ bụla izu abụọ tupu ahapụ ya."
    Mee ka ndị na-ahụ maka mmepe mara na a ga-enwe ụdị mfu dị otú ahụ, mee ka ndị nlekọta nke ndị na-ahụ maka mmepe marakwa. N'ihi na mgbe ihe niile dara, mmadụ ka ga-akpọ ma chọọ ka nyochaa "ọrụ na-adaba mgbe niile" (c)
  • Site n'ụzọ, kenye ndị mmepe ka ha dee plugins maka Grafana - nke a ga-abụ ezigbo enyemaka maka admins.

Ngwa oyi akwa - Nlebanya njikọta

Nlebanya njikọta na-elekwasị anya na nlekota nkwukọrịta n'etiti sistemụ azụmahịa-dị oke mkpa.

Dịka ọmụmaatụ, enwere ọrụ 15 na-ekwurịta okwu na ibe ha. Ndị a abụghịzi saịtị dị iche iche. Ndị ahụ. anyị enweghị ike ịdọrọ ọrụ ahụ n'onwe ya, nweta / helloworld wee ghọta na ọrụ ahụ na-agba ọsọ. N'ihi na ọrụ weebụ na-enye iwu ga-eziga ozi gbasara iwu na ụgbọ ala - site na bọs, ụlọ nkwakọba ihe ga-enweta ozi a ma soro ya rụọ ọrụ n'ihu. Na ọrụ nkesa email ga-edozi nke a n'ụzọ ụfọdụ, wdg.

N'ihi ya, anyị enweghị ike ịghọta, na-atụgharị na onye ọ bụla ọrụ, na ọ niile na-arụ ọrụ. N'ihi na anyị nwere ụgbọ ala ụfọdụ nke ihe niile na-esi na ya na-ekwurịta okwu ma na-emekọrịta ihe.
Ya mere, ọkwa a kwesịrị akara ọkwa nke ọrụ nnwale maka mmekọrịta na ọrụ ndị ọzọ. Ọ gaghị ekwe omume ịhazi nlekota nkwurịta okwu site na nlekota onye na-ere ahịa ozi. Ọ bụrụ na enwere ọrụ na-enye data na ọrụ na-enweta ya, mgbe ị na-elele onye na-ere ahịa, anyị ga-ahụ naanị data na-efe efe site n'akụkụ gaa n'akụkụ. Ọbụna ma ọ bụrụ na anyị jisiri ike nyochaa mmekọrịta nke data a n'ime - na ụfọdụ ndị na-emepụta ihe na-ebipụta data, mmadụ na-agụ ya, nke a na-aga n'ihu na-aga Kafka - nke a ka agaghị enye anyị ozi ma ọ bụrụ na otu ọrụ ezigara ozi ahụ n'otu ụdị. , mana ọrụ nke ọzọ atụghị anya ụdị a wee mafe ya. Anyị agaghị ama banyere nke a, ebe ọ bụ na ọrụ ga-agwa anyị na ihe niile na-arụ ọrụ.

Ihe m na-akwado ime:

  • Maka nzikọrịta mmekọrịta: ebe njedebe na-arịọ arịrịọ maka ọrụ ndị metụtara ya. Ndị ahụ. anyị na-ewere njedebe a, dọpụta edemede n'ime ọrụ ahụ, nke na-aga na isi ihe niile wee kwuo "Enwere m ike ịdọrọ ebe ahụ, ma dọba ebe ahụ, enwere m ike ịdọrọ ebe ahụ..."
  • Maka nkwukọrịta asynchronous: ozi mbata - ebe njedebe na-enyocha ụgbọ ala maka ozi nnwale wee gosipụta ọkwa nhazi.
  • Maka nkwukọrịta asynchronous: ozi na-apụ apụ - ebe njedebe na-eziga ozi nnwale na bọs.

Dị ka ọ na-emekarị: anyị nwere ọrụ na-atụba data n'ime ụgbọ ala. Anyị na-abịa na ọrụ a na-arịọ gị ka ị gwa anyị gbasara ahụike mwekota ya. Ma ọ bụrụ na ọrụ ahụ kwesịrị iwepụta ozi ebe ọzọ (WebApp), mgbe ahụ ọ ga-ewepụta ozi ule a. Ma ọ bụrụ na anyị na-agba ọsọ a ọrụ na OrderProcessing n'akụkụ, ọ na-ebu ụzọ biputere ihe ọ nwere ike biputere onwe ya, ma ọ bụrụ na e nwere ụfọdụ dabere ihe, mgbe ahụ, ọ na-agụ a set nke ule ozi si ụgbọ ala, na-aghọta na ọ nwere ike hazie ha, na-akọ ya. na , ọ bụrụ na ọ dị mkpa, biputere ha n'ihu, na banyere nke a ọ na-ekwu - ihe niile dị mma, m dị ndụ.

Ọtụtụ mgbe, anyị na-anụ ajụjụ a "kedu ka anyị ga-esi nwalee nke a na data ọgụ?" Dịka ọmụmaatụ, anyị na-ekwu maka otu ọrụ ịtụ ahịa. Iwu ahụ na-ezipụ ozi na ụlọ nkwakọba ihe ebe edere ngwaahịa: anyị enweghị ike ịnwale nke a na data ọgụ, n'ihi na "a ga-edepụta ngwongwo m!" Ngwọta: Hazie ule a niile na mbido. Ị nwekwara ule otu na-eme ihe ọchị. Ya mere, mee ya na ọkwa dị omimi ebe ị nwere ọwa nkwurịta okwu nke na-adịghị emerụ ọrụ nke azụmahịa ahụ.

Ọkwa akụrụngwa

Nleba anya akụrụngwa bụ ihe a na-atụle ogologo oge nyochaa n'onwe ya.

  • Enwere ike ịmalite nleba anya akụrụngwa dị ka usoro dị iche.
  • I kwesịghị ịmalite na nlekota akụrụngwa na ọrụ na-agba ọsọ, ọ bụrụgodị na ịchọrọ n'ezie. Nke a bụ ihe mgbu maka devops niile. "Nke mbụ, m ga-enyocha ụyọkọ ahụ, m ga-enyocha akụrụngwa" - i.e. Nke mbụ, ọ ga-enyocha ihe dị n'okpuru ebe a, mana ọ gaghị abanye na ngwa ahụ. N'ihi na ngwa bụ ihe a na-apụghị ịghọta aghọta maka devops. A gbapụrụ ya, ma ọ ghọtaghị otú o si arụ ọrụ. Mana ọ ghọtara akụrụngwa wee malite ya. Mana mba - ị ga-ebu ụzọ nyochaa ngwa ahụ mgbe niile.
  • Abanyela n'ọnụ ọgụgụ nke ọkwa. N'ịtụle mgbagwoju anya nke usoro ọgbara ọhụrụ, ọkwa na-efe efe mgbe niile, ma ị ga-ebi n'ụzọ ụfọdụ na ụyọkọ ọkwa a. Na onye na-akpọ oku, na-eleba anya otu narị nke ọkwa na-esote, ga-ekpebi "Achọghị m iche banyere ya." Mkpu kwesịrị igosi naanị maka ihe ndị dị oke egwu.

Ọkwa ngwa dị ka ngalaba azụmahịa

Isi ihe:

  • ELK. Nke a bụ ọkọlọtọ ụlọ ọrụ. Ọ bụrụ n'ihi ihe ụfọdụ ị naghị achịkọta ndekọ, malite ime ya ozugbo.
  • APM. APM nke mpụga dị ka ụzọ iji mechie nlekota ngwa ngwa ngwa (NewRelic, BlackFire, Datadog). Ị nwere ike ịwụnye ihe a nwa oge ka ọ dịkarịa ala n'ụzọ ụfọdụ ghọta ihe na-eme gị.
  • Ịchọta. N'ime ọtụtụ microservices, ị ga-achọpụta ihe niile, n'ihi na arịrịọ ahụ anaghị ebi n'onwe ya. O siri ike ịgbakwunye mgbe e mesịrị, n'ihi ya, ọ ka mma ịhazi nhazi ozugbo na mmepe - nke a bụ ọrụ na uru nke ndị mmepe. Ọ bụrụ na i mebeghị ya, mejuputa ya! Lee Jaeger/Zipkin

Na-ama ọkwa

  • Nhazi nke sistemụ ngosi: n'ọnọdụ nke nyochaa ụyọkọ ihe, ekwesịrị inwe sistemu ejikọtara ọnụ maka izipu ọkwa. Ị nwere ike na Grafana. Na West, onye ọ bụla na-eji PagerDuty. Mkpu kwesịrị ịpụta ìhè (dịka ebe ha siri bịa...). Ma ọ bụ ihe amamihe dị na ya ịchịkwa na a na-enweta ọkwa ma ọlị
  • Ịhazi usoro ọrụ: e kwesịghị iziga onye ọ bụla ọkwa (ma ọ bụ onye ọ bụla ga-emeghachi omume n'ime igwe mmadụ, ma ọ bụ na ọ dịghị onye ga-emeghachi omume). Ndị mmepe kwesịkwara ịkpọ oku: jide n'aka na ịkọwapụta mpaghara ọrụ, mee ntụziaka doro anya ma dee n'ime ya onye ga-akpọ kpọmkwem na Mọnde na Wednesde, na onye ga-akpọ na Tuesday na Friday (ma ọ bụghị ya, ha agaghị akpọ onye ọ bụla ọbụna n'ime ya. ihe omume nke nnukwu nsogbu - ha ga-atụ egwu ịkpọte gị ma ọ bụ kpagbuo : ndị mmadụ anaghị enwe mmasị ịkpọ na ịkpọte ndị ọzọ, karịsịa n'abalị). Ma kọwaa na ịrịọ maka enyemaka abụghị ihe na-egosi enweghị ike ("A na m arịọ maka enyemaka, nke ahụ pụtara na m bụ onye ọrụ ọjọọ"), na-agba ume maka enyemaka.
  • Nhazi nke "isi ihe ọmụma" na usoro ọrụ maka nhazi ihe omume: maka ihe omume ọ bụla dị njọ, a ga-eme atụmatụ ịnwụ anwụ, yana dịka nwa oge, omume ndị ga-edozi ihe merenụ kwesịrị idekọ. Meekwa ka ọ bụrụ omume na nkwuputa ugboro ugboro bụ mmehie; ha kwesịrị idozi na koodu ma ọ bụ ọrụ akụrụngwa.

Teknụzụ tojupụtara

Ka anyị were ya na nchịkọta anyị bụ nke a:

  • nchịkọta data - Prometheus + Grafana;
  • nchịkọta akụkọ - ELK;
  • maka APM ma ọ bụ tracing - Jaeger (Zipkin).

Nlebanya anwụọla? - Ogologo ndụ nlekota oru

Nhọrọ nke nhọrọ adịghị oke egwu. N'ihi na ọ bụrụ na na mmalite ị ghọtara otú e si nyochaa usoro ma dee atụmatụ, mgbe ahụ ị na-amalite na-ahọrọ ngwaọrụ dabara gị chọrọ. Ajụjụ bụ ihe ị họọrọ ileba anya na mbụ. N'ihi na ikekwe ngwá ọrụ ị họọrọ na mmalite adabaghị ihe ị chọrọ ma ọlị.

Isi ihe teknụzụ ole na ole m na-ahụ ebe niile n'oge na-adịbeghị anya:

A na-akwali Prometheus n'ime Kubernetes - onye mere ihe a?! Ọ bụrụ ụyọkọ gị daa, gịnị ka ị ga-eme? Ọ bụrụ na ị nwere ụyọkọ mgbagwoju anya n'ime, mgbe ahụ, e kwesịrị inwe ụdị usoro nlekota n'ime ụyọkọ ahụ, na ụfọdụ n'èzí, nke ga-anakọta data n'ime ụyọkọ ahụ.

N'ime ụyọkọ ahụ anyị na-anakọta osisi na ihe ọ bụla ọzọ. Ma usoro nlekota ga-adị n'èzí. Ọtụtụ mgbe, na ụyọkọ ebe enwere Promtheus arụnyere n'ime, enwerekwa sistemu na-eme nyocha mpụga nke ọrụ saịtị ahụ. Gịnị ma ọ bụrụ na njikọ gị na mpụga ụwa adalatala ma ngwa anaghị arụ ọrụ? Ọ na-apụta na ihe niile dị mma n'ime, ma ọ dịghị eme ka ihe ọ bụla dị mfe maka ndị ọrụ.

Nchoputa

  • Nleba anya mmepe abụghị ntinye nke akụrụngwa, kama mmepe nke ngwaahịa ngwanrọ. 98% nke nyocha taa bụ koodu. Ịdenye aha na ọrụ, koodu ntinye ego na mpụga, ịlele ọrụ mpụga, na nke ahụ bụ ihe niile.
  • Ebila oge ndị mmepe gị na nlekota: ọ nwere ike were ihe ruru 30% nke ọrụ ha, mana ọ bara uru.
  • Devops, echegbula na ị nweghị ike nyochaa ihe, n'ihi na ụfọdụ ihe bụ ụzọ iche echiche kpamkpam. Ị bụghị onye mmemme, na ọrụ nlekota oru bụ kpọmkwem ọrụ ha.
  • Ọ bụrụ na oru ngo a na-agba ọsọ ma ghara ileba anya (ma ị bụ onye njikwa), kenye akụrụngwa maka nlekota oru.
  • Ọ bụrụ na ngwaahịa ahụ adịlarị na mmepụta, ma ị bụ onye na-agba ọsọ nke a gwara ka ọ "tọlite ​​​​nleba anya" - gbalịa ịkọwara njikwa ihe m dere ihe a niile.

Nke a bụ ụdị akụkọ a gbatịrị agbatị na ọgbakọ Saint Highload++.

Ọ bụrụ na ị nwere mmasị na echiche m na echiche m na ya na isiokwu ndị metụtara ya, mgbe ahụ, ebe a ị nwere ike gụọ ọwa 🙂

isi: www.habr.com

Tinye a comment