Ka papa inoa no ka hana ʻana a me ka hoʻolaha ʻana i nā noi pūnaewele

I mea e hana ai i kāu noi pūnaewele ponoʻī i ko mākou manawa, ʻaʻole lawa ka hiki ke hoʻomohala. ʻO kahi hiʻohiʻona koʻikoʻi ka hoʻonohonoho ʻana i nā mea hana no ka hoʻolaha ʻana i ka noi, ka nānā ʻana, a me ka hoʻokele a me ka hoʻokele ʻana i ke kaiapuni kahi e hana ai. E like me ka nalo ʻana o ke au o ka hoʻolaha lima ʻana, ʻoiai no nā papahana liʻiliʻi, hiki i nā mea hana automation ke lawe mai i nā pōmaikaʻi maoli. Ke kau nei i "ma ka lima", hiki iā mākou ke poina pinepine i ka neʻe ʻana i kekahi mea, e noʻonoʻo i kēia a i ʻole kēlā nuance, holo i kahi hoʻāʻo poina, hiki ke hoʻomau ʻia kēia papa inoa no ka manawa lōʻihi.

Hiki i kēia ʻatikala ke kōkua i ka poʻe e aʻo wale nei i nā kumu o ka hana ʻana i nā noi pūnaewele a makemake e hoʻomaopopo iki i nā ʻōlelo kumu a me nā kuʻina.

No laila, hiki ke hoʻokaʻawale ʻia nā noi kūkulu hale i 2 mau ʻāpana: nā mea āpau e pili ana i ke code noi, a me nā mea a pau e pili ana i ke kaiapuni kahi i hoʻokō ʻia ai kēia code. Hoʻokaʻawale ʻia ka code noi i loko o ke code server (ka mea e holo ana ma ke kikowaena, pinepine: ʻoihana loiloi, ʻae ʻia, mālama ʻikepili, a me nā mea ʻē aʻe), a me ka code client (ka mea e holo ana ma ka mīkini o ka mea hoʻohana: pinepine ke kikowaena, a me nā loina pili me ia).

E hoʻomaka kākou me ka Pōʻakolu.

ʻO ke kumu no ka hana ʻana o kekahi code, ʻōnaehana, a i ʻole nā ​​​​polokalamu ʻo ka Operating System, no laila e nānā mākou i nā ʻōnaehana kaulana loa ma ka mākeke hoʻokipa a hāʻawi iā lākou i kahi wehewehe pōkole:

Pūnaewele Windows - ka Windows like, akā ma kahi hoʻololi kikowaena. ʻAʻole i loaʻa ma ʻaneʻi kekahi mau hana i loaʻa i ka mana o ka mea kūʻai aku (maʻamau) o Windows, no ka laʻana, kekahi mau lawelawe no ka hōʻiliʻili ʻana i nā ʻikepili a me nā polokalamu like, akā aia kahi hoʻonohonoho o nā pono no ka hoʻokele pūnaewele, nā polokalamu kumu no ka hoʻoili ʻana i nā kikowaena (web, ftp, ...). Ma keʻano laulā, ʻano like ʻo Windows Server i ka Windows maʻamau, quacks e like me Windows maʻamau, akā naʻe, ʻoi aku ke kumu kūʻai o 2 mau manawa ma mua o kāna mea maʻamau. Eia nō naʻe, hāʻawi ʻia paha ʻoe e kau i ka noi ma kahi kikowaena hoʻolaʻa/virtual, ʻo ke kumukūʻai hope loa iā ʻoe, ʻoiai e piʻi aʻe paha, ʻaʻole koʻikoʻi. Ma muli o ka noho ʻana o ka paepae Windows i kahi wahi koʻikoʻi i ka mākeke OS consumer, ʻo kāna paʻi kikowaena ka mea maʻa loa i ka hapa nui o nā mea hoʻohana.

