Mākaʻikaʻi Pūnaehana Māhele - Google Experience (unuhi o ka mokuna o ka puke Google SRE)

Mākaʻikaʻi Pūnaehana Māhele - Google Experience (unuhi o ka mokuna o ka puke Google SRE)

ʻO SRE (Site Reliability Engineering) kahi ala e hōʻoia ai i ka loaʻa ʻana o nā papahana pūnaewele. Manaʻo ʻia he ʻano hana no DevOps a kamaʻilio e pili ana i ke ʻano e hoʻokō ai i ka kūleʻa i ka hoʻohana ʻana i nā hana DevOps. Unuhi ma kēia ʻatikala Mokuna 6 Nānā i nā Pūnaehana Hoʻolaha nā puke Paena hilinaʻi 'enekinia mai Google mai. Ua hoʻomākaukau au i kēia unuhi a hilinaʻi i koʻu ʻike ponoʻī i ka hoʻomaopopo ʻana i nā kaʻina hana nānā. Ma ke ala telegrama @monitorim_it и blog ma Medium Ua paʻi pū wau i kahi loulou i ka unuhi o ka Mokuna 4 o ka puke like e pili ana i nā pahuhopu pae lawelawe.

Unuhi na ka popoki. Nanea i ka heluhelu!

Loaʻa i nā hui SRE o Google nā ​​loina kumu a me nā hana maikaʻi loa no ka hoʻokumu ʻana i nā ʻōnaehana nānā pono a me ka hoʻolaha. Hāʻawi kēia mokuna i ke alakaʻi ʻana i nā pilikia e hālāwai ai ka mea kipa pūnaewele a pehea e hoʻoponopono ai i nā pilikia e paʻakikī ai ka hōʻike ʻana i nā ʻaoʻao pūnaewele.

Nā wehewehe

ʻAʻohe huaʻōlelo hoʻokahi i hoʻohana ʻia e kūkākūkā i nā kumuhana pili i ka nānā ʻana. ʻOiai ma Google, ʻaʻole hoʻohana maʻamau nā huaʻōlelo ma lalo nei, akā e papa inoa mākou i nā wehewehe maʻamau.

Ka mālama ʻana

ʻO ka hōʻiliʻiliʻana, ka hanaʻana, ka hōʻuluʻulu a me ka hōʻikeʻana i nāʻikepili helu i ka manawa maoli e pili ana i ka pūnaewele: ka helu o nā noi a me nāʻano noi, ka helu o nā hewa a me nāʻano o nā hewa, ka manawa hana noi a me ka manawa o ka server.

Nānā pahu keʻokeʻo

Ka nānā ʻana ma muli o nā ana i hōʻike ʻia e nā ʻāpana ʻōnaehana kūloko, me nā lāʻau, Java Virtual Machine profiling metrics, a i ʻole nā ​​​​mea hoʻohana HTTP e hoʻopuka ana i nā helu kūloko.

Nānā pahu ʻeleʻele

Ke ho'āʻo nei i ka hana noi mai ka manaʻo o ka mea hoʻohana.

Papa kuhikuhi

ʻO kahi kikowaena (maʻa mau pūnaewele) e hāʻawi i kahi ʻike o nā hōʻailona olakino koʻikoʻi o nā lawelawe. Hiki i ka dashboard ke loaʻa nā kānana, ka hiki ke koho i nā hōʻailona i hōʻikeʻia, a me nā mea'ē aʻe. Hiki i ka dashboard ke hōʻike i ka ʻike no nā limahana kākoʻo ʻenehana: kahi laina o nā noi, kahi papa inoa o nā hewa koʻikoʻi, a me kahi ʻenekini i hāʻawi ʻia no kahi kuleana i hāʻawi ʻia.

Makaʻala (hoʻolaha)

ʻO nā leka i manaʻo ʻia e loaʻa i ke kanaka ma o ka leka uila a i ʻole nā ​​ala ʻē aʻe, hiki ke hoʻoulu ʻia e nā hewa a i ʻole ka piʻi ʻana o ka pila noi. Hoʻokaʻawale ʻia nā hoʻolaha e like me: tiketi, leka uila a me nā leka uila.

Kumu kumu

ʻO kahi hemahema polokalamu a i ʻole hewa kanaka i hoʻoponopono ʻia, ʻaʻole pono e hana hou. He mau kumu nui paha ka pilikia: ʻaʻole lawa ka automation kaʻina, hemahema polokalamu, lawa ʻole ka wehewehe ʻana i ka loiloi noi. ʻO kēlā me kēia o kēia mau kumu ke kumu kumu, a pono e hoʻopau ʻia kēlā me kēia.

Node a me ka mīkini (node ​​a me ka mīkini)

Nā huaʻōlelo hoʻololi e pili ana i hoʻokahi laʻana o kahi noi e holo ana ma kahi kikowaena kino, mīkini virtual, a i ʻole pahu. Hiki i kekahi mīkini ke hoʻokipa i nā lawelawe. Hiki i nā lawelawe ke:

  • pili i kekahi i kekahi: no ka laʻana, kahi kikowaena cache a me kahi kikowaena pūnaewele;
  • nā lawelawe pili ʻole ma kahi ʻāpana ʻāpana: no ka laʻana, kahi waihona code a me kahi wizard no kahi ʻōnaehana hoʻonohonoho, e like me ʻAʻaka ai ole ia, Ke aliʻi.

pahu aku ai i

Kekahi hoʻololi i ka hoʻonohonoho polokalamu.

No ke aha e pono ai ka nānā ʻana?

Aia kekahi mau kumu e pono ai ka nānā ʻana i nā noi:

Ka nānā 'ana i nā loina lō'ihi

Pehea ka nui o ka waihona a pehea ka wikiwiki o ka ulu ʻana? Pehea e loli ai ka helu o nā mea hoʻohana i kēlā me kēia lā?

Hoʻohālikelike hana

