Maty ve ny fanaraha-maso? - Ho ela velona ny fanaraha-maso

Maty ve ny fanaraha-maso? - Ho ela velona ny fanaraha-maso

Nanomboka tamin'ny taona 2008, ny orinasanay dia nirotsaka voalohany indrindra tamin'ny fitantanana fotodrafitrasa sy fanohanana ara-teknika isan'andro ho an'ny tetikasan-tranonkala: manana mpanjifa maherin'ny 400 izahay, izany hoe 15% eo amin'ny varotra e-varotra Rosiana. Noho izany, ny maritrano tena isan-karazany dia tohanana. Raha misy zavatra mianjera dia tsy maintsy amboarina ao anatin'ny 15 minitra. Saingy mba hahatakarana fa nisy loza nitranga, mila manara-maso ny tetikasa ianao ary mamaly ny zava-nitranga. Ahoana no hanaovana izany?

Mino aho fa misy olana amin'ny fandaminana ny rafitra fanaraha-maso araka ny tokony ho izy. Raha tsy nisy olana, dia ny lahateniko dia ahitana foto-kevitra iray: "Alefaso azafady Prometheus + Grafana sy plugins 1, 2, 3." Indrisy anefa fa tsy mandeha toy izany intsony. Ary ny tena olana dia ny mbola hinoan'ny tsirairay ny zavatra efa nisy tamin'ny 2008, eo amin'ny lafiny lozisialy.

Mikasika ny fandaminana ny rafitra fanaraha-maso dia sahy milaza aho fa... tsy misy ny tetikasa misy fanaraha-maso mahay. Ary tena ratsy ny toe-javatra ka raha misy zavatra mianjera dia atahorana tsy ho voamarika izany - raha ny marina, ny rehetra dia matoky fa "araha-maso ny zava-drehetra."
Araha-maso angamba ny zava-drehetra. Ahoana anefa?

Nifanena tamin'ny tantara toy izao manaraka izao isika rehetra: devops sasany, admin sasany miasa, tonga any amin'izy ireo ny ekipan'ny fampandrosoana ary miteny hoe - "navotsotra izahay, araho izao." Manara-maso inona? Ahoana ny fandehany?

OK. Manara-maso ny fomba taloha izahay. Ary efa miova izany, ary hita fa nanara-maso ny serivisy A ianao, izay lasa serivisy B, izay mifandray amin'ny serivisy C. Fa ny ekipan'ny fampandrosoana dia milaza aminao hoe: "Apetraho ny rindrambaiko, tokony hanara-maso ny zava-drehetra!"

Inona àry no niova? - Niova ny zavatra rehetra!

2008 Tsara ny zava-drehetra

Misy mpamorona roa, mpizara iray, mpizara database iray. Avy eto daholo izany. Manana fampahalalana vitsivitsy izahay, mametraka zabbix, Nagios, cacti. Ary avy eo dia nametraka fampandrenesana mazava momba ny CPU, ny fiasan'ny kapila ary ny habaka kapila. Manao fisavana tanana roa ihany koa izahay mba hahazoana antoka fa mamaly ny tranokala ary tonga ao anaty angon-drakitra ny baiko. Ary izany no izy - isika dia voaaro kokoa na latsaka.

Raha ampitahaina ny habetsaky ny asa nataon'ny administratera tamin'izany mba hanomezana fanaraha-maso, dia mandeha ho azy ny 98% amin'izany: ny olona manao ny fanaraha-maso dia tsy maintsy mahatakatra ny fomba fametrahana Zabbix, ny fomba fanamboarana azy ary ny fanairana. Ary 2% - ho an'ny fanamarinana ivelany: mamaly ny tranokala ary manao fangatahana amin'ny angon-drakitra, fa tonga ny baiko vaovao.

Maty ve ny fanaraha-maso? - Ho ela velona ny fanaraha-maso

2010 Mitombo ny entana

Manomboka manitatra ny tranonkala izahay, manampy milina fikarohana. Tianay ho azo antoka fa ny katalaogin'ny vokatra dia ahitana ny vokatra rehetra. Ary miasa izany fikarohana vokatra izany. Mandeha ny angon-drakitra, misy baiko atao, mamaly ivelany ny tranokala ary mamaly avy amin'ny mpizara roa ary ny mpampiasa dia tsy voaroaka amin'ny tranokala raha averina amin'ny server hafa, sns. Misy sampana bebe kokoa.

Ankoatr'izay, ny orinasa mifandray amin'ny fotodrafitrasa dia mbola mijanona ho lehibe indrindra amin'ny lohan'ny mpitantana. Mbola misy hevitra ao an-dohako fa ny olona manao ny fanaraha-maso dia ny olona hametraka zabbix ary afaka manamboatra azy.