Unix-ʻōnaehana like. ʻAʻole pono ka hana kuʻuna i kēia mau ʻōnaehana i ka hele ʻana o kahi kiʻi kiʻi maʻamau, hāʻawi i ka mea hoʻohana i kahi console ma ke ʻano he mea mana. No ka mea hoʻohana ʻike ʻole, hiki ke paʻakikī ka hana ʻana i kēia ʻano, he aha ke kumukūʻai o ka haʻalele ʻana i kahi mea hoʻoponopono kikokikona kaulana loa i ka ʻikepili. Vim, ua loaʻa mua kahi nīnau e pili ana i kēia ma mua o 6 miliona mau manaʻo i 1.8 mau makahiki. ʻO nā mahele nui (editions) o kēia ʻohana: ʻo Debian - kahi hoʻolaha kaulana, ʻo nā ʻaoʻao ʻāpana i loko o ia mea e kālele nui ʻia ma LTS (Kākoʻo wā lōʻihi - kākoʻo no ka manawa lōʻihi), i hōʻike ʻia i ka hilinaʻi kiʻekiʻe a me ka paʻa o ka ʻōnaehana a me nā pūʻulu; Ubuntu - loaʻa nā māhele o nā pūʻolo āpau i kā lākou mau mana hou, hiki ke hoʻopilikia i ka kūpaʻa, akā hiki iā ʻoe ke hoʻohana i ka hana e hele mai me nā mana hou; ʻO Red Hat Enterprise Linux - OS, hoʻonoho ʻia no ka hoʻohana pāʻoihana, ua uku ʻia, akā naʻe, me ke kākoʻo mai nā mea kūʻai lako polokalamu, kekahi mau pūʻolo waiwai a me nā pūʻolo hoʻokele; CentOS - kumu wehe he ʻano like ʻole o Red Hat Enterprise Linux, i hōʻike ʻia e ka nele o nā pūʻolo waiwai a me ke kākoʻo.

No ka poʻe e hoʻomaka nei e haku i kēia wahi, ʻo kaʻu manaʻo he ʻōnaehana Pūnaewele Windows, aiʻole Ubuntu. Inā mākou e noʻonoʻo iā Windows, a laila ʻo ia ka mea maʻamau o ka ʻōnaehana, Ubuntu - ʻoi aku ka hoʻomanawanui i nā mea hou, a ma ka huli ʻana, no ka laʻana, liʻiliʻi nā pilikia i ka wā e hoʻomaka ai i nā papahana ma nā ʻenehana e koi ana i nā mana hou.

No laila, i ka hoʻoholo ʻana i ka OS, e neʻe mākou i kahi hoʻonohonoho o nā mea hana e hiki ai iā ʻoe ke kau (hoʻouka), hoʻonui a nānā i ke kūlana o ka noi a i ʻole nā ​​​​ʻāpana ma ka kikowaena.

ʻO ka hoʻoholo koʻikoʻi e hiki mai ana, ʻo ia ke kau ʻana i kāu noi a me ke kikowaena no ia. I kēia manawa, ʻo nā ala maʻamau he 3 mau ala:

  • ʻO ka mālama ʻana (mālama ʻana) i kahi kikowaena iā ʻoe iho ʻo ia ka koho pili kālā, akā pono ʻoe e kauoha i kahi IP static mai kāu mea hoʻolako i ʻole e hoʻololi kāu kumu i kona helu wahi i ka manawa.
  • Hoʻolimalima i kahi Server Dedicated (VDS) - a lawelawe kūʻokoʻa iā ia a hoʻonui i nā ukana
  • Uku (pinepine lākou e hāʻawi iā ʻoe i kahi manawa e hoʻāʻo ai i ka hana o ke kahua no ka manuahi) no ke kau inoa ʻana i kekahi hoʻolaha kapuaʻi, kahi i maʻa mau ke kumu uku no nā kumuwaiwai i hoʻohana ʻia. ʻO nā ʻelele koʻikoʻi o kēia kuhikuhi: Amazon AWS (hāʻawi lākou i kahi makahiki manuahi o ka hoʻohana ʻana i nā lawelawe, akā me ka palena o kēlā me kēia mahina), Google Cloud (hāʻawi lākou i $300 i ka moʻokāki, hiki ke hoʻohana ʻia i ka makahiki ma nā lawelawe hoʻokipa kapuaʻi) , Yandex.Cloud (hāʻawi lākou i 4000 rubles. no nā mahina 2), Microsoft Azure (hāʻawi manuahi i nā lawelawe kaulana no hoʻokahi makahiki, + 12 rubles no kēlā me kēia lawelawe no hoʻokahi mahina). No laila, hiki iā ʻoe ke hoʻāʻo i kekahi o kēia mau mea hoʻolako me ka ʻole e hoʻolilo i kahi peni, akā e kiʻi i kahi manaʻo pili e pili ana i ka maikaʻi a me ka pae o ka lawelawe i hāʻawi ʻia.