ʻOi aku ka wikiwiki o nā noi ma Acme Bucket of Bytes 2.72 i hoʻohālikelike ʻia me Ajax DB 3.14? ʻEhia ka maikaʻi o nā noi i hūnā ʻia ma hope o ka puka ʻana o kahi node hou? Ke holo mālie nei ka paena i ka pule i hala?

Makaʻala (hoʻolaha)

Ua haki kekahi mea a pono e hoʻoponopono kekahi. A i ʻole e haki koke kekahi mea a pono e nānā koke kekahi.

Ke hana nei i nā papa kuhikuhi

Pono nā Dashboard e pane i nā nīnau kumu a hoʻokomo i kekahi mea mai "4 hōʻailona gula" - hoʻopaneʻe (latency), traffic (traffic), hewa (hewa) a me ka nui o ka ukana (saturation).

Ke hana nei i ka nānā ʻana i hope (debugging)

Ua hoʻonui ʻia ka lohi kaʻina noi, akā he aha nā mea hou aʻe i ka manawa like?
Pono nā ʻōnaehana nānā ʻana ma ke ʻano he kumu ʻikepili no nā ʻōnaehana naʻauao ʻoihana a e hoʻomaʻamaʻa i ka nānā ʻana i nā hanana palekana. No ka mea e pili ana kēia puke i nā wahi ʻenekinia i loaʻa i nā SRE ka ʻike, ʻaʻole mākou e kūkākūkā i nā ʻenehana nānā ma aneʻi.

ʻO ka nānā ʻana a me nā mākaʻikaʻi e ʻae i ka ʻōnaehana e haʻi iā ʻoe i ka wā i haki ai a kokoke paha e wāwahi. Inā ʻaʻole hiki i kahi ʻōnaehana ke hoʻoponopono iā ia iho, makemake mākou i ke kanaka e kālailai i ka makaʻala, e hoʻoholo inā paʻa ka pilikia, hoʻoholo a hoʻoholo i ke kumu kumu. Inā ʻaʻole ʻoe e loiloi i nā ʻāpana ʻōnaehana, ʻaʻole loa e loaʻa iā ʻoe kahi mākaʻikaʻi no ka mea "he mea ʻano ʻē paha kekahi."

ʻO ke kaumaha ʻana i ke kanaka me nā leka hoʻomaopopo he mea kūʻai maikaʻi loa ia o ka manawa o kahi limahana. Inā hana ka mea hana, hoʻopau ka makaʻala i ke kaʻina hana. Inā aia ka limahana ma ka home, hoʻopau ka makaʻala i ka manawa pilikino a hiamoe paha. Ke puka pinepine ʻia nā mākaʻikaʻi, e ʻimi nā limahana iā lākou, e hoʻokuʻu iā lākou, a i ʻole e haʻalele i nā leka e hiki mai ana. Mai kēlā manawa kēia manawa ke nānā ʻole lākou i ka makaʻala maoli, i uhi ʻia e nā hanana walaʻau. Hiki ke hoʻopau i nā lawelawe no ka manawa lōʻihi no ka mea e pale ana nā hanana walaʻau i ka pilikia mai ka ʻike koke ʻana a hoʻoponopono ʻia. Loaʻa nā ʻōnaehana hoʻolaha maikaʻi i ka ratio hōʻailona-a-noise maikaʻi.

Hoʻonohonoho i nā manaʻolana kūpono no ka ʻōnaehana nānā

ʻO ka hoʻonohonoho ʻana i ka nānā ʻana no kahi noi paʻakikī he hana ʻenehana paʻakikī iā ia iho. ʻOiai me kahi ʻōnaehana koʻikoʻi o ka hōʻiliʻili ʻana, hōʻikeʻike, a me nā mea hana makaʻala, ʻo kahi hui Google SRE o 10-12 mau lālā maʻamau e komo i hoʻokahi a ʻelua paha poʻe nona ke kumu nui e kūkulu a mālama i nā ʻōnaehana nānā. Ua emi kēia helu i ka manawa a mākou e hoʻohui a hoʻonohonoho i ka ʻōnaehana kiaʻi, akā ʻo kēlā me kēia hui SRE i loaʻa i hoʻokahi kanaka i hoʻolaʻa wale ʻia no ka nānā ʻana. Pono mākou e ʻōlelo ʻoiai ʻo ka nānā ʻana i nā dashboards he mea hoihoi loa ke nānā aku, pale pono nā hui SRE i nā kūlana e koi ai i kekahi e nānā i kahi pale e nānā i nā pilikia.

Ma keʻano holoʻokoʻa, ua neʻe ʻo Google i nā ʻōnaehana nānā maʻalahi a me ka wikiwiki me nā mea hana loiloi hope-the-fact. Hōʻalo mākou i nā ʻōnaehana "magic" e hoʻāʻo e wānana i nā paepae a i ʻole e ʻike maʻalahi i ke kumu kumu. ʻO nā meaʻike eʻike i nā mea i manaʻoʻoleʻia i nā noi mea hoʻohana hope wale nō ka mea hoʻohālikelike; ʻOiai e noho maʻalahi kēia mau sensor, hiki iā lākou ke ʻike koke i nā kumu o nā anomalies koʻikoʻi. ʻOi aku ka paʻakikī o nā ʻano hana ʻē aʻe no ka hoʻohana ʻana i ka ʻikepili nānā, e like me ka hoʻolālā ʻana a i ʻole ka wānana kaʻa. ʻO ka nānā ʻana i kahi manawa lōʻihi loa (mau mahina a i ʻole makahiki) ma kahi helu haʻahaʻa haʻahaʻa (nā hola a i ʻole nā ​​​​lā) e hōʻike i kahi ʻano lōʻihi.

