Chaos Engineering: bonono ba ho timetsa ka boomo. Karolo ea 2

Hlokomela. fetolela.: Sengoliloeng sena se tsoela pele ka letoto le leholo la lingoloa tse tsoang ho moevangeli oa theknoloji ea AWS Adrian Hornsby, ea ikemiselitseng ho hlalosa ka tsela e bonolo le e hlakileng bohlokoa ba liteko ho fokotsa litlamorao tsa ho hloleha lits'ebetsong tsa IT.

Chaos Engineering: bonono ba ho timetsa ka boomo. Karolo ea 2

"Haeba u hloleha ho hlophisa moralo, joale u rera ho hloleha." - Benjamin Franklin

В karolo ea pele Letotong lena la lihlooho, ke ile ka hlahisa khopolo ea boenjiniere ba moferefere 'me ka hlalosa kamoo e thusang ho fumana le ho lokisa liphoso tsamaisong pele li lebisa ho hloleheng ha tlhahiso. E boetse e tšohlile kamoo boenjiniere ba pherekano bo khothalletsang phetoho e ntle ea setso ka har'a mekhatlo.

Qetellong ea karolo ea pele, ke tšepisitse ho bua ka "lisebelisoa le mekhoa ea ho hlahisa liphoso tsamaisong." Oho, hlooho ea ka e ne e e-na le merero ea eona tabeng ena, 'me sehloohong sena ke tla leka ho araba potso e ratoang ka ho fetisisa e hlahang har'a batho ba batlang ho kena boenjiniere ba moferefere: Seo u lokelang ho se senya pele?

Potso e ntle! Leha ho le joalo, ha a bonahale a tšoenngoa haholo ke panda ena ...

Chaos Engineering: bonono ba ho timetsa ka boomo. Karolo ea 2
Se ke oa ferekanngoa le chaos panda!

Karabo e khutšoanyane: Sheba litšebeletso tsa bohlokoa tseleng ea kopo.

Karabo e telele empa e hlakile: Ho utloisisa hore na u ka qala ho etsa liteko tsa moferefere hokae, ela hloko likarolo tse tharo:

  1. Shebang histori ea ho senyeha le ho hlwaya dipaterone;
  2. Etsa qeto tse itshetlehileng haholo;
  3. Sebelisa seo ho thoeng ke ho itshepa hofeta tekanyo.

Hoa qabola, empa karolo ena e ka bitsoa habonolo feela "Leeto la ho Ithuta le ho Ithuisa Leseli". Ho eona re tla qala ho "bapala" ka liletsa tse ling tse pholileng.

1. Karabo e teng nakong e fetileng

Haeba u hopola, karolong ea pele ke ile ka hlahisa khopolo ea Khalemelo-ea-Liphoso (COE) - mokhoa oo ka oona re hlahlobang liphoso tsa rona - liphoso tsa theknoloji, ts'ebetso kapa mokhatlo - e le hore re utloisise sesosa (s) sa bona le ho thibela. ho hlaha hape nakong e tlang . Ka kakaretso, mona ke moo o lokelang ho qala teng.

"Ho utloisisa hona joale, o hloka ho tseba se fetileng." — Carl Sagan

Sheba nalane ea liphoso, li tšoaee ho COE kapa postmortems 'me u li arole. Hlalosa mekhoa e tloaelehileng e atisang ho lebisa mathateng, 'me bakeng sa COE ka' ngoe, ipotse potso e latelang:

"Na see se ka be se ile sa boleloa esale pele 'me kahoo sa thibeloa ka ente ea phoso?"

Ke hopola phoso e 'ngoe qalong ea mosebetsi oa ka. E ka be e ile ea thijoa habonolo haeba re ne re entse liteko tse 'maloa tse bonolo tsa pherekano:

Tlas'a maemo a tloaelehileng, maemo a backend a arabela litekong tsa bophelo bo botle ho tloha load balancer (ELB)). ELB e sebelisa licheke tsena ho fetisetsa likopo maemong a bophelo bo botle. Ha ho bonahala eka mohlala o "sa phetse", ELB e khaotsa ho romela likopo ho eona. Ka letsatsi le leng, ka mor'a letšolo le atlehileng la ho rekisa, palo ea sephethephethe e ile ea eketseha 'me ba khutlela morao ba qala ho arabela litlhahlobo tsa bophelo butle ho feta tloaelo. Ho lokela ho boleloa hore litlhahlobo tsena tsa bophelo bo botle li ne li tebile, ke hore, boemo ba batho ba itšetlehileng ka bona bo ile ba hlahlojoa.

Leha ho le joalo, lintho tsohle li ne li tsamaea hantle ka nakoana.