Ma muli o ke ala i koho ʻia, ʻo ka mea wale nō e hoʻololi i ka wā e hiki mai ana ʻo ia ke kuleana nui o kēia a i kēlā wahi o ka hoʻokele. Inā hoʻokipa ʻoe iā ʻoe iho, a laila pono ʻoe e hoʻomaopopo i nā pilikia o ka uila, ka Pūnaewele, ke kikowaena ponoʻī, ka polokalamu i kau ʻia ma luna - aia kēia mau mea āpau ma kou poʻohiwi. Eia naʻe, no ka hoʻomaʻamaʻa a me ka hoʻāʻo ʻana, ʻoi aku kēia ma mua o ka lawa.

Inā ʻaʻohe āu mīkini ʻē aʻe e hiki ke pāʻani i ke kuleana o kahi kikowaena, a laila makemake ʻoe e hoʻohana i ke ala ʻelua a ʻekolu paha. ʻO ka lua o ka hihia e like me ka mua, koe wale nō ʻoe e hoʻololi i ke kuleana no ka loaʻa ʻana o ka server a me kona mana i nā poʻohiwi o ka mea hoʻokipa. Aia ma lalo o kou mana ka ho'oponopono 'ana i ke kikowaena a me ka lako polokalamu.

A ʻo ka mea hope loa, ʻo ke koho o ka hoʻolimalima ʻana i ka hiki o nā mea hāʻawi kapua. Ma ʻaneʻi hiki iā ʻoe ke hoʻonohonoho i ka mana maʻalahi o nā mea āpau me ka ʻole e komo i nā kikoʻī loea. Eia kekahi, ma kahi o ka mīkini hoʻokahi, hiki iā ʻoe ke loaʻa i nā hanana holo like, hiki iā ia, no ka laʻana, ke kuleana no nā ʻāpana like ʻole o ka noi, ʻoiai ʻaʻole ʻokoʻa nui i ke kumukūʻai mai ka loaʻa ʻana o kahi kikowaena paʻa. A eia kekahi, aia nā mea hana no ka orchestration, containerization, hoʻoili maʻalahi, hoʻohui mau a me nā mea hou aku! E nānā mākou i kekahi o kēia mau mea ma lalo nei.

Ma keʻano laulā, ua like ke ʻano o ka ʻōnaehana server: loaʻa iā mākou kahi mea i kapa ʻia ʻo "orchestrator" ("orchestration" ke kaʻina hana o ka hoʻokele ʻana i kekahi mau kikowaena server), nāna e hoʻokele i nā hoʻololi kaiapuni ma kahi kikowaena server, kahi pahu virtualization (koho, akā pololei. hoʻohana pinepine ʻia), kahi e hiki ai iā ʻoe ke hoʻokaʻawale i ka noi i loko o nā ʻāpana logical kaʻawale, a me ka polokalamu Hoʻohui Hoʻomau-e ʻae ana i nā mea hou i nā code i hoʻokipa ʻia ma o "scripts."