Ua lanakila ka hui SRE Google me nā hierarchies hilinaʻi paʻakikī. ʻAʻole mākou e hoʻohana i nā lula e like me "inā ʻike wau ua lohi ka waihona, loaʻa iaʻu kahi mākaʻikaʻi ua lohi ka waihona, i ʻole e loaʻa iaʻu kahi makaʻala he lohi ka pūnaewele." ʻO nā lula pili i ka hilinaʻi maʻamau e pili ana i nā ʻāpana hiki ʻole ke hoʻololi ʻia o kā mākou ʻōnaehana, e like me ka ʻōnaehana no ka kānana ʻana i nā mea hoʻohana i ke kikowaena ʻikepili. No ka laʻana, "inā hoʻonohonoho ʻia ka kānana kaʻa i ke kikowaena ʻikepili, mai makaʻala mai iaʻu e pili ana i ka lohi i ka hoʻoponopono ʻana i nā noi mea hoʻohana" ʻo ia kekahi lula maʻamau no nā mākaʻikaʻi mai ke kikowaena data. Kākoʻo liʻiliʻi nā pūʻulu ma Google i nā hierarchies hilinaʻi paʻakikī no ka mea ʻo kā mākou ʻoihana i loaʻa ka wikiwiki mau o ka refactoring mau.

Pili kekahi mau manaʻo i wehewehe ʻia ma kēia mokuna: aia ka manawa e neʻe wikiwiki ai mai ka hōʻailona a i ke kumu kumu, ʻoi aku ka nui o nā ʻōnaehana hoʻololi mau. No laila, ʻoiai e wehewehe ana kēia mokuna i kekahi mau pahuhopu no ka nānā ʻana i nā ʻōnaehana a pehea e hoʻokō ai i kēlā mau pahuhopu, he mea nui ia e maʻalahi a hoʻomaopopo ʻia nā ʻōnaehana nānā i nā poʻe a pau o ka hui.

Pēlā nō, no ka haʻahaʻa haʻahaʻa haʻahaʻa a me nā pae hōʻailona kiʻekiʻe, pono e maʻalahi a hilinaʻi nā ala e nānā ai i nā waiwai makaʻala. Pono e maʻalahi nā lula e hoʻopuka i nā ʻōlelo aʻo no nā kānaka a hōʻike i kahi pilikia maopopo.

Nā hōʻailona me nā kumu

Pono kāu ʻōnaehana nānā e pane i nā nīnau ʻelua: "he aha ka mea i haki" a "no ke aha i haki ai."
"He aha ka mea i haki" e kamaʻilio e pili ana i ka hōʻailona, ​​a "no ke aha i haki ai" e kamaʻilio e pili ana i ke kumu. Hōʻike ka papa ma lalo i nā laʻana o ia mau pilina.

Hōʻailona
Ke kumu

Loaʻa iā HTTP Error 500 a i ʻole 404
Hōʻole nā ​​kikowaena waihona i nā pilina

Nā pane kikowaena lohi
Ka hoʻohana ʻana i ka CPU kiʻekiʻe a i ʻole ke kaula Ethernet i hōʻino ʻia

ʻAʻole loaʻa nā GIF pōpoki i nā mea hoʻohana ma Antarctica
Ke inaina nei kāu CDN i nā ʻepekema a me nā pōpoki, no laila ua hoʻopau ʻia kekahi mau IP address i ka papa inoa ʻeleʻele

Loaʻa ka ʻike pilikino mai nā wahi a pau
ʻO ka hoʻopuka ʻana o kahi hoʻokuʻu polokalamu hou i poina i ka pā ahi i nā ACL āpau a hoʻokuʻu i nā mea āpau

ʻO "He aha" a me "no ke aha" kekahi o nā hale kūkulu nui loa no ka hana ʻana i kahi ʻōnaehana nānā maikaʻi me ka hōʻailona kiʻekiʻe a me ka leo haʻahaʻa.

Pahu ʻeleʻele vs pahu keʻokeʻo

Hoʻohui mākou i ka nānā ʻana i ka pahu keʻokeʻo nui me ka nānā ʻana i ka pahu ʻeleʻele haʻahaʻa no nā ana koʻikoʻi. ʻO ke ala maʻalahi loa e hoʻohālikelike ai i ka pahu ʻeleʻele me ka pahu keʻokeʻo, ʻo ia ka pahu ʻeleʻele e pili ana i ka hōʻailona a ʻoi aku ka paʻakikī ma mua o ka nānā ʻana: "ʻaʻole hana pololei ka ʻōnaehana i kēia manawa." Ke hilinaʻi nei ka pahu keʻokeʻo i ka hiki ke hōʻoia i loko o nā ʻōnaehana: nā hanana hanana a i ʻole nā ​​kikowaena pūnaewele. No laila, ʻae ʻo White-box iā ʻoe e ʻike i nā pilikia e hiki mai ana, nā hewa i ʻike ʻia he retransmission o kahi noi, etc.

E hoʻomaopopo i loko o kahi ʻōnaehana multi-layer, kahi hōʻailona ma kahi o ka ʻenekinia wahi o ke kuleana he hōʻailona ia i kahi kuleana o kekahi ʻenekinia. No ka laʻana, ua emi iho ka hana ʻikepili. ʻO ka heluhelu ʻana i ka waihona lohi kahi hōʻailona o ka SRE database e ʻike iā lākou. Eia nō naʻe, no ka SRE mua e nānā ana i kahi pūnaewele lohi, ʻo ke kumu o ka heluhelu lohi like ʻana he waihona lohi. No laila, ʻo ka nānā ʻana i ka pahu keʻokeʻo i kekahi manawa e pili ana i nā hōʻailona a i kekahi manawa ke kumu-kau, e pili ana i ka nui o ia.

I ka ʻohi ʻana i ka telemetry no ka debugging, pono ka nānā ʻana i ka White-box. Inā lohi nā kikowaena pūnaewele i ka pane ʻana i nā nīnau waihona, pono ʻoe e ʻike i ka wikiwiki o ke kamaʻilio pūnaewele me ka ʻikepili a me ka wikiwiki o ka pane ʻana. A i ʻole, ʻaʻole hiki iā ʻoe ke hoʻokaʻawale ma waena o kahi kikowaena waihona lohi a me kahi pilikia pūnaewele ma waena o ka pūnaewele pūnaewele a me ka waihona.