Joale, e se e ntse e le tlas'a maemo a sithabetsang, e 'ngoe ea linyeoe e ile ea qala ho etsa mosebetsi o seng oa bohlokoa, o tloaelehileng oa ETL cron. Motsoako oa sephethe-phethe se phahameng le cronjob o sutumelletse ts'ebeliso ea CPU hoo e ka bang 100%. Ho jara ha CPU ho ile ha fokotsa likarabo tsa tlhahlobo ea bophelo bo botle hoo ELB e ileng ea etsa qeto ea hore mohlala ona o na le mathata a ts'ebetso. Joalokaha ho lebeletsoe, balancer e ile ea khaotsa ho aba sephethephethe ho eona, e leng se ileng sa lebisa ho eketseha ha mojaro ho maemo a setseng sehlopheng.

Ka tšohanyetso, linyeoe tse ling kaofela le tsona li ile tsa qala ho hlōleha tlhahlobo ea bophelo bo botle.

Ho qala mohlala o mocha ho ne ho hloka ho jarolla le ho kenya liphutheloana mme ho nkile nako e telele ho feta ho nkile ELB ho li thibela - ka bonngoe - sehlopheng sa autoscaling. Ho hlakile hore haufinyane ts'ebetso eohle e ile ea fihla ntlheng e mahlonoko mme kopo e ile ea putlama.

Joale re ile ra utloisisa lintlha tse latelang ka ho sa feleng:

  • Ho kenya software ha u theha mohlala o mocha ho nka nako e telele; ho molemo ho fana ka khetho ho mokhoa o sa fetoheng le Khauta AMI.
  • Maemong a thata, likarabo tsa tlhahlobo ea bophelo bo botle le li-ELB li lokela ho tla pele - ntho ea ho qetela eo u e batlang ke ho thatafatsa bophelo maemong a setseng.
  • Caching ea lehae ea licheke tsa bophelo bo botle e thusa haholo (esita le ka metsotsoana e seng mekae).
  • Boemong bo thata, u se ke ua tsamaisa mesebetsi ea cron le mekhoa e meng e sa hlokahaleng - boloka lisebelisoa bakeng sa mesebetsi ea bohlokoa ka ho fetisisa.
  • Ha autoscaling, sebelisa maemo a manyane. Sehlopha sa mehlala e menyenyane ea 10 se molemo ho feta sehlopha sa tse 4 tse kholo; haeba ketsahalo e le 'ngoe e hlōleha, tabeng ea pele 10% ea sephethephethe e tla ajoa ho feta lintlha tse 9, ea bobeli - 25% ea sephethephethe holim'a lintlha tse tharo.

Kahoo, na see se ne se ka bonoa esale pele, ’me kahoo sa thibeloa ka ho hlahisa bothata?

hore, le ka litsela tse ngata.

Ntlha ea pele, ka ho etsisa tšebeliso e phahameng ea CPU ho sebelisa lisebelisoa tse kang stress-ng kapa cpuburn:

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

Chaos Engineering: bonono ba ho timetsa ka boomo. Karolo ea 2
khatello ea kelello-ng

Taba ea bobeli, ka ho tlatsa mohlala ka wrk le lisebelisoa tse ling tse tšoanang:

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

Chaos Engineering: bonono ba ho timetsa ka boomo. Karolo ea 2

Liteko li batla li le bonolo, empa li ka fana ka lijo tse monate tsa ho nahana ntle le ho tobana le khatello ea maikutlo ea ho hloleha ha 'nete.

Leha ho le joalo, o seke wa fella moo. Leka ho hlahisa kotsi sebakeng sa liteko 'me u hlahlobe karabo ea hau potsong "Na see se ne se ka bonoa esale pele ’me kahoo sa thibeloa ka ho hlahisa phoso?" Ena ke teko e nyane ea chaos ka har'a teko ea moferefere ho leka mehopolo, empa ho qala ka ho hloleha.

Chaos Engineering: bonono ba ho timetsa ka boomo. Karolo ea 2
Na e ne e le toro, kapa ehlile e etsahetse?

Kahoo ithute histori ea ho hlōleha, hlahloba EOC, li tšoaee 'me u li arole ka "hit radius" - kapa ka nepo, palo ea bareki ba amehileng - ebe u batla lipaterone. Ipotse hore na sena se ka be se ile sa boleloa esale pele le ho thibeloa ka ho hlahisa bothata. Sheba karabo ea hau.

Ebe u fetohela ho mekhoa e tloaelehileng ka ho fetisisa e nang le mefuta e mengata.

2. Theha 'mapa oa ho itšetleha

Iphe nako ea ho nahana ka kopo ea hau. Na ho na le 'mapa o hlakileng oa ho itšetleha ka eona? Na ua tseba hore na ba tla ba le tšusumetso efe haeba ho e-na le ho hlōleha?