Saingy miaraka amin'izay koa dia miseho ny asa amin'ny fanaovana fisavana ivelany, amin'ny famoronana andiana sora-panontaniana momba ny fanondroana fikarohana, andiana sora-baventy hanamarinana fa miova ny fikarohana mandritra ny fizotran'ny fanondroana, andian-tsoratra izay manamarina fa nafindra tany amin'ny serivisy fanaterana, sns. sy ny sisa.

Maty ve ny fanaraha-maso? - Ho ela velona ny fanaraha-maso

Fanamarihana: In-3 aho nanoratra “asety ny script”. Izany hoe tsy ny olona misahana ny fanaraha-maso intsony no mametraka zabbix tsotra izao. Izy io dia olona manomboka manao coding. Saingy tsy mbola nisy niova tao an-tsain'ny ekipa.

Miova anefa izao tontolo izao, mihasarotra hatrany. Misy sosona virtoaly sy rafitra vaovao maromaro ampiana. Manomboka mifampiresaka izy ireo. Iza no niteny hoe "mifofona toy ny microservices?" Saingy ny serivisy tsirairay dia mbola mitovy amin'ny tranokala tsirairay. Afaka mitodika any aminy isika ary mahatakatra fa manome ny fampahalalana ilaina izy io ary miasa irery. Ary raha mpitantana tsy tapaka ianao amin'ny tetikasa iray izay nivoatra nandritra ny 5-7-10 taona, dia miangona io fahalalana io: misy ambaratonga vaovao - tsapanao izany, misy ambaratonga hafa - tsapanao izany ...

Maty ve ny fanaraha-maso? - Ho ela velona ny fanaraha-maso

Saingy zara raha misy olona miaraka amin'ny tetikasa mandritra ny 10 taona.

Resume an'ny Monitoringman

Eritrereto hoe tonga tao amin'ny fanombohana vaovao ianao izay nanakarama mpamorona 20 avy hatrany, nanoratra microservices 15, ary admin ianao izay nilazana hoe: “Manangana CI/CD. Mba miangavy re." Nanangana CI/CD ianao ary tampoka teo dia renao hoe: “Sarotra ho anay ny miasa amin'ny famokarana ao anaty “cube”, nefa tsy takatry ny saina ny fomba fiasan'ny fampiharana ao anatiny. Manaova boaty fasika ao anaty "cube" mitovy.
Manao boaty fasika ianao amin'ity goba ity. Avy hatrany izy ireo dia miteny aminao hoe: "Tianay ny angon-drakitra an-tsehatra izay havaozina isan'andro avy amin'ny famokarana, mba hahatakaranay fa miasa amin'ny angon-drakitra izy io, saingy tsy manimba ny angona famokarana."

Miaina amin'izany rehetra izany ianao. Misy 2 herinandro sisa tavela alohan'ny famoahana, hoy izy ireo aminao: "Andao hanara-maso izany rehetra izany..." Izany hoe. manara-maso ny fotodrafitrasa cluster, manara-maso ny maritrano microservice, manara-maso ny asa miaraka amin'ny serivisy ivelany ...

Ary ny mpiara-miasa amiko dia manala ny tetika mahazatra ao an-dohany ary miteny hoe: "Eny, mazava ny zava-drehetra eto! Mametraka programa izay hanara-maso izany rehetra izany.” Eny, eny: Prometheus + Grafana + plugins.
Ary hoy koa izy ireo: "Manana tapa-bolana ianao, ataovy azo antoka fa milamina ny zava-drehetra."

Amin'ny tetikasa maro izay hitantsika dia olona iray no atokana hanara-maso. Alaivo sary an-tsaina hoe te hanakarama olona izahay hanao fanaraha-maso mandritra ny 2 herinandro, dia manoratra resume ho azy. Inona no fahaiza-manao tokony hananan'io olona io, raha jerena ny zavatra rehetra nolazainay hatreto?

  • Tsy maintsy takany ny fanaraha-maso sy ny mombamomba ny fiasan’ny fotodrafitrasa vy.
  • Tsy maintsy takany ny mombamomba ny fanaraha-maso an'i Kubernetes (ary te-hiditra amin'ny "cube" ny rehetra, satria afaka misoroka ny zava-drehetra ianao, manafina, satria ny admin no hiatrika ny ambiny) - ny tenany, ny fotodrafitrasany, ary ny fomba hanaraha-maso ny fampiharana. ao anatiny.
  • Tsy maintsy takany fa mifandray amin'ny fomba manokana ny serivisy, ary mahafantatra ny fomba ifandraisan'ny serivisy. Tena azo atao ny mahita tetikasa iray izay ahafahan'ny serivisy mifandray amin'ny synchronous, satria tsy misy fomba hafa. Ohatra, ny backend dia mandeha amin'ny REST, amin'ny alàlan'ny gRPC mankany amin'ny serivisy katalaogy, mahazo lisitry ny vokatra ary mamerina izany. Tsy afaka miandry eto ianao. Ary miaraka amin'ny serivisy hafa dia miasa asynchronously. Alefaso any amin'ny serivisy fanaterana ny baiko, mandefa taratasy, sns.
    Efa nilomano tamin'izany rehetra izany angamba ianao? Ary vao mainka nisavoritaka ny admin izay mila manara-maso izany.
  • Tsy maintsy mahay manomana sy manao drafitra tsara izy - satria mihamitombo hatrany ny asa.
  • Noho izany dia tsy maintsy mamorona paikady avy amin'ny serivisy noforonina izy mba hahatakarana ny fomba fanaraha-maso manokana azy. Mila fahatakarana ny rafitry ny tetikasa sy ny fivoarany + fahatakarana ny teknolojia ampiasaina amin'ny fampandrosoana izy.