Loaʻa i ka nānā ʻana i ka pahu ʻeleʻele kahi pōmaikaʻi nui i ka hoʻouna ʻana i nā mākaʻikaʻi: hoʻomaka ʻoe i ka hoʻolaha i ka mea loaʻa i ka wā i loaʻa ai ka pilikia i nā hōʻailona maoli. Ma ka ʻaoʻao ʻē aʻe, ʻaʻole pono ka nānā ʻana no kahi pilikia Black-pahu ʻaʻole i kū mai akā ua kokoke.

ʻEhā hōʻailona gula

ʻO nā hōʻailona nānā gula ʻehā he latency, traffic, errors, and saturation. Inā hiki iā ʻoe ke ana i ʻehā mau ʻōnaehana mea hoʻohana, e nānā i kēlā mau mea ʻehā.

Hoopanee

ʻO ka manawa e pono ai e hoʻoponopono i ka noi. He mea nui e hoʻokaʻawale i waena o ka latency o nā noi kūleʻa a me ka holomua ʻole. No ka laʻana, hiki ke ʻike koke ʻia kahi hewa HTTP 500 ma muli o ka nalowale o ka pili ʻana i kahi waihona a i ʻole nā ​​​​hopena hope ʻē aʻe, akā naʻe, hiki i kahi hewa HTTP 500 ke kuhikuhi i kahi noi hāʻule. ʻO ka hoʻoholo ʻana i ka hopena o kahi hewa 500 i ka latency holoʻokoʻa hiki ke alakaʻi i nā hopena hewa. Ma ka ʻaoʻao ʻē aʻe, ʻo ka hewa lohi he hewa wikiwiki hoʻi! No laila, he mea nui ka nānā ʻana i ka latency hewa ma mua o ka kānana wale ʻana i nā hewa.

Kalepa hele

Ana ʻia ka helu o nā noi i kāu ʻōnaehana ma nā anana ʻōnaehana pae kiʻekiʻe. No ka lawelawe pūnaewele, hōʻike maʻamau kēia ana i ka helu o nā noi HTTP i kēlā me kēia kekona, i puʻunaue ʻia e ke ʻano o nā noi (e laʻa, ka maʻiʻo static a dynamic paha). No ka ʻōnaehana hoʻoheheʻe leo, ʻike paha kēia ana i ka wikiwiki I/O pūnaewele a i ʻole ka helu o nā kau like. No kahi ʻōnaehana mālama waiwai kī, hiki i kēia ana ke hana a i ʻole nā ​​hopena hulina i kēlā me kēia kekona.

Nā Haʻia

ʻO kēia ka helu o nā noi i hāʻule ʻole (e laʻa me HTTP 500), implicit (e laʻa me HTTP 200 akā i hui pū ʻia me ka manaʻo kūpono ʻole) a i ʻole ke kulekele (e laʻa, "Inā hopu ʻoe i kahi pane i hoʻokahi kekona, he hewa kēlā me kēia kekona"). Inā ʻaʻole lawa nā code pane HTTP no ka hōʻike ʻana i nā kūlana hāʻule ʻole, pono ke koi ʻia nā protocol lua (i loko) e ʻike i ka hāʻule hapa. ʻAʻole ʻike ʻia ka nānā ʻana i kēlā mau noi i hāʻule ʻole, ʻoiai ʻo nā hoʻāʻo ʻana o ka ʻōnaehana hope a hiki i ka hopena e kōkua i ka ʻike ʻana ke hoʻoili nei ʻoe i ka ʻike hewa.

Hoʻohui

Hōʻike ka metric i ka ikaika o kāu lawelawe. ʻO kēia kahi ʻōnaehana nānā ʻana i ka ʻōnaehana e ʻike ai i nā kumuwaiwai i kāohi ʻia (no ka laʻana, ma kahi ʻōnaehana hoʻomanaʻo, hōʻike i ka hoʻomanaʻo, ma kahi ʻōnaehana I/O-constrained, hōʻike i ka helu o I/Os). E hoʻomaopopo he nui nā ʻōnaehana e hoʻohaʻahaʻa i ka hana ma mua o ka hiki ʻana i ka 100% hoʻohana, no laila he mea nui ka loaʻa ʻana o kahi pahuhopu hoʻohana.

Ma nā ʻōnaehana paʻakikī, hiki ke hoʻokō ʻia ka saturation e nā ana haʻahaʻa kiʻekiʻe: hiki anei i kāu lawelawe ke mālama pono i nā kaʻa pālua, mālama i ka 10% ʻoi aku ka nui o nā kaʻa, a i ʻole ke lawelawe ʻoi aku ka liʻiliʻi ma mua o kēia manawa? No nā lawelawe maʻalahi i loaʻa ʻole nā ​​ʻāpana e hoʻololi i ka paʻakikī o ka noi (no ka laʻana, "E hāʻawi mai iaʻu i kekahi mea" a i ʻole "Pono wau i kahi integer monotonic kū hoʻokahi"), ʻaʻole hiki ke hoʻololi i ka hoʻonohonoho ʻana, ua lawa paha ka waiwai hoʻāʻo ukana static. Eia nō naʻe, e like me ka mea i kūkākūkā ʻia ma ka paukū mua, pono ka hapa nui o nā lawelawe e hoʻohana i nā hōʻailona kūʻokoʻa e like me ka hoʻohana ʻana i ka CPU a i ʻole ka bandwidth network, i ʻike ʻia kahi palena o luna. ʻO ka hoʻonui ʻana i ka latency he hōʻailona nui o ka saturation. ʻO ke ana ʻana i ka 99th percentile pane manawa ma kahi pukaaniani liʻiliʻi (e laʻa, hoʻokahi minuke) hiki ke hāʻawi i kahi hōʻailona mua loa o ka saturation.

ʻO ka hope, pili pū ka saturation me nā wānana e pili ana i ka saturation e hiki mai ana, no ka laʻana: "Me he mea lā e hoʻopiha ana kāu waihona i kāu pahu paʻakikī i 4 mau hola."