Haeba o sa tloaelane haholo le khoutu ea kopo ea hau kapa e se e le kholo haholo, ho ka ba thata ho utloisisa hore na khoutu e etsa eng le hore na e itšetlehile ka eng. Ho utloisisa litšepeho tsena le tšusumetso ea bona ho ts'ebeliso le basebelisi ho bohlokoa ho tseba hore na u ka qala kae ka boenjiniere ba merusu: sebaka sa ho qala ke karolo e nang le radius e kholo ka ho fetisisa.

Ho tsebahatsa le ho ngola litšepeho ho bitsoa "ho haha ​​'mapa oa ho itšetleha» (Ho itšetleha ka 'mapa). Hangata sena se etsoa bakeng sa lits'ebetso tse nang le khoutu e kholo e sebelisang lisebelisoa tsa profiling ea khoutu. (profaele ea khoutu) le lisebelisoa (seletsa). U ka boela ua etsa 'mapa ka ho shebella sephethephethe sa marang-rang.

Leha ho le joalo, ha se litšepe tsohle tse ts'oanang (e leng ho thatafatsa ts'ebetso). Ba bang nyatsa, tse ling - bobeli (bonyane ka mohopolo, kaha hangata likotsi li etsahala ka lebaka la mathata a ho its'etleha a neng a nkuoa e se a bohlokoa).

Ntle le ho itšetleha ka bohlokoa, tšebeletso e ke ke ea sebetsa. Litšepe tse sa hlokahaleng "ha ea lokela» ho susumetsa ts'ebeletso nakong ea ho oa. Ho utloisisa litšepeho, o hloka ho ba le kutloisiso e hlakileng ea li-API tse sebelisoang ke kopo ea hau. Sena se ka ba thata haholo ho feta kamoo se shebahalang kateng - bonyane bakeng sa lits'ebetso tse kholo.

Qala ka ho sebelisa li-API tsohle. Totobatsa ka ho fetisisa e bohlokoa ebile e bohlokoa. Nka litšepiso ho tsoa sebakeng sa polokelo ea khoutu, e hlahlobe lintlha tsa khokahanyo, joale sheba litokomane (ehlile, haeba e le teng - ho seng joalo u ntse u e-na le eonaоmathata a maholoanyane). Sebelisa lisebelisoa ho porofaele le ho latedisa, sefa mehala ea kantle.

U ka sebelisa mananeo a kang netstat - sesebelisoa sa mola oa taelo se bonts'ang lethathamo la likhokahano tsohle tsa marang-rang (li-sockets tse sebetsang) tsamaisong. Mohlala, ho thathamisa likhokahano tsohle tsa hajoale, thaepa:

❯ netstat -a | more 

Chaos Engineering: bonono ba ho timetsa ka boomo. Karolo ea 2

Ho AWS u ka e sebelisa phallo likutung (li-flow logs) VPC ke mokhoa o u lumellang hore u bokelle tlhahisoleseling mabapi le sephethephethe sa IP se eang kapa ho tsoa marang-rang a marang-rang ho VPC. Li-log tse joalo li ka boela tsa thusa ka mesebetsi e meng - mohlala, ho fumana karabo potsong ea hore na ke hobane'ng ha sephethephethe se itseng se sa fihle boemong boo.

U ka boela ua sebelisa AWS X-Ray. X-Ray e u lumella ho fumana lintlha tse qaqileng, "qetellong" (qetellong-ho-qetellong) kakaretso ea likopo ha li ntse li tsoela pele ka kopo, hape li theha 'mapa oa likarolo tsa motheo tsa kopo. Ho bonolo haholo haeba o hloka ho tseba litšepe.

Chaos Engineering: bonono ba ho timetsa ka boomo. Karolo ea 2
AWS X-Ray Console

'Mapa oa ho itšetleha ka marang-rang ke tharollo e fokolang feela. E, e bontša hore na ke kopo efe e buisanang le eona, empa ho na le tse ling tse itšetlehileng ka tsona.

Lisebelisoa tse ngata li sebelisa DNS ho hokela lits'ebetsong, ha tse ling li ka sebelisa ho sibolloa ha lits'ebeletso kapa liaterese tsa IP tse thatafalitsoeng lifaeleng tsa tlhophiso (mohlala. /etc/hosts).

Ka mohlala, u ka etsa DNS blackhole ka thuso iptables mme o bone se robehileng. Ho etsa sena, kenya taelo e latelang:

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

Chaos Engineering: bonono ba ho timetsa ka boomo. Karolo ea 2
DNS lesoba le letšo

Haeba ka /etc/hosts kapa lifaele tse ling tsa tlhophiso, u tla fumana liaterese tsa IP tseo u sa tsebeng letho ka tsona (e, ka bomalimabe, sena le sona sea etsahala), u ka tla ho thusa hape. iptables. Ha re re u fumane 8.8.8.8 'me ha ke tsebe hore ena ke aterese ea Google ea DNS ea sechaba. Ka ho sebelisa iptables U ka thibela sephethephethe se kenang le se tsoang atereseng ena u sebelisa litaelo tse latelang:

❯ 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: bonono ba ho timetsa ka boomo. Karolo ea 2
Ho koala phihlello

Molao oa pele o theola lipakete tsohle ho tsoa ho DNS ea sechaba ea Google: ping e sebetsa, empa lipakete ha li khutlisetsoe. Molao oa bobeli o lahlela lipakete tsohle tse tsoang ho sistimi ea hau ho ea ho DNS ea sechaba ea Google - ho latela ping rea fumana Ts'ebetso ha e lumelloe.

Tlhokomeliso: tabeng ena ho ka ba molemo ho e sebelisa whois 8.8.8.8, empa ona ke mohlala feela.

Re ka ea botebong ba sekoti sa mmutla, hobane ntho e 'ngoe le e' ngoe e sebelisang TCP le UDP e hlile e itšetlehile ka IP hape. Maemong a mangata, IP e hokahane le ARP. Se ke oa lebala ka li-firewall ...

Chaos Engineering: bonono ba ho timetsa ka boomo. Karolo ea 2
Haeba u noa pilisi e khubelu, u lula Wonderland, 'me ke tla u bontša hore na lesoba la mmutla le tebile hakae."

Mokhoa o matla haholoanyane ke oa ho hakolla likoloi ka bonngoe 'me u bone hore na ho robehile eng ... e be "monkey chaos." Ha e le hantle, mekhoa e mengata ea tlhahiso ha e etselitsoe tlhaselo e joalo ea matla, empa bonyane e ka lekoa sebakeng sa teko.

Ho aha 'mapa oa ho itšetleha hangata ke mosebetsi o telele haholo. Haufinyane tjena ke buile le moreki ea qetileng lilemo tse ka bang 2 a ntse a etsa sesebelisoa se hlahisang limmapa tse itšetlehileng ka makholo a li-microservices le litaelo.

Leha ho le joalo, sephetho se khahla haholo ebile se na le thuso. U tla ithuta ho hongata ka sistimi ea hau, litšepiso tsa eona le ts'ebetso. Hape, e-ba le mamello: ke leeto ka bolona le bohlokoa haholo.

3. Hlokomela ho itšepa ho tlōla

"Mang kapa mang ea lorang ka eng, o lumela ho eona." - Demosthenes

Na u kile ua utloa ka ho itshepa hofeta tekanyo?

Ho ea ka Wikipedia, phello ea ho itšepa ho feta tekano ke “tšekamelo ea kelello eo ho eona tšepo ea motho liketsong le liqetong tsa hae e leng kholo haholo ho feta ho nepahala ha likahlolo tseo, haholo-holo ha boemo ba ho itšepa bo le holimo haholo.”

Chaos Engineering: bonono ba ho timetsa ka boomo. Karolo ea 2
E ipapisitse le bohlale ba tlhaho le boiphihlelo...

Boiphihlelong ba ka, ho sotha hona ke leseli le letle la hore na u ka qala kae ka boenjiniere ba pherekano.

Hlokomela mosebeletsi ea itšepa ho feta tekano:

Charlie: "Ntho ena ha e so oele ka lilemo tse hlano, tsohle li hantle!"
Crash: "Ema ... ke tla fihla haufinyane!"

Leeme ka lebaka la ho itšepa ho feta tekano ke ntho e bolotsana le e kotsi ka lebaka la mabaka a fapaneng a e susumetsang. Sena ke 'nete haholo ha litho tsa sehlopha li tšetse lipelo tsa tsona ho thekenoloji kapa li qetile nako e ngata li "lokisa".

Ho akaretsa

Ho batla moo ho ka qaloang teng bakeng sa boenjiniere ba pherekano kamehla ho tlisa litholoana tse ngata ho feta kamoo ho neng ho lebelletsoe, 'me lihlopha tse qalang ho senya lintho ka potlako li lahleheloa ke pono ea mantlha ea lefats'e le e khahlisang ea (chaos-)boenjiniere - tshebediso ya boiqapelo mekhoa ea mahlale и bopaki bo matla bakeng sa moralo, nts'etsopele, ts'ebetso, tlhokomelo le ntlafatso ea (software) litsamaiso.

Sena se phethela karolo ea bobeli. Ka kopo ngola maikutlo, arolelana maikutlo kapa u opa matsoho feela Medium. Karolong e latelang ke ehlile Ke tla nahana ka lisebelisoa le mekhoa ea ho hlahisa liphoso ho litsamaiso. Ho fihlela!

PS ho tsoa ho mofetoleli

Bala hape ho blog ea rona:

Source: www.habr.com

Eketsa ka tlhaloso