Andeha hotadidintsika tranga iray tena mahazatra: misy serivisy ao amin'ny PHP, serivisy sasany ao amin'ny Go, serivisy sasany ao amin'ny JS. Miara-miasa izy ireo. Eto no niavian'ny teny hoe "service micro": be dia be ny rafitra tsirairay ka tsy azon'ny mpamorona ny tetikasa manontolo. Ny ampahany iray amin'ny ekipa dia manoratra serivisy ao amin'ny JS izay miasa irery ary tsy mahafantatra ny fomba fiasan'ny rafitra sisa. Ny ampahany hafa dia manoratra serivisy amin'ny Python ary tsy manelingelina ny fiasan'ny serivisy hafa; mitoka-monina ao amin'ny faritra misy azy izy ireo. Ny fahatelo dia serivisy fanoratana amin'ny PHP na zavatra hafa.
Ireo olona 20 rehetra ireo dia mizara ho serivisy 15, ary admin iray ihany no tsy maintsy mahatakatra izany rehetra izany. Mijanòna! nozarainay ho microservices 15 fotsiny ny rafitra satria olona 20 no tsy mahazo ny rafitra manontolo.

Mila araha-maso anefa izany...

Inona no vokany? Vokatr'izany dia misy olona iray tonga amin'ny zava-drehetra izay tsy takatry ny ekipan'ny mpamorona iray manontolo, ary amin'izany fotoana izany dia tsy maintsy mahafantatra sy afaka manao izay voalaza etsy ambony ihany koa izy - fotodrafitrasa hardware, fotodrafitrasa Kubernetes, sns.

Inona no azoko lazaina... Houston, manana olana izahay.

Ny fanaraha-maso tetikasa rindrambaiko maoderina dia tetikasa rindrambaiko manokana

Avy amin'ny finoana diso fa ny fanaraha-maso dia rindrambaiko, dia mampitombo ny finoana ny fahagagana. Fa ny fahagagana, indrisy, tsy hitranga. Tsy afaka mametraka zabbix ianao ary manantena fa hiasa ny zava-drehetra. Tsy misy dikany ny fametrahana Grafana ary manantena fa hilamina ny zava-drehetra. Ny ankamaroan'ny fotoana dia lany amin'ny fikarakarana fisavana ny fiasan'ny serivisy sy ny fifandraisan'izy ireo amin'ny tsirairay, ny fijerena ny fomba fiasan'ny rafitra ivelany. Raha ny marina, ny 90% amin'ny fotoana dia tsy lany amin'ny fanoratana script, fa amin'ny famolavolana rindrambaiko. Ary tokony ho ekipa iray izay mahafantatra ny asan'ny tetikasa.
Raha ao anatin'izany toe-javatra izany dia misy olona iray atsipy amin'ny fanaraha-maso, dia hisy ny loza. Izay no mitranga eny rehetra eny.

Ohatra, misy serivisy maromaro mifandray amin'ny alàlan'ny Kafka. Tonga ny baiko, nandefa hafatra momba ny baiko tany Kafka izahay. Misy serivisy mihaino vaovao momba ny baiko ary mandefa ny entana. Misy serivisy mihaino fampahalalana momba ny baiko ary mandefa taratasy ho an'ny mpampiasa. Ary avy eo dia misy serivisy marobe miseho, ary manomboka misavoritaka isika.

