Chaos Engineering: te toi o te tino whakangaro. Wāhanga 2

Tuhipoka. whakamaori.: Kei te haere tonu tenei tuhinga i te raupapa nui o nga tuhinga mai i te kaikauwhau hangarau a AWS Adrian Hornsby, nana nei i whakatakoto ki te whakamarama ma te ngawari me te maamaa te hiranga o te whakamatautau hei whakaiti i nga hua o nga rahunga i roto i nga punaha IT.

Chaos Engineering: te toi o te tino whakangaro. Wāhanga 2

"Ki te kore koe e whakarite i tetahi mahere, ka whakamahere koe ki te kore." - Benjamin Franklin

В te waahanga tuatahi I roto i tenei raupapa o nga tuhinga, i whakauruhia e ahau te kaupapa o te hangarau hepohepo me te whakamarama me pehea te awhina ki te rapu me te whakatika i nga hapa o te punaha i mua i te arahi ki nga rahunga whakaputa. I korero ano hoki me pehea te whakatairanga a te miihini hepohepo i nga huringa ahurea pai i roto i nga whakahaere.

I te mutunga o te waahanga tuatahi, i oati ahau ki te korero mo "nga taputapu me nga tikanga mo te whakauru i nga hapa ki roto i nga punaha." Aue, he mahere ano taku mahunga mo tenei kaupapa, a i roto i tenei tuhinga ka ngana ahau ki te whakautu i te patai tino rongonui ka puta ake i waenga i nga tangata e hiahia ana ki te uru ki roto i nga mahi miihini: He aha te wahi tuatahi?

He patai pai! Heoi, te ahua nei kaore ia i te tino whakararuraru i tenei panda...

Chaos Engineering: te toi o te tino whakangaro. Wāhanga 2
Kaua e pokanoa ki te panda hepohepo!

He whakautu poto: Whakaritea nga ratonga tino nui ki te huarahi tono.

He roa ake engari he marama ake te whakautu: Kia mohio ai koe ki hea ka timata ki te whakamatautau i te hepohepo, whakarongo ki nga waahanga e toru:

  1. Titiro hītori tukinga me te tautuhi i nga tauira;
  2. Whakatauhia whakawhirinaki nui;
  3. Whakamahia te mea e kiia ana pānga māia nui.

He rorirori, engari he ngawari noa te karanga i tenei waahanga "He Haerenga ki te Whakaaturanga Whaiaro me te Maramatanga". I roto i tenei ka timata tatou ki te "takaro" me etahi taputapu hauhautanga.

1. No mua te whakautu

Mena ka maumahara koe, i te wahanga tuatahi i whakauruhia e au te kaupapa o te Whakatikatika-o-Hapa (COE) - he tikanga e tātari ai i o tatou he - he he i roto i te hangarau, te whakahaere, te whakahaere ranei - kia mohio ai ki o raatau take me te aukati. Tuhinga o mua . I te nuinga, koinei te waahi me timata koe.

"Ki te mohio ki nga mea o naianei, me mohio koe ki nga mea o mua." — Carl Sagan

Titiro ki te hitori o nga rahunga, tohua ki te COE, ki nga tuupapatanga ranei ka whakarōpūtia. Tautuhia nga tauira noa e puta ai nga raru, a mo ia COE, patai ki a koe ano te patai e whai ake nei:

"I matapaehia pea tenei, na reira ka araia e te werohanga he?"

Ka maumahara ahau ki tetahi rahunga i te timatanga o taku mahi. He ngawari noa te arai mena kua mahia e matou etahi whakamatautau hepohepo ngawari:

I raro i nga tikanga noa, ka whakautu nga tauira o muri ki nga tirotiro hauora mai i taurite kawenga (ELB)). Ka whakamahi a ELB i enei arowhai ki te huri i nga tono ki nga waahi hauora. Ka puta mai he "he kino" tetahi tauira, ka mutu te tuku tono a ELB ki a ia. I tetahi ra, i muri i te angitu o te kaupapa hokohoko, ka piki ake te rahi o nga waka, ka timata nga tuara ki te whakautu ki nga arowhai hauora i nga wa o mua. Me kii ko enei tirotiro hauora hohonu, ara, i tirohia te ahua o nga whakawhirinakitanga.

Heoi, he pai nga mea katoa mo tetahi wa.