Inā ʻoe e ana i nā hōʻailona gula ʻehā a i ka wā e pilikia ai kekahi o nā metric (a i ʻole, i ke ʻano o ka saturation, kahi pilikia kokoke), makaʻala ʻoe i kahi kanaka, e uhi ʻia kāu lawelawe e ka nānā ʻana.

Nā hopohopo e pili ana i ka "huelo" (a i ʻole ka mea kani a me ka hana)

I ka hana ʻana i kahi ʻōnaehana nānā mai ka wā ʻōpala, aia kahi hoʻowalewale e hoʻomohala i kahi ʻōnaehana e pili ana i nā waiwai awelika: latency maʻamau, ka hoʻohana ʻana o ka CPU maʻamau o nā nodes, a i ʻole ka piha ʻana o ka waihona waihona. ʻIke ʻia ka pōʻino o nā hiʻohiʻona hope ʻelua: hoʻopau ʻia nā mea hana a me nā ʻikepili i kahi ala ʻike ʻole. Pela no ka lohi. Inā holo ʻoe i kahi lawelawe pūnaewele me ka awelika latency o 100ms me 1000 noi i kēlā me kēia kekona, hiki i ka 1% o nā noi ke lawe i 5 kekona. Inā hilinaʻi nā mea hoʻohana i nā lawelawe pūnaewele he nui, hiki i ka 99th percentile o hoʻokahi hope ke lilo i ka manawa pane median o ka frontend.

ʻO ke ala maʻalahi loa e hoʻokaʻawale i waena o ka awelika lohi a me ka huelo lohi loa o nā noi, ʻo ia ka hōʻiliʻili ʻana i nā ana o nā noi i hōʻike ʻia ma nā helu helu (ʻo kahi mea hana maikaʻi e hōʻike i nā histograms) ma mua o nā latencies maoli: ehia nā noi i lawelawe ʻia ma waena o 0 ms a me 10 ms, ma waena o 10 ms a me 30 ms, ma waena o 30 ms a me 100 ms, ma waena o 100 ms a me 300 ms, a pēlā aku. ʻO ka hoʻonui ʻana i nā palena histogram ma kahi o ka exponentially (ma kahi helu kokoke o 3) he ala maʻalahi ke ʻike i ka puʻunaue. o na noi.

Ke koho ʻana i ka pae kikoʻī kūpono no nā ana

Pono e ana ʻia nā ʻāpana like ʻole o ka ʻōnaehana ma nā pae kikoʻī like ʻole. ʻo kahi laʻana:

  • ʻO ka nānā ʻana i ka hoʻohana ʻana i ka CPU i kekahi manawa ʻaʻole ia e hōʻike i nā spike lōʻihi e alakaʻi i nā latencies kiʻekiʻe.
  • Ma ka ʻaoʻao ʻē aʻe, no ka lawelawe pūnaewele ʻaʻole i ʻoi aku ma mua o 9 mau hola o ka manawa haʻahaʻa i kēlā me kēia makahiki (99,9% makahiki uptime), ʻo ka nānā ʻana i kahi pane HTTP 200 ma mua o hoʻokahi a ʻelua paha i ka minuke he mea pinepine ʻole paha.
  • Pēlā nō, ʻaʻole pono ka nānā ʻana i ka wahi paʻakikī no ka loaʻa ʻana o 99,9% ma mua o hoʻokahi manawa i kēlā me kēia 1-2 mau minuke.

E mālama pono i ke ʻano o kāu hoʻonohonoho ʻana i ka granularity o kāu mau ana. ʻO ka hōʻiliʻili ʻana i ka ukana CPU i hoʻokahi manawa i kēlā me kēia kekona hiki ke hāʻawi i ka ʻikepili hoihoi, akā ʻo ia mau ana pinepine hiki ke uku nui loa no ka hōʻiliʻili, mālama ʻana, a me ka nānā ʻana. Inā makemake kāu pahuhopu nānā i ka granularity kiʻekiʻe a ʻaʻole koi i ka pane kiʻekiʻe, hiki iā ʻoe ke hōʻemi i kēia mau kumukūʻai ma ka hoʻonohonoho ʻana i ka hōʻiliʻili metric ma ke kikowaena a laila hoʻonohonoho i kahi ʻōnaehana waho e hōʻiliʻili a hōʻuluʻulu i kēlā mau ana. Hiki iā ʻoe ke:

  1. E ana i ka ukana CPU i kēlā me kēia kekona.
  2. E ho'ēmi i nā kiko'ī i 5%.
  3. E hōʻuluʻulu ʻia i kēlā me kēia minuke.

E ʻae kēia hoʻolālā iā ʻoe e hōʻiliʻili i ka ʻikepili ma kahi granularity kiʻekiʻe me ka loaʻa ʻole o ka loiloi kiʻekiʻe a me ka waiho ʻana ma luna.

E like me ka maʻalahi, akā ʻaʻole maʻalahi

ʻO ka uhi ʻana o nā koi like ʻole ma luna o kekahi i hiki ke hopena i kahi ʻōnaehana nānā paʻakikī. No ka laʻana, loaʻa paha i kāu ʻōnaehana kēia mau mea paʻakikī:

  • Nā ʻōlelo aʻoaʻo e like me nā paepae like ʻole no ke noi ʻana i ka latency, ma nā pākēneka like ʻole, no nā ʻano hōʻailona like ʻole.
  • Ke kākau ʻana i nā code hou e ʻike a ʻike i nā kumu hiki.
  • E hana i nā dashboards pili no kēlā me kēia kumu kumu o nā pilikia.

ʻAʻole pau nā kumu o ka pilikia. E like me nā ʻōnaehana polokalamu āpau, hiki ke paʻakikī ka nānā ʻana a lilo i mea palupalu a paʻakikī hoʻi e hoʻololi a mālama.