Ary raha omenao izany koa ny admin sy ny developer amin'ny sehatra izay misy fotoana fohy sisa tavela alohan'ny famoahana, dia mila mahatakatra an'io protocola manontolo io ilay olona. Ireo. Ny tetikasa amin'ity ambaratonga ity dia mitaky fotoana be, ary izany dia tokony ho tafiditra ao anatin'ny fampandrosoana ny rafitra.
Saingy matetika, indrindra amin'ny fanombohana, dia hitantsika ny fanemorana ny fanaraha-maso ho any aoriana. “Ankehitriny dia hanao porofon'ny hevitra isika, hanomboka miaraka aminy, avelao hianjera - vonona ny hanao sorona isika. Ary avy eo dia hanara-maso izany rehetra izany izahay. Rehefa manomboka mitondra vola (na raha) ny tetikasa dia te-hanampy endri-javatra bebe kokoa ny orinasa - satria nanomboka niasa izy, midika izany fa mila havoaka bebe kokoa! Ary eo amin'ny toerana tokony hanaraha-maso ny zava-drehetra teo aloha ianao, izay tsy mila 1% amin'ny fotoana, fa mihoatra lavitra noho izany. Ary raha ny marina, ny mpamorona dia ilaina amin'ny fanaraha-maso, ary mora kokoa ny mamela azy ireo hiasa amin'ny endri-javatra vaovao. Vokatr'izany, misy endri-javatra vaovao voasoratra, mikorontana ny zava-drehetra, ary ao anatin'ny fefy tsy misy farany ianao.

Ahoana àry no hanaraha-maso ny tetikasa manomboka hatrany am-piandohana, ary inona no tokony hatao raha mahazo tetikasa izay mila fanaraha-maso, nefa tsy fantatrao hoe aiza no hanombohana?

Voalohany, mila manao drafitra ianao.

Fanodinkodinana tononkira: matetika dia manomboka amin'ny fanaraha-maso fotodrafitrasa izy ireo. Ohatra, manana Kubernetes izahay. Andao hanomboka amin'ny fametrahana Prometheus miaraka amin'i Grafana, fametrahana plugins hanaraha-maso ny "cube". Tsy ny mpamorona ihany, fa ny mpitantana ihany koa dia manana fomba fanao mampalahelo: "Hametraka ity plugin ity izahay, fa ny plugin dia mety mahafantatra ny fomba hanaovana izany." Ny olona dia tia manomboka amin'ny tsotra sy mahitsy, fa tsy amin'ny hetsika lehibe. Ary mora ny fanaraha-maso ny fotodrafitrasa.

Voalohany, manapaha hevitra hoe inona sy ny fomba tianao hanaraha-maso, ary mifidiana fitaovana iray, satria tsy afaka mieritreritra anao ny olon-kafa. Ary tokony ho izy ireo? Ny olona hafa dia nieritreritra ny tenany, momba ny rafitra manerantany - na tsy nieritreritra mihitsy rehefa nosoratana ity plugin ity. Ary satria manana mpampiasa 5 arivo ity plugin ity dia tsy midika akory izany fa ilaina izany. Angamba ho lasa 5001 ianao satria efa nisy olona 5000 teo aloha.

Raha manomboka manara-maso ny fotodrafitrasa ianao ary tsy mamaly intsony ny faran'ny rindranasao dia ho very ny fifandraisan'ny mpampiasa rehetra amin'ny fampiharana finday. Hisy hadisoana hiseho. Ho avy aminao izy ireo ary hiteny hoe "Tsy mandeha ny fampiharana, inona no ataonao eto?" - "Manara-maso izahay." — “Ahoana ny fanaraha-maso raha tsy hitanao fa tsy mandeha ny fampiharana?!”

  1. Mino aho fa mila manomboka manara-maso marina avy amin'ny toerana idiran'ny mpampiasa ianao. Raha tsy hitan'ny mpampiasa fa miasa ny fampiharana, dia izay, tsy fahombiazana izany. Ary tokony hampitandrina momba izany aloha ny rafitra mpanara-maso.
  2. Ary amin’izay vao afaka manara-maso ny fotodrafitrasa. Na manao izany amin'ny parallèle. Mora kokoa amin'ny fotodrafitrasa - eto isika dia afaka mametraka zabbix fotsiny.
  3. Ary ankehitriny dia mila mandeha any amin'ny fototry ny fampiharana ianao mba hahafantarana hoe aiza no tsy mandeha ny zavatra.

Ny tena hevitro dia ny fanaraha-maso dia tokony hifanaraka amin'ny dingana fampandrosoana. Raha manelingelina ny ekipa mpanara-maso amin'ny asa hafa ianao (mamorona CI/CD, sandboxing, fanamboarana fotodrafitrasa), dia hanomboka hihemotra ny fanaraha-maso ary mety tsy ho tratranao mihitsy ny fivoarana (na ho ela na ho haingana dia tsy maintsy hatsahatrao izany).

Ny zava-drehetra amin'ny ambaratonga

Izany no fahitako ny fandaminana ny rafitra fanaraha-maso.

1) Ambaratonga fampiharana:

  • fanaraha-maso ny lojika raharaham-barotra fampiharana;
  • fanaraha-maso ny mari-pamantarana ara-pahasalamana amin'ny serivisy;
  • fanaraha-maso fampidirana.