No laila, hiki i ka orchestration ke ʻike i ke kūlana o nā kikowaena, ʻōwili a ʻōwili paha i nā mea hou i ke kikowaena kikowaena, a pēlā aku. I ka wā mua, ʻaʻole pili kēia ʻano iā ʻoe, no ka mea, no ka hoʻonohonoho ʻana i kekahi mea, pono ʻoe i kekahi mau kikowaena (hiki iā ʻoe ke loaʻa hoʻokahi, akā no ke aha e pono ai kēia?), A no ka loaʻa ʻana o nā kikowaena, pono ʻoe iā lākou. ʻO nā mea hana ma kēia kuhikuhi, ʻo ka mea kaulana loa ʻo Kubernetes, i hoʻomohala ʻia e Google.

ʻO ka hana aʻe ka virtualization ma ka pae OS. I kēia mau lā, ua laha ka manaʻo o ka "dockerization", mai ka mea hana Docker, ka mea e hoʻolako i ka hana o nā ipu i hoʻokaʻawale ʻia mai kekahi i kekahi, akā hoʻokuʻu ʻia i loko o ka pōʻaiapili o kahi ʻōnaehana hana. He aha ke ʻano o kēia: i loko o kēlā me kēia pahu hiki iā ʻoe ke holo i kahi noi, a i ʻole kahi hoʻonohonoho o nā noi, e manaʻoʻiʻo ʻo lākou wale nō i loko o ka OS holoʻokoʻa, me ka ʻole o ka kānalua ʻana i ke ola ʻana o kekahi ma kēia mīkini. He mea maikaʻi loa kēia hana no ka hoʻomaka ʻana i nā noi like ʻole o nā mana like ʻole, a i ʻole nā ​​noi kūʻē wale, a me ka puʻunaue ʻana i nā ʻāpana o kahi noi i nā papa. Hiki ke kākau ʻia kēia hoʻolele papa ma hope i kahi kiʻi, hiki ke hoʻohana ʻia, no ka laʻana, e kau i kahi noi. ʻO ia hoʻi, ma ka hoʻokomo ʻana i kēia kiʻi a me ka waiho ʻana i nā ipu i loko o ia mea, e loaʻa iā ʻoe kahi mākaukau mākaukau no ka holo ʻana i kāu noi! Ma nā ʻanuʻu mua, hiki iā ʻoe ke hoʻohana i kēia hāmeʻa no nā kumu ʻike a loaʻa i nā pōmaikaʻi maoli ma ka hoʻokaʻawale ʻana i ka loiloi noi i nā papa like ʻole. Akā, pono e ʻōlelo ma aneʻi ʻaʻole pono nā mea a pau i ka dockerization, ʻaʻole i nā manawa a pau. Hoʻopono ʻia ka Dockerization i nā hihia kahi i hoʻokaʻawale ʻia ai ka noi, i māhele ʻia i nā ʻāpana liʻiliʻi, kēlā me kēia kuleana no kāna hana ponoʻī, ka mea i kapa ʻia ʻo "microservice architecture".

Eia kekahi, ma waho aʻe o ka hoʻolako ʻana i ke kaiapuni, pono mākou e hōʻoia i kahi hoʻolaha kūpono o ka noi, e pili ana i nā ʻano hoʻololi code āpau, ka hoʻokomo ʻana i nā hale waihona puke e pili ana i ka noi a me nā pūʻolo, nā hoʻāʻo holo ʻana, nā hoʻolaha e pili ana i kēia mau hana, a pēlā aku. Maanei pono mākou e hoʻolohe i kahi manaʻo e like me "Continuous Integration" (CI - Hoʻohui mau). ʻO nā mea hana nui ma kēia wahi i kēia manawa ʻo Jenkins (ʻoi aku ka paʻakikī o ka polokalamu CI i kākau ʻia ma Java i ka hoʻomaka). ʻO Travis CI (Kākau ʻia ma Ruby, kumuhana, ʻoi aku ka maʻalahi Jenkins, akā naʻe, koi ʻia kekahi ʻike ma ke kahua o ka hoʻonohonoho hoʻonohonoho hoʻonohonoho ʻana), Gitlab CI (kau ʻia ma ʻO Ruby lāua ʻo Go).

