Table of Contents[Hūnā][Hōʻike]
He ʻāpana koʻikoʻi ka Infrastructure o ke kaʻina hana hoʻomohala polokalamu ʻoiai ʻo ia ke kuleana no ka hana maʻemaʻe o ka polokalamu polokalamu. ʻO nā kikowaena, nā mea kaulike, nā pā ahi, nā ʻikepili, a me nā puʻupuʻu pahu paʻakikī nā hiʻohiʻona āpau o ka ʻoihana.
Ma muli o ka paʻakikī o ka hoʻomohala ʻana i ke kaʻina hana holoʻokoʻa, pili lākou ma mua o nā kūlana hana.
Hoʻopili lākou i nā kahua CI/CD, nā wahi hoʻokūkū, a me nā mea hana hoʻāʻo, a me nā mea ʻē aʻe.
Ke piʻi aʻe nei ka paʻakikī o ka huahana lako polokalamu, ʻoi aku ka koʻikoʻi o kēia mau pilikia. ʻO ka ʻenehana kuʻuna o ka hoʻokele lima ʻana i nā ʻenehana wikiwiki e lilo i mea hiki ʻole ke hoʻohālikelike i nā manaʻo o nā pōʻai hoʻomohala polokalamu wikiwiki o DevOps.
ʻO ka hopena, ua lilo ʻo Infrastructure as Code (IaC) i ka hopena hoʻomohala de facto i kēia lā. Hiki iā Infrastructure as code (IaC) iā ʻoe ke hoʻonui a nānā i nā loli i ka wā e kū mai ai.
E nānā pono mākou i Infrastructure as Code i kēia ʻāpana, me kāna mau pōmaikaʻi, no ke aha ia mea nui, a ʻoi aku. No laila, e hoʻomaka kākou.
He aha ka Hoʻolālā e like me ke code?
ʻO Infrastructure as Code ke kaʻina hana o ka hoʻolako ʻana a me ka hoʻonohonoho ʻana i kahi kaiapuni me ka hoʻohana ʻana i ke code ma mua o ka hoʻonohonoho lima ʻana i nā mea pono a me nā ʻōnaehana. Holo nā mea hoʻomohala i nā palapala ma hope o ka wehewehe ʻana i nā ʻāpana code, a ʻo ka platform IaC e hana maʻalahi i ka ʻōnaehana ao.
ʻO ia ʻano hoʻonohonoho IT automated e hiki i nā hui ke kūkulu wikiwiki i ka hoʻonohonoho kapuaʻi kūpono no ka hoʻāʻo ʻana a me ka holo ʻana i kā lākou huahana. Hiki i ka Infrastructure as Code i nā mea hoʻomohala ke kūkulu i nā ʻāpana waiwai a lākou e makemake ai, e like me nā pūnaewele, nā mea kaulike ukana, nā waihona, nā mīkini virtual, a me nā ʻano pili.
Ma ka ʻōlelo a ka poʻe kamaʻāina, ʻo ia ke kaʻina o ka hoʻolako ʻana a me ka mālama ʻana i nā ʻōnaehana i kuhikuhi ʻia me ka hoʻohana ʻana i ke code ma mua o ka lima. ʻO IaC kekahi ʻano hana DevOps koʻikoʻi e koi ʻia no ka wikiwiki o ka lawe ʻana i ka polokalamu.
Hāʻawi ia i nā hui DevOps e kūkulu wikiwiki a me nā ʻōnaehana hoʻololi e like me ke ʻano o ka code source code, a me ka hahai ʻana i kēia mau mana e hōʻemi i ka like ʻole ma waena o nā kaiapuni IT, hiki ke hoʻopilikia i nā pilikia nui i ka wā o ka waiho ʻana.
Deklarative vs. imperative approaches iā IaC
Hiki ke hoʻokokoke iā IaC ma nā ala ʻelua: declarative a imperative.
E hoʻonohonoho ka mea hana IaC i ka ʻōnaehana iā ʻoe inā ʻoe e hoʻohana i kahi ala hoʻolaha, e wehewehe ana i ke kūlana i manaʻo ʻia o ka ʻōnaehana, me nā kumuwaiwai āu e makemake ai a me nā ʻano pono e loaʻa iā lākou.
Mālama pū kekahi ala hoʻolaha i ke ʻano o ke kūlana o kāu ʻōnaehana i kēia manawa, e maʻalahi ai ka mālama ʻana i ka manawa haʻahaʻa o kāu ʻoihana. ʻO kahi ala koʻikoʻi, ma ka ʻaoʻao ʻē aʻe, e wehewehe i nā ʻōlelo kuhikuhi pono e hoʻokō ʻia ma ke ʻano kūpono e hana ai i ka hoʻonohonoho i manaʻo ʻia.
Nui nā ʻenehana IaC e hoʻohana i kahi ala hoʻolaha i ka hoʻolako ʻana i nā ʻōnaehana a e hana maʻalahi ia. E hoʻohana ka mea hana IaC i nā hoʻololi i ke kūlana i makemake ʻia iā ʻoe inā ʻoe e hana. Pono ʻoe e ʻike pehea e hoʻopili ai i kēlā mau hoʻololi inā hoʻohana ʻoe i kahi mea pono. Hiki i nā mea hana IaC ke hana ma nā ʻano ʻelua, ʻoiai lākou makemake i kekahi ma luna o kekahi.
Pehea e hana ai ka Infrastructure ma ke ʻano he code?
No ka hoʻokō piha ʻana i nā ʻōnaehana ma ke ʻano he code, pono e kau ʻia kekahi mau koi.
He kahua no ka mālama ʻana i ke ao ma ke ʻano he lawelawe (IaaS)
ʻO ka mea mua a me ka mea nui e pono ai ka hoʻokipa mamao. Pono e hoʻopili ka mea hana hoʻonohonoho hoʻonohonoho i ka host mamao a hoʻololi i laila. Pono kāu hui e hōʻoia i ka loaʻa ʻana o ka mea hana hoʻonohonoho hoʻonohonoho inā hoʻokele ponoʻī ʻia ka ʻōnaehana mamao.
Hiki i nā API ma ka IaaS-enabled cloud hosting platform e hiki ai i nā mea kūʻai ke kūkulu, wehe, a hoʻololi i nā kumuwaiwai ma ke koi. Hiki i nā ʻōnaehana hoʻonohonoho hoʻonohonoho ke hoʻohana i kēia mau API no ka hoʻomaʻamaʻa ʻana i kēia mau hana. ʻO Digital Ocean, Amazon AWS, a me Microsoft Azure ʻekolu mau ʻōnaehana IaaS nui.
He kahua no ka hoʻoponopono hoʻonohonoho
ʻO ka hui paahana e pili ana i nā API IaaS a hoʻokaʻawale i nā hana maʻamau ka mea e pono ai no ka hoʻopau ʻana iā IaC. Hiki i kahi hui o ka poʻe ke hana pū e hana i kahi hōʻiliʻili o nā palapala a me nā mea hana. Eia nō naʻe, pono ia i ka nui o ka hoʻoikaika ʻana, ka mālama mau ʻana, a me ka hoʻihoʻi liʻiliʻi o ka hoʻopukapuka. ʻO Terraform, Ansible, Salt Stack, a me Chef he mau mea liʻiliʻi wale nō o nā mea hana hoʻokele hoʻonohonoho open-source e mālama i kēia pilikia.
ʻŌnaehana ʻlelo Pūnaewele
Hoʻohana ka paepae hoʻonohonoho hoʻonohonoho i nā faila kikokikona i kākau ʻia ma kahi ʻōlelo markup e like me YAML e hāʻawi i nā hana a me nā kaʻina no ka platform e hoʻokō ai. Hiki ke mālama ʻia kēia mau faila ma ke ʻano he code noi a mālama ʻia i loko o kahi waihona mana mana. Ua ʻae ʻia nā noi huki a me nā loiloi code i loko o ka waihona, kahi e hana ai ma ke ʻano hoʻokahi o ka ʻoiaʻiʻo. ʻO ka ʻōnaehana mana mana ʻo Git ka mea kaulana loa.
Me kēia mau mea e pono ai, e noʻonoʻo i kēia hiʻohiʻona: makemake ka mea hoʻomohala e hoʻohui i kahi lawelawe noi hou i kahi ʻōnaehana. Hōʻike kēia hiʻohiʻona i kahi kaʻina IaC.
- Ma kā lākou papahana hoʻonohonoho hoʻonohonoho makemake, Terraform, hoʻololi ka mea hoʻomohala i kahi faila kikokikona hoʻonohonoho YAML. Hōʻike nā hoʻololi e koi ʻia kahi kikowaena hoʻokipa hou.
- Ma ka waihona Git, hoʻololi ka mea hoʻomohala i kahi lālā hiʻohiʻona. Hoʻokumu ka mea hoʻomohala i kahi noi huki mai ka hoʻokipa ʻana o ka waihona Git o ka papahana ma Bitbucket. ʻO kekahi lālā o ka hui e nānā i ka noi huki a ʻike i ka hoʻomaikaʻi ʻana i nā ʻōnaehana hou. Ua ʻae ʻia ka noi huki e kekahi lālā o ka hui, a ua hoʻohui ka mea hoʻomohala i ka hoʻololi i ka lālā nui o ka waihona.
- Pono ka paepae hoʻonohonoho i kēia kaʻina no ka hana ʻana i kahi mea hou. Hiki i ka mea hoʻomohala ke hoʻomaka lima i ka hoʻohou. Ma muli o ka hoʻohana ʻana o ka hui iā Bitbucket, hiki iā lākou ke komo i nā Bitbucket Pipelines a hiki ke hoʻohana i kekahi e hoʻokaʻawale i kēia kaʻina hana.
- Hoʻopili ʻo Terraform i ka IaaS o ka hui ma hope o ka hoʻokō ʻana. Hoʻohana ʻo Terraform i ka IaaS API no ka holo ʻana i ke kaʻina o nā kauoha e hōʻano hou i ka IaaS i ka hoʻonohonoho hoʻonohonoho i manaʻo ʻia.
Pono iaC
Kōkua ʻo IaC i nā hui i ka hoʻokele ʻana i kā lākou mau koi ʻenehana IT ma nā ʻano like ʻole ma o nā kaʻina hana automated. ʻO kekahi o nā pono o ka hoʻokomo ʻana iā IaC penei:
- Kūlike: Hiki iā IaC ke hoʻonui i ka kūlike a hoʻemi i nā hewa i hana pinepine ʻia i ka wā o nā hoʻonohonoho manual. Kāohi hoʻi ia i ka neʻe ʻana o ka hoʻonohonoho ʻana i ka wā o ka hana lima. Hāʻawi ʻo IaC iā ʻoe e pale i ka hoʻololi ʻole ʻia, ad-hoc hoʻololi ʻana ma o ka codifying a me ka palapala ʻana i kāu mau kūlana hoʻonohonoho.
- Pono: ʻO ka hoʻololi ʻana i kāu ʻōnaehana e hana i kahi maʻalahi hoʻolako, e maʻalahi ka hoʻonohonoho ʻana o ka ʻōnaehana, mālama, a me ka hoʻokele. Hoʻokumu ʻo ia i kahi ʻōnaehana maʻalahi, hiki ke hana hou, a hiki ke hoʻonui ʻia. ʻO ka hopena, hiki i nā DevOps ke wikiwiki i kēlā me kēia pae o ka hoʻomohala ʻana i nā polokalamu, e hopena ana i nā polokalamu hou aʻe e paʻi ʻia i kēlā me kēia lā.
- Hoʻemi ʻia ke kumu kūʻai: Hiki iā IaC ke hoʻokele i nā mīkini virtual e hoʻokele programmatically, e hoʻoneʻe i ka pono no ka hoʻonohonoho ʻana i nā lako hana lima a me nā hoʻonui. Me ka hoʻohana ʻana i ka ʻāpana code like, hiki i kahi mea hoʻohana ke hoʻokomo a mālama i hoʻokahi mīkini a i ʻole 1000 mau ʻāpana. ʻO ka hopena, ʻoi aku ka liʻiliʻi o nā limahana e koi ʻia a ʻaʻole koi hou ʻia nā mea hana hou, e hopena i ka mālama kālā nui.
- Ka wikiwiki: Hoʻemi ʻo IaC i ka manawa e pono ai nā mea hoʻomohala e hoʻolako i kā lākou ʻoihana ma o ka hoʻololi ʻana i kahi palapala maʻalahi. ʻO ka hopena, ʻaʻole hoʻopaneʻe hou ʻia ka hoʻolaha ʻana o nā noi e nā ʻōnaehana, a hiki ke hāʻawi wikiwiki ʻia nā polokalamu hou.
- E hoemi i ka pilikia: E like me ka IaC paipai mana hoʻokolohua, hiki ke ʻimi ʻia kāu mau faila hoʻonohonoho, e like me nā faila kumu kumu polokalamu ʻē aʻe. ʻO ka hopena, hoʻemi ʻia ka pilikia.
He aha ka pilikia a IaC e hoʻonā ai?
Ua hoʻokumu ʻia ʻo Infrastructure as Code e hoʻoponopono i ka pilikia o ka hoʻokuʻu ʻana i nā kaiapuni pipeline. Me ka ʻole o IaC, na nā hui ke kuleana no ka mālama ʻana i nā hoʻonohonoho o kēlā me kēia wahi hoʻolālā. Hoʻololi ʻia kēlā me kēia kaiapuni i kahi hau hau, kahi hoʻonohonoho hoʻokahi o ke ʻano ʻaʻole hiki ke hana hou ʻia.
I ka wā o ka hoʻouka ʻana, ʻaʻohe kūlike i waena o nā kaiapuni ke kumu i nā pilikia. Pono nā Snowflakes i nā hana lima paʻakikī e hoʻokele a kōkua i nā hewa i ka hoʻokele waiwai a me ka mālama ʻana.
Infrastructure as Code pili i ka manaʻo o ka idempotence.
ʻO ka Idempotence e pili ana i ka ʻoiaʻiʻo e hoʻonohonoho mau ana kahi kauoha hoʻonohonoho i ke kaiapuni i hoʻopaʻa ʻia ma ke ala like, me ka nānā ʻole i ke kūlana hoʻomaka o ke kaiapuni. Loaʻa ka Idempotency ma o ka hoʻonohonoho ʻana i kahi pahuhopu i loaʻa a i ʻole ka hoʻokuʻu ʻana i ka pahuhopu e kū nei a hoʻomaka hou.
ʻO ka hopena, me ka hoʻohana ʻana iā IaC, hoʻololi nā hui i ka wehewehe ʻana o ke kaiapuni a me ka mana o ke ʻano hoʻonohonoho hoʻonohonoho, i kākau pinepine ʻia i nā palapala code i kākau ʻia e like me JSON. Holo ʻia ke kumu hoʻohālike i ka pipeline hoʻokuʻu e hoʻonohonoho i nā kaiapuni i hoʻopaʻa ʻia. Hoʻoponopono ka hui i ke kumu, ʻaʻole ka pahuhopu, inā pono lākou e hoʻololi.
Pehea ka pilikia o IaC ma DevOps?
ʻO ka hoʻokō ʻana i nā DevOps a me ka hoʻohui mau ʻana/ka hoʻouna mau ʻana (CI/CD) me ka pono e hoʻohana iā IaC. Hoʻokuʻu ia i nā mea hoʻomohala i ka hapa nui o nā kuleana hoʻolako, e ʻae iā lākou e holo wale i kahi palapala e hoʻokō ai i kā lākou ʻoihana.
ʻO ka hopena, ʻaʻole hoʻopaʻa ʻia nā hoʻolaha noi i ka wā i kūkulu ʻia ai nā ʻōnaehana, a ʻaʻole kaumaha nā sysadmins i nā hana lima hoʻopau manawa. Mai ka hoʻohui ʻana a me ka hoʻāʻo ʻana ma o ka hāʻawi ʻana a me ka hoʻolaha ʻana, hilinaʻi ʻo CI/CD i ka automation mau a me ka nānā mau ʻana i loko o ke ola o ka noi. Pono kahi kaiapuni mau no ka hana ʻana o ka automation.
Ke hāʻawi ka hui hoʻomohala i nā polokalamu a i ʻole ka hoʻonohonoho ʻana i nā kaiapuni i ke ala hoʻokahi a hoʻokomo a hoʻonohonoho ka hui hana i ke kaiapuni ma kahi ʻano ʻokoʻa, ʻaʻole hiki ke hoʻopololei i ka hoʻopili ʻana i nā noi.
Hoʻopili ke ʻano DevOps i nā hui hoʻomohala a me nā hui hana, e hopena i ka liʻiliʻi o nā hewa, nā hana lima, a me nā ʻano like ʻole. No ka mea hiki i nā hui hoʻomohala a me nā hui hana ke hoʻohana i ka wehewehe like ʻana o ka hoʻolaha ʻana i ka noi, kōkua ʻo IaC iā ʻoe e hoʻonohonoho i ka hoʻomohala ʻana a me nā hana, e hiki ai i kahi ala DevOps.
ʻO kēlā me kēia kaiapuni, me kāu kaiapuni hana, pono e hahai i ke ʻano hoʻolālā like. I kēlā me kēia manawa ke hoʻohana ʻia ʻo IaC, hana ʻia kahi ʻano like.
Panina
Ke hilinaʻi nui nei ʻo DevOps ma ke ʻano he code. ʻO Infrastructure as Code ka hana maʻamau i ka hoʻomākaukau ʻana i kāu mau hana i ka wā e hiki mai ana i kahi honua kahi e hoʻololi mau ai nā ʻenehana hoʻopilikia i ka ʻāpana IT.
Hiki iā ʻoe ke hoʻomaopopo i ka hiki piha o ao Me, hōʻemi i nā hewa e pili ana i ka hoʻokele waiwai IT manual, a hoʻomaikaʻi i ka wikiwiki e hoʻomohala ʻia ai ka polokalamu. Hoʻokōʻia kēia mau mea a pau i ka ho'ēmiʻana i nā lilo hana.
Waiho i ka Reply