2) haavon'ny fotodrafitrasa:

  • fanaraha-maso ny haavon'ny orkestra;
  • fanaraha-maso ny rindrambaiko rafitra;
  • fanaraha-maso ny haavon'ny vy.

3) Averina indray ny haavon'ny fampiharana - fa amin'ny vokatra injeniera:

  • fanangonana sy fanaraha-maso ny diarin'ny fampiharana;
  • APM;
  • tracing.

4) Fanairana:

  • fandaminana rafitra fampitandremana;
  • fandaminana rafitra adidy;
  • fandaminana ny "fototra fahalalana" sy ny fizotran'ny asa ho an'ny fanodinana zava-nitranga.

zava-dehibe: tonga amin'ny fanairana isika tsy aorian'izay fa avy hatrany! Tsy ilaina ny manomboka ny fanaraha-maso ary "any aoriana kely" dia fantaro hoe iza no hahazo fanairana. Rehefa dinihina tokoa, inona no andraikitry ny fanaraha-maso: hahatakatra hoe aiza ao amin'ny rafitra misy zavatra tsy mety, ary mampahafantatra ny olona marina momba izany. Raha avelanao hatramin'ny farany izany, dia ho fantatry ny olona marina fa misy zavatra tsy mety raha tsy hoe "tsy misy miasa ho antsika."

Layer fampiharana - Fanaraha-maso ny lojika raharaham-barotra

Eto isika dia miresaka momba ny fanamarinana ny tena zava-misy fa ny fampiharana dia miasa ho an'ny mpampiasa.

Ity ambaratonga ity dia tokony hatao mandritra ny dingana fampandrosoana. Ohatra, manana Prometheus misy fepetra isika: mankany amin'ny mpizara izay manao ny fisavana, misintona ny teboka farany, ary mandeha ny teboka farany ary manamarina ny API.

Rehefa asaina manara-maso matetika ny pejy fandraisana mba hahazoana antoka fa miasa ny tranokala, dia manome fehezam-boninkazo azo sintonina isaky ny mila mahazo antoka fa miasa ny API. Ary ny programmer amin'izao fotoana izao dia mbola mandray sy manoratra /api/test/helloworld
Ny hany fomba hahazoana antoka fa mandeha ny zava-drehetra? - Tsia!

  • Ny famoronana fanamarinana toy izany dia tena asan'ny mpamorona. Ny fitsapana unit dia tokony ho soratan'ireo mpandrindra manoratra ny code. Satria raha alefanao amin'ny admin izany, "Ry dada, ity ny lisitry ny protocols API ho an'ny fiasa 25 rehetra, azafady araho ny zava-drehetra!" - tsy hisy hahomby.
  • Raha manonta "hello world" ianao, dia tsy hisy hahafantatra mihitsy fa tokony ary miasa ny API. Ny fiovan'ny API rehetra dia tsy maintsy mitondra fiovana amin'ny fanamarinana.
  • Raha toa ka efa manana olana toy izany ianao, atsaharo ny endri-javatra ary omeo ireo mpamorona izay hanoratra ireo fanamarinana ireo, na manaiky ny fatiantoka, ekeo fa tsy misy voamarina ary tsy hahomby.

Soso-kevitra ara-teknika:

  • Ataovy azo antoka ny mandamina mpizara ivelany handamina ny fisavana - tsy maintsy azonao antoka fa azon'ny tontolo ivelany idirana ny tetikasanao.
  • Mandamina fisavana manerana ny protocol API iray manontolo, fa tsy amin'ny teboka tsirairay.
  • Mamorona prometheus-endpoint miaraka amin'ny valin'ny fitsapana.

Lay fampiharana - fanaraha-maso metrika ara-pahasalamana

Ankehitriny isika dia miresaka momba ny metrika ara-pahasalamana ivelany amin'ny serivisy.

Nanapa-kevitra izahay fa hanara-maso ny "fikarakarana" rehetra amin'ny fampiharana amin'ny alàlan'ny fisavana ivelany, izay antsoinay avy amin'ny rafitra fanaraha-maso ivelany. Fa ireo no "tantana" izay "hitain'ny mpampiasa". Tianay ho azo antoka fa miasa ny tolotray. Eto dia tsara kokoa ny tantara: manana fitsirihana ara-pahasalamana ny K8s, ka farafaharatsiny ny "cube" dia afaka resy lahatra fa mandeha ny serivisy. Fa ny antsasak'ireo seky hitako dia mitovy amin'ny “hello world”. Ireo. Noho izany dia nisintona indray mandeha izy taorian'ny fametrahana azy, namaly izy fa tsara ny zava-drehetra - izay ihany. Ary ny serivisy, raha manome API azy manokana, dia manana teboka fidirana marobe ho an'io API io ihany, izay mila arahi-maso ihany koa, satria tianay ho fantatra fa miasa izy io. Ary efa manara-maso izany izahay ao anatiny.

Ahoana ny fampiharana izany ara-teknika ara-teknika: ny serivisy tsirairay dia mampiseho teboka iray momba ny zava-bitany amin'izao fotoana izao, ary ao amin'ny sarin'ny Grafana (na fampiharana hafa) dia hitantsika ny satan'ny serivisy rehetra.

  • Ny fiovan'ny API rehetra dia tsy maintsy mitondra fiovana amin'ny fanamarinana.
  • Mamorona tolotra vaovao avy hatrany miaraka amin'ny metrika ara-pahasalamana.
  • Afaka tonga any amin'ny mpamorona ny admin iray ary manontany hoe "ampio endri-javatra roa aho mba ho azoko ny zava-drehetra ary ampio fampahalalana momba izany amin'ny rafitra fanaraha-maso ahy." Saingy matetika ny mpamorona dia mamaly hoe: "Tsy hampiana na inona na inona izahay tapa-bolana alohan'ny famoahana."
    Ampahafantaro ny tompon’andraikitra amin’ny fampandrosoana fa hisy ny fatiantoka toy izany, ampahafantaro ihany koa ny mpitantana ny fampandrosoana. Satria rehefa lavo ny zava-drehetra dia mbola hisy hiantso sy hitaky ny hanara-maso ny "serivisy mianjera tsy tapaka" (c)
  • Raha ny tokony ho izy, omeo mpamorona hanoratra plugins ho an'ny Grafana - ho fanampiana tsara ho an'ny admin izany.

Layer Application - Fanaraha-maso Integration

Ny fanaraha-maso ny fampidirana dia mifantoka amin'ny fanaraha-maso ny fifandraisana eo amin'ny rafitra manan-danja amin'ny fandraharahana.

Ohatra, misy serivisy 15 mifandray amin'ny tsirairay. Tsy tranonkala misaraka intsony ireo. Ireo. tsy afaka misintona samirery ny serivisy izahay, mahazo /helloworld ary mahatakatra fa mandeha ny serivisy. Satria ny serivisy tranonkala famandrihana dia tsy maintsy mandefa fampahalalana momba ny baiko mankany amin'ny fiara fitateram-bahoaka - avy amin'ny fiara fitateram-bahoaka, ny serivisy trano fanatobiana entana dia tsy maintsy mandray ity hafatra ity ary miara-miasa aminy bebe kokoa. Ary ny serivisy fizarana mailaka dia tsy maintsy manatanteraka izany bebe kokoa, sns.

Noho izany, tsy azontsika takarina, manindrona ny serivisy tsirairay, fa miasa daholo izany. Satria manana fiara fitateram-bahoaka isika izay mifandray sy mifampiraharaha ny zava-drehetra.
Noho izany, ity dingana ity dia tokony hanamarika ny dingan'ny serivisy fitiliana hifaneraserana amin'ny serivisy hafa. Tsy azo atao ny mandamina ny fanaraha-maso ny fifandraisana amin'ny fanaraha-maso ny mpizara hafatra. Raha misy serivisy mamoaka angon-drakitra sy serivisy mandray izany, rehefa manara-maso ny broker isika dia tsy hahita afa-tsy angon-drakitra izay manidina amin'ny lafiny iray. Na dia nahavita nanara-maso ny fifandraisan'ity angon-drakitra ity aza izahay - fa misy mpamokatra iray mandefa ny angon-drakitra, misy mamaky azy io, mitohy mankany Kafka io fikoriana io - mbola tsy hanome vaovao antsika izany raha misy serivisy mandefa hafatra amin'ny dikan-teny iray. , fa ny serivisy hafa dia tsy nanampo an'io dikan-teny io ary nitsambikina. Tsy ho fantatsika izany, satria ny serivisy dia hilaza amintsika fa mandeha ny zava-drehetra.

Ny soso-kevitra ataoko:

  • Ho an'ny fifandraisana synchronous: manao fangatahana amin'ny serivisy mifandraika amin'izany ny teboka farany. Ireo. Raisinay ity teboka farany ity, misintona script ao anatin'ny serivisy, izay mankany amin'ny teboka rehetra ary miteny hoe "Afaka misintona any aho, ary misintona any, afaka misintona any aho..."
  • Ho an'ny fifandraisana asynchronous: hafatra miditra - ny teboka farany dia manamarina ny fiara fitateram-bahoaka raha misy hafatra fitsapana ary mampiseho ny sata fanodinana.
  • Ho an'ny fifandraisana asynchronous: hafatra mivoaka - ny teboka farany dia mandefa hafatra fitsapana amin'ny fiara fitateram-bahoaka.

Toy ny mahazatra: manana serivisy manipy data ao anaty fiara fitateram-bahoaka izahay. Tonga eto amin'ity serivisy ity izahay ary mangataka anao hilaza aminay momba ny fahasalaman'ny fampidirana azy. Ary raha mila mamoaka hafatra any amin'ny toerana lavitra kokoa ny serivisy (WebApp), dia hamokatra ity hafatra fitsapana ity. Ary raha manao serivisy amin'ny lafiny OrderProcessing isika, dia mandefa voalohany izay azony apetraka tsy miankina, ary raha misy zavatra miankina, dia mamaky andiana hafatra fitsapana avy amin'ny fiara fitateram-bahoaka izy, mahatakatra fa afaka manodina azy ireo, mitatitra izany ary , raha ilaina, dia alefaso bebe kokoa, ary ny momba izany dia hoy izy - mety ny zava-drehetra, velona aho.

Matetika isika no mandre ny fanontaniana hoe "Ahoana no ahafahantsika mitsapa izany amin'ny angona ady?" Ohatra, miresaka momba ny serivisy famandrihana mitovy isika. Ny baiko dia mandefa hafatra any amin'ny trano fanatobiana entana izay nanesorana ny entana: tsy afaka manandrana izany amin'ny angon-drakitra momba ny ady izahay, satria "hofoanana ny entako!" Vahaolana: Omano io fitsapana io dieny am-piandohana. Manana andrana maneso ihany koa ianao. Noho izany, ataovy amin'ny ambaratonga lalindalina kokoa izay anananao fantsona fifandraisana izay tsy manimba ny fiasan'ny orinasa.

Avon'ny fotodrafitrasa

Ny fanaraha-maso ny fotodrafitrasa dia zavatra efa noheverina ho manara-maso ny tenany.

  • Ny fanaraha-maso ny fotodrafitrasa dia azo ary tokony atomboka amin'ny dingana iray manokana.
  • Tsy tokony hanomboka amin'ny fanaraha-maso fotodrafitrasa amin'ny tetikasa mandeha ianao, na dia tena tianao aza izany. Fanaintainana ho an'ny devop rehetra izany. "Voalohany dia hanara-maso ny cluster aho, hanara-maso ny fotodrafitrasa aho" - i.e. Voalohany, hanara-maso izay misy eto ambany, fa tsy hiditra ao amin'ny fampiharana. Satria ny fampiharana dia zavatra tsy takatry ny saina ho an'ny devops. Tafaporitsaka taminy izany, ary tsy azony ny fomba fiasan’izany. Ary azony ny fotodrafitrasa ary manomboka amin'izany. Saingy tsia - mila manara-maso ny fampiharana aloha ianao.
  • Aza mihoatra loatra ny isan'ny fanairana. Raha jerena ny fahasarotan'ny rafitra maoderina, dia manidina tsy tapaka ny fampandrenesana, ary tsy maintsy miaina miaraka amin'ity andiana fanairana ity ianao. Ary ilay olona an-telefaona, rehefa nijery an-jatony tamin'ireo fanairana manaraka, dia hanapa-kevitra hoe "Tsy te hieritreritra an'izany aho." Ny fanairana dia tokony hampandrenesina momba ny zavatra manakiana ihany.

Ambaratonga fampiharana amin'ny maha vondrona orinasa

Hevi-dehibe:

  • ELK. Izany no fenitry ny indostria. Raha toa ka tsy manangona logs ianao noho ny antony iray, dia manomboka manao izany avy hatrany.
  • APM. APM ivelany ho fomba hanakatona haingana ny fanaraha-maso ny fampiharana (NewRelic, BlackFire, Datadog). Azonao atao ny mametraka an'io zavatra io mandritra ny fotoana fohy mba hahafantaranao ny zava-mitranga aminao.
  • Tracing. Ao amin'ny microservices am-polony dia tsy maintsy manaraka ny zava-drehetra ianao, satria tsy miaina irery intsony ny fangatahana. Sarotra be ny manampy any aoriana, noho izany dia tsara kokoa ny mandamina avy hatrany ny fanaraha-maso amin'ny fampandrosoana - izany no asa sy fampiasa amin'ny mpamorona. Raha mbola tsy nampihatra izany ianao dia ampiharo! Jereo ny Jaeger/Zipkin