No laila, ke kamaʻilio e pili ana i ke kaiapuni kahi e hana ai kāu noi, ʻo ia ka manawa e nānā hope ai i nā mea hana a ka honua hou e hāʻawi mai iā mākou no ka hana ʻana i kēia mau noi.

E hoʻomaka kākou me nā kumu: Hoʻihoʻi (hopena) - ʻāpana kikowaena. ʻO ke koho ʻana o ka ʻōlelo, ka hoʻonohonoho o nā hana maʻamau a me ke ʻano i hoʻonohonoho mua ʻia (framework) ma aneʻi e hoʻoholo nui ʻia e nā makemake pilikino, akā naʻe, pono e haʻi ʻia no ka noʻonoʻo ʻana (ʻo ka manaʻo o ka mea kākau e pili ana i nā ʻōlelo, he mea koʻikoʻi ia, ʻoiai me kahi koi. i ka wehewehe pono ʻole):

  • He ʻōlelo aloha ʻo Python no ka mea hoʻohana ʻike ʻole, kala ia i kekahi mau hewa, akā hiki ke paʻakikī pū me ka mea hoʻomohala i ʻole ia e hana i kekahi mea ʻino. Ua ʻōlelo ʻia he ʻōlelo makua a me ka manaʻo nui, i ʻike ʻia i ka makahiki 1991.
  • E hele - he ʻōlelo mai Google, he ʻoluʻolu a maʻalahi hoʻi, he maʻalahi loa ka hoʻohui ʻana a loaʻa i kahi faila hiki ke hoʻokō ʻia ma kekahi kahua. Hiki ke maʻalahi a me kaʻoluʻolu, aiʻole hiki ke paʻakikī a koʻikoʻi. ʻO ka hou a me ka ʻōpio, i ʻike ʻia i kēia manawa, i ka makahiki 2009.
  • Ua ʻoi aku ka ʻelemakule o Rust ma mua o kāna hoa hana mua, i hoʻokuʻu ʻia i ka makahiki 2006, akā ʻoi aku ka liʻiliʻi o kāna mau hoa. Kuhi ʻia i nā mea hoʻomohala ʻoi aku ka ʻike, ʻoiai ke hoʻāʻo nei e hoʻoponopono i nā hana haʻahaʻa haʻahaʻa no ka mea papahana.
  • ʻO Java ka mea kahiko o ka hoʻomohala pāʻoihana, i hoʻokomo ʻia i ka makahiki 1995, a ʻo ia kekahi o nā ʻōlelo maʻamau i hoʻohana ʻia i ka hoʻomohala noiʻi ʻoihana i kēia lā. Me kāna mau manaʻo kumu a me ka hoʻonohonoho koʻikoʻi, hiki ke lilo i ka manawa holo i mea paʻakikī no ka mea hoʻomaka.
  • ʻO ASP.net kahi kahua hoʻomohala noi i hoʻokuʻu ʻia e Microsoft. No ke kākau ʻana i ka hana, hoʻohana nui ʻia ka ʻōlelo C# (i ʻōlelo ʻia ʻo C Sharp), i ʻike ʻia ma 2000. Hoʻohālikelike kona paʻakikī i ka pae ma waena o Java a me Rust.
  • ʻO PHP, i hoʻohana mua ʻia no ka HTML preprocessing, i kēia manawa, ʻoiai ʻo ia ke alakaʻi kūʻokoʻa i ka mākeke ʻōlelo, aia ke ʻano o ka emi ʻana o ka hoʻohana. He paepae haʻahaʻa kona komo ʻana a me ka maʻalahi o ke kākau ʻana i nā code, akā i ka manawa like, i ka hoʻomohala ʻana i nā noi nui, ʻaʻole lawa paha ka hana o ka ʻōlelo.