No laila, e hoʻolālā i kāu ʻōnaehana nānā e hoʻomaʻamaʻa e like me ka hiki. Ke koho nei i ka mea e hahai ai, e hoʻomanaʻo i kēia:

  • Pono nā lula e hopu pinepine i nā hanana maoli e like me ka maʻalahi, wānana a hilinaʻi e like me ka hiki.
  • Pono e wehe ʻia ka hoʻonohonoho ʻana no ka hōʻiliʻili ʻikepili, ka hōʻuluʻulu ʻana, a me ka makaʻala i hana pinepine ʻia (no ka laʻana, emi iho ma mua o ka hapaha makahiki no kekahi mau hui SRE.
  • ʻO nā ana i hōʻiliʻili ʻia akā ʻaʻole i hōʻike ʻia ma kekahi dashboard nāmua a i hoʻohana ʻia e kekahi makaʻala he mau moho no ka holoi ʻana.

Ma Google, ʻo ka hōʻiliʻili ʻana a me ka hōʻuluʻulu ʻana, i hui pū ʻia me nā mākaʻikaʻi a me nā dashboards, hana maikaʻi e like me kahi ʻōnaehana kū hoʻokahi (ua wāwahi maoli ʻia ka ʻōnaehana nānā ʻana o Google i loko o nā subsystems, akā ʻike maʻamau ka poʻe i nā ʻano āpau o kēia mau subsystem). He mea hoʻowalewale paha ka hoʻohui ʻana i ka nānā ʻana me nā ʻenehana ʻē aʻe no ka nānā ʻana i nā ʻōnaehana paʻakikī: kikoʻī kikoʻī ʻōnaehana profiling, kaʻina hana debugging, ka nānā ʻana i nā kikoʻī e pili ana i nā ʻokoʻa a i ʻole nā ​​hemahema, hoʻāʻo hoʻouka, hōʻiliʻili a me ka nānā ʻana, a i ʻole ka nānā ʻana. ʻOiai ʻo ka hapa nui o kēia mau mea he mau mea maʻamau me ka nānā kumu, ʻo ka hui ʻana iā lākou e hopena i nā hopena he nui a hana i kahi ʻōnaehana paʻakikī a palupalu. E like me nā ʻano ʻē aʻe he nui o ka hoʻomohala ʻana i nā polokalamu, ʻo ke kākoʻo ʻana i nā ʻōnaehana like ʻole me nā kiko hoʻohui maʻalahi, maʻalahi, ʻoluʻolu ka hoʻolālā maikaʻi loa (no ka laʻana, me ka hoʻohana ʻana i kahi API pūnaewele e kiʻi i ka ʻikepili i hōʻuluʻulu ʻia i kahi ʻano hiki ke kūpaʻa i ka lōʻihi o ka manawa. ).

Nakinaki i na Kumu

Hiki ke hoʻohui ʻia nā kumumanaʻo i kūkākūkā ʻia ma kēia mokuna i loko o kahi ʻatikala nānā a me ka makaʻala i ʻae ʻia a hahai ʻia e nā hui SRE Google. ʻO ka hoʻopaʻa ʻana i kēia philosophy kiaʻi he mea makemake ia, he wahi hoʻomaka maikaʻi no ka hoʻokumu ʻana a i ʻole ka hoʻoponopono ʻana i kāu ʻano hana makaʻala, a hiki ke kōkua iā ʻoe e nīnau i nā nīnau kūpono o kāu hana hana, me ka nānā ʻole i ka nui o kāu hui a i ʻole ka paʻakikī o ka lawelawe a i ʻole ka ʻōnaehana.

I ka hana ʻana i nā lula nānā a me ka makaʻala, ʻo ka nīnau ʻana i kēia mau nīnau hiki ke kōkua iā ʻoe e pale i nā hopena maikaʻi ʻole a me nā makaʻala pono ʻole:

  • Ke ʻike nei anei kēia lula i kahi kūlana ʻike ʻole ʻole o ka ʻōnaehana wikiwiki, kāhea i ka hana, a pili i ka mea hoʻohana?
  • Hiki iaʻu ke haʻalele i kēia ʻōlelo aʻo me ka ʻike he maikaʻi ia? I ka manawa a no ke aha e hiki ai iaʻu ke haʻalele i kēia ʻōlelo aʻo a pehea wau e pale aku ai i kēia hiʻohiʻona?
  • Ke manaʻo nei anei kēia mākaʻikaʻi e hoʻopilikia maikaʻi ʻia nā mea hoʻohana? Aia nā kūlana i hoʻopilikia ʻole ʻia nā mea hoʻohana, e like me ke kānana ʻana a i ʻole ke hoʻohana ʻana i nā ʻōnaehana hoʻāʻo e pono ai ke kānana ʻia nā mākaʻikaʻi?
  • Hiki iaʻu ke hana i ka pane ʻana i kēia makaʻala? He wikiwiki paha kēia mau hana a hiki paha ke kali a hiki i ke kakahiaka? Hiki ke hoʻohana pono ʻia kahi hana? ʻO kēia hana he hopena lōʻihi a i ʻole he hana pōkole?
  • Loaʻa i kekahi poʻe nā makaʻala he nui no kēia pilikia, no laila aia kahi ala e hōʻemi ai i ka helu o nā makaʻala?

E hōʻike ana kēia mau nīnau i ke kumu noʻonoʻo e pili ana i nā ʻōkuhi a me nā ʻōnaehana hoʻolaha:

  • I kēlā me kēia manawa e komo mai kahi makaʻala, pono wau e pane koke. Hiki iaʻu ke hana wikiwiki i kekahi mau manawa i ka lā ma mua o koʻu luhi.
  • Pono kēlā me kēia makaʻala.
  • Pono kēlā me kēia pane i kahi makaʻala e koi i ka hana kanaka. Inā hiki ke hana maʻalahi ka leka hoʻomaopopo, ʻaʻole ia e hiki mai.
  • Pono nā māka e pili ana i kahi pilikia hou a i ʻole hanana i loaʻa ʻole ma mua.

Hoʻopiʻi kēia ala i kekahi mau ʻokoʻa: inā hoʻokō ka makaʻala i nā kūlana ʻehā i hala, ʻaʻole ia he mea nui inā hoʻouna ʻia ka mākaʻikaʻi mai kahi ʻōnaehana nānā ʻo White-box a Black-Box. Hoʻoikaika pū kēia ala i kekahi mau ʻokoʻa: ʻoi aku ka maikaʻi o ka hoʻoikaika ʻana i ka ʻike ʻana i nā hōʻailona ma mua o nā kumu; i ka wā e pili ana i nā kumu, pono ʻoe e hopohopo e pili ana i nā kumu hiki ʻole.

Nānā lōʻihi

I loko o nā kaiapuni huahana o kēia lā, nānā nā ʻōnaehana kiaʻi i kahi ʻōnaehana hana e ulu mau nei me ka hoʻololi ʻana i ka hoʻolālā polokalamu, nā hiʻohiʻona hana, a me nā pahuhopu hana. ʻO nā ʻōlelo aʻoaʻo i paʻakikī i kēia manawa ke lilo i mea maʻamau, pono paha ke kamaʻilio ʻana. I kēia manawa, pono i kekahi ke ʻimi a hoʻopau i nā kumu kumu o ka pilikia; inā ʻaʻole hiki ke hoʻoholo ʻia, pono ka pane ʻana i ka makaʻala i ka automation piha.

He mea nui e hoʻoholo i ka nānā ʻana me ka noʻonoʻo ʻana i nā pahuhopu lōʻihi. ʻO kēlā me kēia makaʻala e holo nei i kēia lā e hoʻohuli i ke kanaka mai ka hoʻomaikaʻi ʻana i ka ʻōnaehana i ka lā ʻapōpō, no laila e hoʻemi pinepine ʻia ka loaʻa a i ʻole ka hana ʻana o kahi ʻōnaehana huahana no ka manawa e pono ai e hoʻomaikaʻi i ka ʻōnaehana nānā i ka wā lōʻihi. E nānā kākou i ʻelua laʻana e hōʻike i kēia ʻano.

Bigtable SRE: He Moʻolelo o ka Makaala Nui

Hāʻawi ʻia a ana ʻia nā ʻōnaehana kūloko o Google i kahi pae lawelawe (SLO). He mau makahiki i hala aku nei, ua hoʻokumu ʻia ka lawelawe ʻo Bigtable SLO ma ka hana maʻamau o kahi kālepa synthetic e hoʻohālikelike ana i kahi mea kūʻai ola. Ma muli o nā pilikia ma Bigtable a me nā pae haʻahaʻa o ka waihona waihona, ua alakaʻi ʻia ka hana maʻamau e kahi huelo "nui": ʻoi aku ka lohi o ka 5% o nā nīnau ma mua o ke koena.

Ua hoʻouna ʻia nā leka leka uila i ka wā i hoʻokokoke ʻia ai ka paepae SLO, a ua hoʻouna ʻia nā leka uila i ka wā i ʻoi aku ai ka SLO. Ua hoʻouna pinepine ʻia nā ʻano mākaʻikaʻi ʻelua, e hoʻopau ana i nā manawa ʻenekinia i ʻae ʻole ʻia: ua hoʻohana ka hui i kahi manawa nui e hoʻokaʻawale i nā mākaʻikaʻi e ʻike i nā mea liʻiliʻi i pili maoli. Ua hala pinepine mākou i kahi pilikia i hoʻopilikia maoli i nā mea hoʻohana no ka mea aia wale kekahi o nā mākaʻikaʻi no kēlā pilikia kikoʻī. ʻAʻole wikiwiki ka nui o nā mākaʻikaʻi ma muli o nā pilikia hiki ke hoʻomaopopo ʻia i ka ʻōnaehana a ua hana ʻia ma ke ʻano maʻamau, a ʻaʻole hoʻi i hana ʻia.

No ka hoʻoponopono ʻana i ke kūlana, ua lawe ka hui i ʻekolu ʻaoʻao: ʻOiai e hana ikaika ana e hoʻomaikaʻi i ka hana a Bigtable, ua hoʻonohonoho mākou i kā mākou pahuhopu SLO i ka 75th percentile no ka latency pane pane. Ua hoʻopau pū mākou i nā leka leka uila no ka nui o ia mau mea i hiki ʻole ke hoʻolilo i ka manawa e ʻike ai iā lākou.

Ua ʻae kēia hoʻolālā iā mākou i ka lumi hanu e hoʻomaka e hoʻoponopono i nā pilikia lōʻihi ma Bigtable a me nā pae haʻahaʻa o ka waihona waihona, ma mua o ka hoʻoponopono mau ʻana i nā pilikia pili. Hiki i nā ʻenekinia ke hoʻokō i ka hana me ka ʻole o ka hoʻopaʻa ʻia ʻana me nā makaʻala i nā manawa āpau. ʻO ka hope loa, ʻo ka hoʻopaneʻe ʻana i ka hana makaʻala no kekahi manawa i hiki iā mākou ke hoʻomaikaʻi i ka maikaʻi o kā mākou lawelawe.

Gmail: Nā pane kanaka hiki ke wānana

I kona hoʻomaka ʻana, ua kūkulu ʻia ʻo Gmail ma luna o kahi ʻōnaehana hoʻokele kaʻina hana Workqueue i hoʻolālā ʻia e hoʻopaʻa ʻia i nā ʻāpana kaʻina hana o kahi papa kuhikuhi hulina. Ua hoʻololi ʻia ʻo Workqueue i nā kaʻina hana lōʻihi a hoʻopili ʻia iā Gmail, akā paʻakikī loa ka hoʻoponopono ʻana i kekahi mau hewa i ka code scheduler opaque.

I kēlā manawa, ua hoʻonohonoho ʻia ka nānā ʻana iā Gmail i mea e hoʻāla ʻia ai nā mākaʻikaʻi i ka wā i hoʻopau ʻia ai nā hana pākahi me ka Workqueue. ʻAʻole kūpono kēia ala, no ka mea, i kēlā manawa, ua hana ʻo Gmail i nā tausani o nā hana, ua hāʻawi ʻia kēlā me kēia i kahi hapa o ka hapa pakeneka o kā mākou mea hoʻohana. Ua hopohopo nui mākou e pili ana i ka hāʻawi ʻana i nā mea hoʻohana Gmail me kahi ʻike mea hoʻohana maikaʻi, akā ʻaʻole hiki ke hoʻohana ʻia nā mākaʻikaʻi he nui.

No ka hoʻoponopono ʻana i kēia pilikia, ua hana ʻo Gmail SRE i kahi mea hana e kōkua i ka debug i ka mea hoʻonohonoho e like me ka hiki ke hōʻemi i ka hopena i nā mea hoʻohana. He mau kūkākūkā ko ka hui e pili ana i ka hoʻomaʻamaʻa wale ʻana i ka pōʻai holoʻokoʻa mai ka ʻike ʻana i ka pilikia ma o ka hoʻoponopono ʻana a hiki i ka loaʻa ʻana o kahi hopena lōʻihi, akā hopohopo kekahi no ka hoʻopaneʻe ʻana i ka pilikia.

He mea maʻamau kēia haʻalulu i loko o ka hui a hōʻike pinepine i ka pau ʻole o ka hilinaʻi i ka hoʻopaʻi ʻana iā ia iho: ʻoiai makemake kekahi mau lālā o ka hui e ʻae i ka manawa no ka hoʻoponopono pololei, hopohopo kekahi poina ka hoʻoponopono hope loa a mau loa ka hoʻoponopono pōkole. Pono kēia pilikia no ka mea maʻalahi loa ka hoʻoponopono ʻana i nā pilikia ma mua o ka hoʻomau ʻana i ke kūlana. He kuleana koʻikoʻi nā luna a me nā limahana loea i ka hoʻokō ʻana i nā hoʻoponopono lōʻihi, ke kākoʻo a me ka hoʻonohonoho mua ʻana i nā hoʻoponopono wā lōʻihi ma hope o ka pau ʻana o ka "ʻeha" mua.

ʻO nā mākaʻikaʻi maʻamau a me nā pane algorithmic he hae ʻulaʻula. ʻO ka makemake ʻole o kāu hui e hoʻokaʻawale i kēia mau mākaʻikaʻi ʻo ia ka nele o ka hilinaʻi o ka hui e hiki iā lākou ke hilinaʻi i nā algorithms. He pilikia koʻikoʻi kēia e pono e hoʻoponopono ʻia.

Wā lōʻihi

Hoʻopili ke kumuhana maʻamau i nā laʻana Bigtable a me Gmail: ka hoʻokūkū ma waena o ka loaʻa pōkole a me ka wā lōʻihi. ʻO ka manawa pinepine, hiki i ka hoʻoikaika ikaika ke kōkua i kahi ʻōnaehana palupalu e hoʻokō i ka loaʻa kiʻekiʻe, akā ʻo kēia ala maʻamau ka pōkole, piha i ka pau ʻana o ka hui a hilinaʻi i kahi helu liʻiliʻi o nā lālā o kēlā hui koa.

Manaʻo, pōkole-manawa ho'ēmi i loaʻa pinepine eha, akā, strategically koʻikoʻi no ka lōʻihi-manawa paʻa o ka'ōnaehana. He mea nui ʻaʻole e nānā i kēlā me kēia mākaʻikaʻi ma kahi kaʻawale, akā e noʻonoʻo inā ke alakaʻi nei ka pae holoʻokoʻa o ka leo makaʻala i kahi ʻōnaehana olakino, hiki ke loaʻa pono me kahi hui kūpono a me kahi wānana maikaʻi. Hoʻopili mākou i nā helu helu alapine makaʻala (i hōʻike pinepine ʻia e like me nā hanana i kēlā me kēia neʻe, kahi i loaʻa i kahi hanana i nā hanana e pili ana) i nā hōʻike i kēlā me kēia hapaha makahiki i ka hoʻokele, e ʻae ana i nā mea hoʻoholo e ʻike mau i ka ukana ʻōnaehana makaʻala a me ke olakino hui holoʻokoʻa.

hopena

He maʻalahi a maopopo ke ala i ka nānā ʻana a me ka makaʻala. Hoʻopili ia i nā hōʻailona o ka pilikia e hoʻomaka ai i nā makaʻala, a ʻo ka nānā ʻana i ke kumu he mea kōkua i ka hoʻopau ʻana i nā pilikia. ʻOi aku ka maʻalahi o ka nānā ʻana i nā hōʻailona ke kiʻekiʻe ʻoe i loko o ka waihona āu e hoʻomalu ai, ʻoiai ʻo ka nānā ʻana i ka ukana a me ka hana ʻana o ka waihona pono e hana pololei ʻia ma ka ʻikepili ponoʻī. He liʻiliʻi loa ka hoʻohana ʻana o nā leka uila a lilo i ka leo; akā, pono ʻoe e hoʻohana i kahi dashboard e nānā i nā pilikia āpau o kēia manawa e hoʻomaka ana i nā leka uila. Hiki ke hoʻohui pū ʻia ka dashboard me kahi moʻolelo hanana no ke kālailai ʻana i nā pilina mōʻaukala.

I ka wā lōʻihi, pono e hoʻokō i ka hoʻololi kūleʻa o nā mākaʻikaʻi e pili ana i nā hōʻailona a me nā pilikia maoli e kokoke mai ana, e hoʻololi i nā pahuhopu e hōʻoia i ke kākoʻo ʻana o ka nānā ʻana i ka ʻike wikiwiki.

Mahalo iā ʻoe no ka heluhelu ʻana i ka unuhi a hiki i ka hopena. E kau inoa i kaʻu channel telegram e pili ana i ka nānā ʻana @monitorim_it и blog ma Medium.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka