He maʻalahi ka hoʻokō ʻana i nā ana i helu ʻia ma lalo nei akā he hopena kiʻekiʻe. Inā ʻaʻole ʻoe i hoʻāʻo iā lākou ma mua, e kahaha ʻoe i nā hoʻomaikaʻi nui.
ʻOihana e like me ke code
ʻO ka ʻāpana mua o ka ʻōlelo aʻoaʻo e hoʻokō i nā ʻōnaehana ma ke ʻano he code. 'O ia ho'i, pono e loa'a iā 'oe kahi ala programmatic e ho'olālā i ka 'oihana holo'oko'a. He mea paʻakikī ia, akā ke kamaʻilio nei mākou e pili ana i kēia code:
Ka hoʻohana ʻana i nā mīkini virtual 100
me Ubuntu
2 GB RAM i kēlā me kēia
e loaʻa iā lākou kēia code
me keia mau palena
Hiki iā ʻoe ke hahai i nā loli i kāu ʻōnaehana a hoʻi koke iā lākou me ka hoʻohana ʻana i ka mana mana.
'Ōlelo ka mea hou i loko oʻu hiki iā ʻoe ke hoʻohana iā Kubernetes/Docker e hana i nā mea a pau i luna, a ua pololei ʻo ia.
Eia kekahi, hiki iā ʻoe ke hāʻawi i ka automation me ka hoʻohana ʻana iā Chef, Puppet a i ʻole Terraform.
Hoʻohui mau a me ka lawe ʻana
No ka hana ʻana i kahi lawelawe scalable, he mea nui ia e kūkulu a hoʻāʻo i ka pipeline no kēlā me kēia noi huki. ʻOiai inā he maʻalahi loa ka hoʻāʻo ʻana, e hōʻoia i ka hōʻuluʻulu ʻana o ke code āu e kau ai.
I kēlā me kēia manawa ma kēia pae e pane ʻoe i ka nīnau: E hōʻuluʻulu anei kaʻu hui a hele i nā hoʻokolohua, kūpono anei? E like paha kēia me kahi pā haʻahaʻa, akā hoʻonā i nā pilikia he nui.
ʻAʻohe mea maikaʻi aʻe ma mua o ka ʻike ʻana i kēia mau ticks
No kēia ʻenehana hiki iā ʻoe ke loiloi iā Github, CircleCI a i ʻole Jenkins.
Nā Mea Kaulike
No laila, makemake mākou e holo i kahi mea kaulike e hoʻihoʻi i ke kaʻa a hōʻoia i ka hoʻokau like ʻana ma nā nodes āpau a i ʻole e hoʻomau ka lawelawe i ka wā o ka hāʻule ʻole:
He hana maikaʻi ka puʻunaue ukana ma ka puʻunaue ʻana i nā kaʻa. ʻO ka hoʻomaʻamaʻa maikaʻi loa ʻo ka overbalance i ʻole e loaʻa iā ʻoe kahi kuhi hewa.
ʻO ka maʻamau, hoʻonohonoho ʻia nā mea kaulike hoʻouka i ke ao āu e hoʻohana ai.
RayID, correlation ID a i ʻole UUID no nā noi
Ua ʻike paha ʻoe i kahi hewa noi me kahi memo e like me kēia: "Ua hewa kekahi mea. E mālama i kēia id a hoʻouna i kā mākou hui kākoʻo"?
ʻO kahi mea hōʻike kūʻokoʻa, ID correlation, RayID, a i ʻole kekahi o nā ʻano like ʻole, he ʻike kūʻokoʻa e hiki ai iā ʻoe ke hahai i kahi noi i loko o kona ola. ʻAe kēia iā ʻoe e hahai i ke ala noi holoʻokoʻa ma nā moʻolelo.
Noi ka mea hoʻohana i ka ʻōnaehana A, a laila hoʻopili ʻo A iā B, nāna e hoʻopili iā C, mālama iā ia ma X, a laila hoʻihoʻi ʻia ke noi iā A.
Inā ʻoe e hoʻopili mamao aku i nā mīkini virtual a hoʻāʻo e ʻimi i ke ala noi (a hoʻoponopono lima i nā kelepona e hana ʻia ana), e pupule ʻoe. ʻO ka loaʻa ʻana o kahi mea hōʻike kūʻokoʻa e maʻalahi ke ola. ʻO kēia kekahi o nā mea maʻalahi hiki iā ʻoe ke hana e mālama i ka manawa i ka ulu ʻana o kāu lawelawe.
ʻIla waena
ʻOi aku ka paʻakikī o ka ʻōlelo aʻo ma mua o nā mea ma mua, akā ʻo nā mea hana pono e maʻalahi ka hana, e hāʻawi ana i ka hoʻihoʻi ʻana i ka hoʻopukapuka ʻana no nā ʻoihana liʻiliʻi a me nā ʻoihana liʻiliʻi.
logging kikowaena
Hoʻomaikaʻi! Ua hoʻonoho ʻoe i nā mīkini virtual 100. I ka lā aʻe, hele mai ka CEO a hoʻopiʻi i kahi hewa i loaʻa iā ia i ka wā e hoʻāʻo ai i ka lawelawe. Hōʻike ʻo ia i ka ID pili a mākou i kamaʻilio ai ma luna, akā pono ʻoe e nānā i nā lāʻau o nā mīkini 100 e ʻike i ka mea i hoʻokumu i ka ulia. A pono e ʻike ʻia ma mua o ka hōʻike ʻana o ka lā ʻapōpō.
ʻOiai he mea leʻaleʻa kēia, ʻoi aku ka maikaʻi o ka hōʻoia ʻana iā ʻoe ka hiki ke huli i nā makasina a pau ma kahi hoʻokahi. Ua hoʻoholo wau i ka pilikia o ka hoʻonohonoho ʻana i nā lāʻau me ka hoʻohana ʻana i ka hana i kūkulu ʻia o ka waihona ELK: kākoʻo ia i ka hōʻiliʻili lāʻau huli. E kōkua maoli kēia i ka hoʻoponopono ʻana i ka pilikia o ka loaʻa ʻana o kahi puke pai kikoʻī. Ma ke ʻano he bonus, hiki iā ʻoe ke hana i nā pakuhi a me nā mea leʻaleʻa ʻē aʻe e like me ia.
ELK hoʻopaʻa hana
Nā mea mālama mālama
I kēia manawa ke holo nei kāu lawelawe, pono ʻoe e hōʻoia i ka holo mālie. ʻO ke ala maikaʻi loa e hana ai i kēia, ʻo ia ka holo ʻana i kekahi nā ʻelele, e hana like ana a nānā i ka hana a ua hana ʻia nā hana maʻamau.
I kēia manawa e nānā ʻoe i kēlā maikaʻi ka holo ʻana a hana maikaʻi.
No nā papahana liʻiliʻi a liʻiliʻi, paipai wau iā Postman no ka nānā ʻana a me ka palapala ʻana i nā API. Akā ma ka laulā, makemake wale ʻoe e hōʻoia i kahi ala e ʻike ai i ka wā i puka mai ai kahi outage a e hoʻomaopopo ʻia i ka manawa kūpono.
ʻO ka hoʻonui ʻana ma muli o ka ukana
He mea maʻalahi loa. Inā loaʻa iā ʻoe kahi noi lawelawe VM a ke kokoke mai nei i ka 80% hoʻohana hoʻomanaʻo, hiki iā ʻoe ke hoʻonui i kāna mau kumuwaiwai a hoʻohui i nā VM hou i ka hui. ʻOi aku ka maikaʻi o ka hoʻokō ʻana i kēia mau hana no ka hoʻololi ʻana i ka mana elastic ma lalo o ka ukana. Akā, pono ʻoe e makaʻala i ka nui o ke kālā āu e hoʻolilo ai a kau i nā palena kūpono.
Me ka hapa nui o nā lawelawe kapuaʻi, hiki iā ʻoe ke hoʻonohonoho iā ia i autoscale me ka hoʻohana ʻana i nā kikowaena hou aʻe a i ʻole nā kikowaena ikaika.
Pūnaehana hoʻokolohua
ʻO kahi ala maikaʻi e hoʻopuka palekana ai i nā mea hou e hiki ke hoʻāʻo i kahi mea no 1% o nā mea hoʻohana no hoʻokahi hola. ʻOiaʻiʻo, ua ʻike ʻoe i nā ʻano hana i ka hana. No ka laʻana, hōʻike ʻo Facebook i nā ʻāpana o ka lehulehu i kahi kala ʻokoʻa a hoʻololi paha i ka nui font e ʻike i ka ʻike ʻana o nā mea hoʻohana i nā loli. Kapa ʻia kēia hoʻokolohua A/B.
ʻO ka hoʻokuʻu ʻana i kahi hiʻohiʻona hou hiki ke hoʻomaka ma ke ʻano he hoʻokolohua a laila hoʻoholo pehea e hoʻokuʻu ai. Loaʻa iā ʻoe ka hiki ke "hoʻomanaʻo" a hoʻololi paha i ka hoʻonohonoho ma ka lele e pili ana i ka hana e hoʻohaʻahaʻa ai i kāu lawelawe.
ʻIke kiʻekiʻe
Eia nā ʻōlelo aʻoaʻo paʻakikī loa e hoʻokō. Pono paha ʻoe i nā kumuwaiwai hou aʻe, no laila e paʻakikī ka ʻoihana liʻiliʻi a i ʻole ka nui o ka hoʻokele ʻana i kēia.
ʻO nā hoʻolālā uliuli-'ōmaʻomaʻo
ʻO kēia kaʻu i kapa ai ʻo "Erlang" ala o ka wehe ʻana. Ua hoʻohana nui ʻia ʻo Erlang i ka wā i ʻike ʻia ai nā hui kelepona. Hoʻomaka ka hoʻohana ʻana i nā softswitch e hoʻokele i nā kelepona kelepona. ʻO ke kumu nui o ka polokalamu ma kēia mau hoʻololi, ʻaʻole ia e haʻalele i nā kelepona i ka wā e hoʻonui ai i ka ʻōnaehana. He ala maikaʻi ʻo Erlang e hoʻouka ai i kahi module hou me ka ʻole o ka haki ʻana i ka mea ma mua.
Aia kēia ʻanuʻu i ka loaʻa ʻana o kahi mea kaulike haʻahaʻa. E noʻonoʻo ʻoe ua loaʻa iā ʻoe ka mana N o kāu polokalamu, a laila makemake ʻoe e kau i ka mana N+1.
ʻOʻoe hiki iā mākou E ho'ōki wale i ka lawelawe a ʻōwili i ka mana hou i ka manawa e hana ai no kāu mea hoʻohana a loaʻa i kahi manawa hoʻomaha. Akā, inā paha ua loaʻa iā ʻoe ʻoiaʻiʻo nā kūlana SLA koʻikoʻi. No laila, ʻo SLA 99,99% hiki iā ʻoe ke hele i waho wale e 52 mau minuke i kēlā me kēia makahiki.
Inā makemake ʻoe e hoʻokō i kēlā mau hōʻailona, pono ʻoe i ʻelua hoʻolālā i ka manawa like:
ka mea i keia manawa (N);
mana hou (N+1).
E haʻi aku ʻoe i ka mea kaulike haʻahaʻa e hoʻihoʻi hou i kahi pākēneka o ke kaʻa i ka mana hou (N+1) ʻoiai ʻoe e nānā ikaika ana i nā regressions.
Aia iā mākou kahi hoʻolālā ʻōmaʻomaʻo N e hana maikaʻi. Ke hoʻāʻo nei mākou e neʻe i ka mana hou o kēia hoʻolālā
Hoʻouna mua mākou i kahi hoʻokolohua liʻiliʻi loa e ʻike inā hana kā mākou N+1 me ka liʻiliʻi o nā kaʻa:
ʻO ka hope, loaʻa iā mākou kahi pūʻulu o nā loiloi automated a mākou e holo ai a hiki i ka pau ʻana o kā mākou kau ʻana. Inā ʻoe loa loa akahele, hiki iā ʻoe ke mālama i kāu hoʻolālā N mau loa no ka rollback wikiwiki i ka hihia o ka regression maikaʻi ʻole:
Inā makemake ʻoe e hele i kahi pae kiʻekiʻe aʻe, e hoʻokuʻu i nā mea a pau i loko o ka hoʻolālā uliuli-'ōmaʻomaʻo e holo aunoa.
ʻIke anomaly a me ka hoʻēmi ʻakomi
Hāʻawi ʻia i loaʻa iā ʻoe ke kikowaena kikowaena a me ka hōʻiliʻili lāʻau maikaʻi, hiki iā ʻoe ke hoʻonohonoho i nā pahuhopu kiʻekiʻe. No ka laʻana, wānana mua i nā hemahema. Hoʻopili ʻia nā hana ma nā mākaʻikaʻi a me nā lāʻau a ua kūkulu ʻia nā kiʻi like ʻole - a hiki iā ʻoe ke wānana mua i ka mea e hewa ai:
Ke ʻike ʻia nā anomalies, hoʻomaka ʻoe e nānā i kekahi o nā hōʻailona i hāʻawi ʻia e ka lawelawe. No ka laʻana, hiki i ka spike i ka ukana CPU ke hōʻike i ka hāʻule ʻana o kahi pahu paʻakikī, aʻo ka spike o nā noi e hōʻike paha he pono ʻoe e hoʻonui. ʻO kēia ʻano ʻikepili helu e hiki ai iā ʻoe ke hoʻoikaika i ka lawelawe.
Me kēia mau ʻike, hiki iā ʻoe ke hoʻonui i kēlā me kēia ʻāpana a hoʻololi i nā ʻano o nā mīkini, nā ʻikepili, nā pilina a me nā kumuwaiwai ʻē aʻe.
ʻo ia wale nō!
ʻO kēia papa inoa o nā mea nui e mālama iā ʻoe i nā pilikia he nui inā ʻoe e hāpai i kahi lawelawe kapua.
Ke kono nei ka mea kākau o ka ʻatikala kumu i ka poʻe heluhelu e haʻalele i kā lākou manaʻo a hana i nā loli. Hāʻawi ʻia ka ʻatikala ma ke ʻano he open source, huki noi a ka mea kākau ʻae ma Github.