ʻAe, ʻo ka ʻāpana hope loa o kā mākou noi - ʻo ka mea ʻike loa no ka mea hoʻohana - eIOAaOAaEO (frontend) - ʻo ia ke alo o kāu noi; ʻo ia me kēia ʻāpana e pili pono ai ka mea hoʻohana.

Me ka ʻole o ka hele ʻana i nā kikoʻī, kū ka mua o kēia manawa ma luna o ʻekolu kia, frameworks (a ʻaʻole nui loa), no ka hana ʻana i nā mea hoʻohana. No laila, ʻekolu mau mea kaulana loa:

  • ʻAʻole ʻo ReactJS kahi hoʻolālā, akā he waihona. ʻOiaʻiʻo, ʻokoʻa ka framework mai kāna poʻo inoa haʻaheo wale nō me ka loaʻa ʻole o kekahi mau hana "ma waho o ka pahu" a me ka pono e hoʻokomo iā lākou me ka lima. No laila, nui nā ʻano like ʻole o ka "hoʻomākaukau" o kēia waihona, e hoʻokumu ana i nā ʻano hana kūikawā. He mea paʻakikī paha ia no ka mea hoʻomaka, ma muli o kekahi mau kumu kumu, a me ka hoʻonohonoho paʻakikī o ke kaiapuni kūkulu. Eia naʻe, no ka hoʻomaka wikiwiki, hiki iā ʻoe ke hoʻohana i ka pūʻolo "create-react-app".
  • ʻO VueJS kahi papa hana no ke kūkulu ʻana i nā mea hoʻohana. ʻO kēia trinity, lawe pono ia i ke poʻo inoa o ka ʻōnaehana hoʻohana maikaʻi loa; no ka hoʻomohala ʻana ma Vue, ʻoi aku ka haʻahaʻa o ka pale i ke komo ʻana ma mua o nā kaikunāne i ʻōlelo ʻia. Eia kekahi, ʻo ia ka muli loa o lākou.
  • Manaʻo ʻia ʻo Angular ka paʻakikī loa o kēia mau frameworks, ʻo ia wale nō ka mea e koi ai ʻAno paku (hoʻohui no ka ʻōlelo Javascript). Hoʻohana pinepine ʻia e kūkulu i nā noi ʻoihana nui.

I ka hōʻuluʻulu ʻana i nā mea i kākau ʻia ma luna nei, hiki iā mākou ke hoʻoholo i kēia manawa he ʻokoʻa loa ka hoʻohana ʻana i kahi noi mai ke ʻano o kēia kaʻina hana ma mua. Eia naʻe, ʻaʻohe mea e kāohi iā ʻoe mai ka hana ʻana i ka "deployment" i ke ala kahiko. Akā, ʻo ka manawa liʻiliʻi i mālama ʻia ma ka hoʻomaka ʻana e pono ai ka helu nui o nā hewa a ka mea hoʻomohala e koho i kēia ala e hehi ai? Manaʻo wau ʻaʻole ka pane. Ma ka hoʻolilo ʻana i kahi manawa hou aʻe e hoʻomaʻamaʻa iā ʻoe iho me kēia mau mea hana (a ʻaʻole pono ʻoe ma mua o kēlā, no ka mea pono ʻoe e hoʻomaopopo inā pono ʻoe iā lākou i kāu papahana o kēia manawa a ʻaʻole paha), hiki iā ʻoe ke pāʻani iā ​​​​ia me ka hoʻemi nui ʻana, no ka laʻana. , nā hihia o nā hewa hewa ma muli o ke kaiapuni a ʻike wale ʻia ma ka kikowaena hana, ka nānā ʻana i kēlā me kēia pō i ka mea i alakaʻi ai i ka ulia server a me ke kumu e hoʻomaka ʻole ai, a ʻoi aku ka nui.

Source: www.habr.com

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