Na, i raro i nga ahuatanga tino taumaha, ka tiimata tetahi o nga keehi ki te mahi i tetahi mahi cron ETL kore-arohaehae. Ko te huinga o nga waka nui me te cronjob i pana te whakamahi CPU ki te tata ki te 100%. Ko te taumaha o te PTM i whakaroa ake i nga whakautu ki nga arowhai hauora, na te mea i whakatauhia e te ELB kei te raru te mahi. I te mea i tumanakohia, ka mutu te tohatoha o nga waka ki a ia, na te mea i piki ake te taumahatanga ki runga i nga toenga o te roopu.

I ohorere, ka tiimata katoa nga waahi ka hinga i te tirotiro hauora.

Ko te tiimata i te waa hou me tango me te whakauru i nga kohinga me te roa ake i te tango a te ELB ki te whakakore i a raatau - takitahi - i roto i te roopu tohu aunoa. E marama ana, kaore i roa kua tae te katoa o nga mahi ki tetahi waahi nui, ka hinga te tono.

Na ka marama tonu taatau ki nga waahanga e whai ake nei:

  • Ko te whakauru i nga rorohiko i te wa e hanga ana i tetahi tauira hou he roa te wa; he pai ake te hoatu i te manakohanga ki te huarahi kore huri me AMI koura.
  • I roto i nga ahuatanga uaua, ko nga whakautu ki nga arowhai hauora me nga ELB me noho matua - ko te mea whakamutunga e hiahia ana koe ko te whakararu i te oranga mo nga mea e toe ana.
  • Ko te keteroki a rohe o nga arowhai hauora ka awhina nui (ahakoa mo etahi hēkona).
  • I roto i nga ahuatanga uaua, kaua e whakahaere i nga mahi cron me etahi atu tukanga kore-arohaehae - tiakina nga rauemi mo nga mahi tino nui.
  • I te wa e whakatauhia ana, whakamahia nga tauira iti ake. Ko te roopu o nga tauira iti 10 he pai ake i te roopu e 4 nga mea nui; ki te rahua tetahi tauira, i te keehi tuatahi ka tohatohahia te 10% o nga waka i runga i nga tohu 9, i te tuarua - 25% o nga waka i runga i nga tohu e toru.

Na i kitea pea tenei, na reira ka arai ma te whakauru i te raru?

Ae, me nga huarahi maha.

Tuatahi, ma te whakataurite i te whakamahinga CPU teitei ma te whakamahi i nga taputapu penei stress-ng ranei cpuburn:

❯ stress-ng --matrix 1 -t 60s

Chaos Engineering: te toi o te tino whakangaro. Wāhanga 2
ahotea-ng

Tuarua, ma te taumaha i te tauira me wrk me etahi atu taputapu rite:

❯ wrk -t12 -c400 -d20s http://127.0.0.1/api/health

Chaos Engineering: te toi o te tino whakangaro. Wāhanga 2

He ngawari noa nga whakamatautau, engari ka taea e koe te whakarato i etahi kai pai mo te whakaaro me te kore e pa ki te taumahatanga o te tino rahua.

Engari, kaua e mutu i reira. Ngana ki te whakaputa i te tukinga i roto i te taiao whakamatautau ka tirohia to whakautu ki te patai "I kitea pea tenei, na reira ka araia ma te whakauru mai he he?" He whakamatautau hepohepo iti i roto i te whakamatautau hepohepo hei whakamatautau i nga whakapae, engari ka tiimata mai i te kore.

Chaos Engineering: te toi o te tino whakangaro. Wāhanga 2
He moemoea, he tino tupu ranei?

Na ako i te hitori o nga rahunga, tātari EOC, tohuhia ka whakarōpūtia ma te "hit radius"—he tika ake ranei, ko te maha o nga kaihoko e pa ana—katahi ka rapu tauira. Patai ki a koe ano mehemea i matapaehia tenei ka taea te aukati ma te whakauru i te raru. Takina to whakautu.

Na ka huri ki nga tauira tino noa me te awhe nui rawa atu.

2. Hangaia he mapi whakawhirinaki

Me whai wa ki te whakaaro mo to tono. He mapi marama o ona whakawhirinakitanga? Kei te mohio koe he aha te paanga ka pa ki a ratau ki te kore e taka?

Mena kaore koe i te tino mohio ki te waehere o to tono, kua tino nui ranei, he uaua ki te mohio he aha te mahi a te waehere me te aha o ona whakawhirinakitanga. Ko te maarama ki enei whakawhirinakitanga me o raatau paanga ki te tono me nga kaiwhakamahi he mea nui ki te mohio ki hea ka tiimata me te miihini hepohepo: ko te timatanga ko te waahanga me te radius paanga nui rawa atu.