Nampiomana ny

  • Fandaminana rafitra fampandrenesana: amin'ny fepetra fanaraha-maso zavatra marobe dia tokony hisy rafitra iraisana handefasana fampandrenesana. Afaka any Grafana ianao. Any amin'ny Tandrefana, ny tsirairay dia mampiasa PagerDuty. Tokony ho mazava ny fanairana (ohatra hoe avy aiza...). Ary tsara ny mifehy fa ny fampandrenesana dia voaray mihitsy
  • Fandaminana ny rafitra adidy: tsy tokony halefa amin'ny rehetra ny fanairana (na ny olona rehetra no hihetsika ao anaty vahoaka, na tsy hisy hihetsika). Tokony ho oncall ihany koa ny developer: atao tsara ny mamaritra ny faritra iandraiketana, manao toromarika mazava ary soraty ao hoe iza marina no hiantso ny alatsinainy sy alarobia, ary iza no hiantso ny talata sy zoma (raha tsy izany dia tsy hiantso olona izy ireo na dia ao amin'ny zava-nitranga olana lehibe - hatahotra hamoha anao na hanelingelina anao izy ireo: tsy tia miantso sy mamoha olon-kafa ny olona, ​​indrindra amin'ny alina). Ary hazavao fa ny fangatahana fanampiana dia tsy famantarana ny tsy fahaiza-manao (“Mangataka fanampiana aho, midika izany fa mpiasa ratsy aho”), mamporisika ny fangatahana fanampiana.
  • Fandaminana ny “fototry ny fahalalana” sy ny fizotran'ny asa ho an'ny fanodinana ny zava-nitranga: isaky ny tranga lehibe, dia tokony hokarakaraina ny fizahana ny maty, ary ho fepetra vonjimaika, tokony horaisina an-tsoratra ny hetsika hamahana ny zava-nitranga. Ary ataovy fanao fa fahotana ny fanairana miverimberina; mila amboarina amin'ny kaody na ny fotodrafitrasa izy ireo.

Teknolojia stack

Andeha hojerentsika fa toy izao manaraka izao ny stack:

  • fanangonana data - Prometheus + Grafana;
  • fanadihadiana log - ELK;
  • ho an'ny APM na Tracing - Jaeger (Zipkin).

Maty ve ny fanaraha-maso? - Ho ela velona ny fanaraha-maso

Ny safidy ny safidy dia tsy manakiana. Satria raha tamin'ny voalohany dia nahatakatra ny fomba fanaraha-maso ny rafitra ianao ary nanoratra drafitra, dia manomboka misafidy fitaovana mifanaraka amin'ny zavatra takinao ianao. Ny fanontaniana dia hoe inona no nofidinao hanara-maso voalohany. Satria angamba tsy mifanaraka amin'ny zavatra takinao mihitsy ilay fitaovana nofidinao tany am-boalohany.

Hevitra ara-teknika vitsivitsy hitako hatraiza hatraiza tato ho ato:

Tosika ao anatin'ny Kubernetes ny Prometheus - iza no namorona an'izany?! Raha mianjera ny cluster anao, inona no hataonao? Raha manana cluster sarotra ianao ao anatiny, dia tokony hisy karazana rafitra fanaraha-maso ao anaty cluster, ary ny sasany any ivelany, izay hanangona angona avy ao anaty cluster.

Ao anatin'ny cluster dia manangona logs sy ny zavatra hafa rehetra izahay. Fa ny rafitra fanaraha-maso dia tsy maintsy any ivelany. Matetika, ao amin'ny cluster izay misy Promtheus napetraka ao anatiny, dia misy ihany koa ny rafitra manao fanaraha-maso ivelany ny fiasan'ny tranokala. Ahoana raha nihena ny fifandraisanao amin'ny tontolo ivelany ary tsy mandeha ny fampiharana? Hita fa tsara daholo ny ao anatiny, saingy tsy manamora ny zavatra ho an'ny mpampiasa izany.

hitany

  • Ny fanaraha-maso ny fampandrosoana dia tsy ny fametrahana fitaovana, fa ny fampandrosoana ny vokatra rindrambaiko. Ny 98% amin'ny fanaraha-maso ankehitriny dia coding. Fanodinana amin'ny serivisy, famandrihana fanamarinana ivelany, fanamarinana serivisy ivelany, ary izay ihany.
  • Aza laniana amin'ny fanaraha-maso ny fotoanan'ny mpamorona anao: mety haharitra hatramin'ny 30% amin'ny asany izany, saingy mendrika izany.
  • Devops, aza manahy fa tsy afaka manara-maso zavatra ianao, satria ny zavatra sasany dia fomba fisainana hafa tanteraka. Tsy programmer ianao, ary ny asa fanaraha-maso no tena asan'izy ireo.
  • Raha toa ka efa mandeha ny tetikasa ary tsy araha-maso (ary mpitantana ianao), dia zarao ny loharanon-karena ho an'ny fanaraha-maso.
  • Raha toa ka efa eo am-pamokarana ny vokatra, ary ianao dia devops izay nasaina "hametraka fanaraha-maso" - andramo ny manazava amin'ny mpitantana ny zavatra nosoratako momba izany rehetra izany.

Ity dia dika miitatra amin'ny tatitra amin'ny fihaonambe Saint Highload++.

Raha mahaliana anao ny hevitro sy ny eritreritro momba izany ary ny lohahevitra mifandraika amin'izany dia azonao atao eto mamaky ny fantsona 🙂

Source: www.habr.com

Add a comment