Ko te tautuhi me te tuhi i nga whakawhirinakitanga ka kiia ko "te hanga mapi whakawhirinaki» (mahere whakawhirinaki). Ka mahia tenei mo nga tono me te turanga waehere nui ma te whakamahi i nga taputapu tohu tohu. (tohu tohu) me te taputapu (taputapu). Ka taea hoki e koe te hanga mapi ma te aro turuki i nga waka whatunga.

Heoi, ehara i te mea he rite nga whakawhirinakitanga katoa (he mea whakararu i te mahi). Ko etahi arohaehae, atu - tuarua (i te iti rawa i roto i te ariā, i te mea he maha nga tukinga e pa ana ki nga raruraru me nga whakawhirinakitanga i kiia he koretake).

Ki te kore he whakawhirinaki nui, kaore e taea e te ratonga te mahi. Ko nga whakawhirinaki kore-nui "kaua e» ki te whakaawe i te ratonga mena ka hinga. Kia mohio koe ki nga whakawhirinakitanga, me tino mohio koe ki nga API e whakamahia ana e to tono. He uaua ake tenei i te ahua - mo nga tono nui.

Me timata ma te haere i nga API katoa. Miramirahia te nuinga nui me te arohaehae. Tangohia te ti'aturi mai i te kohinga waehere, tirohia rangitaki hononga, ka titiro tuhinga (Ae, mena kei te noho - mena kei a koe tonuоnga raruraru nui). Whakamahia nga taputapu ki te te tohu me te whai, tātarihia nga waea o waho.

Ka taea e koe te whakamahi i nga kaupapa penei netstat - he taputapu raina whakahau e whakaatu ana i te rarangi o nga hononga whatunga katoa (nga turanga kaha) i roto i te punaha. Hei tauira, hei whakarārangi i ngā hononga katoa o nāianei, pato:

❯ netstat -a | more 

Chaos Engineering: te toi o te tino whakangaro. Wāhanga 2

I roto i te AWS ka taea e koe te whakamahi rangitaki rere (raupapa rere) Ko te VPC he tikanga e taea ai e koe te kohi korero mo te hokohoko IP e haere ana ki nga hononga whatunga ranei i roto i te VPC. Ka taea hoki e aua pororaka te awhina i etahi atu mahi - hei tauira, te rapu whakautu mo te patai he aha te take kaore e tae atu etahi waka ki te tauira.

Ka taea hoki e koe te whakamahi AWS X-Ray. X-Ray ka taea e koe te tiki taipitopito, "mutunga" (mutunga-ki-mutunga) he tirohanga whanui mo nga tono i a raatau e neke ana i roto i te tono, me te hanga mapi hoki o nga waahanga o raro o te tono. Tino watea ki te hiahia koe ki te tautuhi i nga whakawhirinakitanga.

Chaos Engineering: te toi o te tino whakangaro. Wāhanga 2
AWS X-Ray Papatohu

Ko te mapi whakawhirinaki whatunga he otinga wahanga noa. Ae, e whakaatu ana ko tehea tono e korero ana, engari tera ano etahi atu whakawhirinaki.

He maha nga tono e whakamahi ana i te DNS ki te hono atu ki nga whakawhirinakitanga, ko etahi ka whakamahi i te kitenga ratonga, ara i nga wahitau IP kua tohua i roto i nga konae whirihoranga (hei tauira. /etc/hosts).

Hei tauira, ka taea e koe te hanga Kohanga pango DNS me te awhina iptables ka kite he aha te pakaru. Hei mahi i tenei, whakauruhia te whakahau e whai ake nei:

❯ iptables -I OUTPUT -p udp --dport 53 -j REJECT -m comment --comment "Reject DNS"

Chaos Engineering: te toi o te tino whakangaro. Wāhanga 2
DNS poka pango

Mena kei roto /etc/hosts etahi atu konae whirihoranga ranei, ka kitea e koe nga wahitau IP kaore koe e mohio (ae, karekau, ka puta ano tenei), ka taea ano e koe te whakaora. iptables. Me kii kua kitea e koe 8.8.8.8 a kaore koe e mohio koinei te wahitau tūmau DNS tūmatanui a Google. Ma te whakamahi iptables Ka taea e koe te aukati i nga waka taumai me te puta atu ki tenei wahitau ma te whakamahi i nga whakahau e whai ake nei:

❯ iptables -A INPUT -s 8.8.8.8 -j DROP -m comment --comment "Reject from 8.8.8.8"
❯ iptables -A OUTPUT -d 8.8.8.8 -j DROP -m comment --comment "Reject to 8.8.8.8"

Chaos Engineering: te toi o te tino whakangaro. Wāhanga 2
Kati te uru

Ka tukuna e te ture tuatahi nga paakete katoa mai i te DNS whanui a Google: ping ka mahi, engari kaore i whakahokia mai nga putea. Ka tukuna e te ture tuarua nga paakete katoa i ahu mai i to punaha ki te DNS whanui a Google - hei whakautu ki ping whiwhi tatou Kaore e whakaaetia te mahi.

Tuhipoka: i tenei keehi he pai ake te whakamahi whois 8.8.8.8, engari he tauira noa tenei.

Ka taea e tatou te haere hohonu ki raro i te kohao rapeti, na te mea ko nga mea katoa e whakamahi ana i te TCP me te UDP ka whakawhirinaki ano ki te IP. I te nuinga o nga wa, ka herea te IP ki te ARP. Kaua e wareware ki nga papangaahi...

Chaos Engineering: te toi o te tino whakangaro. Wāhanga 2
Mena ka inu koe i te pire whero, ka noho koe ki Wonderland, a maku e whakaatu ki a koe te hohonu o te poka rapeti."

Ko te huarahi tino nui ake ko te momotu nga motuka ka kite i nga mea kua pakaru ... ka waiho hei "makimaki hepohepo." Ae ra, he maha nga punaha whakangao kaore i hangaia mo te whakaeke kaha, engari ko te mea ka taea te whakamatautau i roto i te taiao whakamatautau.

Ko te hanga i tetahi mapi whakawhirinaki he mahi tino roa. I korero tata ahau ki tetahi kaihoko kua tata ki te 2 tau ki te whakawhanake i tetahi taputapu ka whakaputa aunoa i nga mapi whakawhirinaki mo nga rau o nga ratonga miihini me nga whakahau.

Ko te hua, heoi, he tino whakamere me te whai hua. He maha nga mea ka ako koe mo to punaha, ona whakawhirinakitanga me ona mahi. Ano, kia manawanui: ko te haerenga tonu te mea nui.

3. Kia tupato ki te tino maia

"Ko te tangata e moemoea ana he aha, ka whakapono." — Demosthenes

Kua rongo koe mo pānga māia nui?

E ai ki a Wikipedia, ko te huanga o te tino maia he "whakaaro hinengaro e kaha ake ai te maia o te tangata ki ana mahi me ana whakatau i te tika o te whainga o aua whakatau, ina koa he ahua teitei te taumata o te maia."

Chaos Engineering: te toi o te tino whakangaro. Wāhanga 2
I runga i te parapara me te wheako...

I roto i taku wheako, he tohu nui tenei whakapohehe mo te waahi ka tiimata me te miihini hepohepo.

Kia tupato ki te kaiwhakahaere tino maia:

Charlie: "Kaore tenei mea i hinga i roto i nga tau e rima, kei te pai nga mea katoa!"
Tutuki: "Taria ... ka tae wawe ahau!"

Ko te whanoke na te nui o te maiatanga he mea hianga, he mea kino hoki na te maha o nga ahuatanga e awe ana. He tino pono tenei ina kua ringihia e nga mema o te kapa o ratou ngakau ki roto i te hangarau, kua roa ranei te wa e "whakatika" ana.

Whakarāpopoto

Ko te rapu mo te timatanga mo te miihini hepohepo ka nui ake nga hua i te mea e tumanakohia ana, a ko nga kapa ka timata ki te pakaru i nga mea ka ngaro i te tirohanga o te ao me te whakaihiihi o (he hepohepo-)pūkaha - tono auaha tikanga pūtaiao и taunakitanga empirical mo te hoahoa, te whakawhanake, te whakahaere, te tiaki me te whakapai ake i nga punaha (rorohiko).

Ka mutu te wahanga tuarua. Tena koa tuhia nga arotake, tohatoha whakaaro, pakipaki noa ranei o ringaringa wawaenga. I te waahanga o muri mai I tino Ka whai whakaaro ahau ki nga taputapu me nga tikanga mo te whakauru i nga rahunga ki roto i nga punaha. Tae noa!

PS mai i te kaiwhakamaori

Pānuihia hoki i runga i ta maatau blog:

Source: will.com

Tāpiri i te kōrero