Chowunikira popanga ndi kusindikiza mapulogalamu a pa intaneti

Kuti mupange pulogalamu yanu yapaintaneti munthawi yathu, sikokwanira kuti muthe kuyipanga. Chofunika kwambiri ndikukhazikitsa zida zotumizira, kuyang'anira, komanso kuyang'anira ndi kuyang'anira chilengedwe chomwe chimagwirira ntchito. Pamene nthawi yotumizidwa pamanja ikufika pakuiwalika, ngakhale pamapulojekiti ang'onoang'ono, zida zopangira makina zimatha kubweretsa phindu lowoneka. Potumiza "ndi dzanja", nthawi zambiri tikhoza kuiwala kusuntha chinachake, kuganizira izi kapena nuance, kuyesa mayeso oiwalika, mndandandawu ukhoza kupitilizidwa kwa nthawi yaitali.

Nkhaniyi ikhoza kuthandiza iwo omwe akuphunzira kumene zoyambira kupanga mapulogalamu a pa intaneti ndipo akufuna kumvetsetsa pang'ono za mawu ofunikira ndi maphwando.

Chifukwa chake, ntchito zomanga zimatha kugawidwa m'magawo awiri: chilichonse chokhudzana ndi kachidindo kantchito, ndi chilichonse chokhudzana ndi malo omwe code iyi imachitikira. Nambala yogwiritsira ntchito, nayonso, imagawidwa kukhala nambala ya seva (yomwe imayenda pa seva, nthawi zambiri: malingaliro abizinesi, chilolezo, kusungirako deta, ndi zina zotero), ndi nambala ya kasitomala (yomwe imayenda pamakina a ogwiritsa ntchito: nthawi zambiri mawonekedwe, ndi malingaliro ogwirizana nawo).

Tiyeni tiyambe ndi Lachitatu.

Maziko ogwiritsira ntchito kachidindo kalikonse, dongosolo, kapena mapulogalamu ndi Opaleshoni System, kotero m'munsimu tidzayang'ana machitidwe otchuka kwambiri pa msika wochititsa chidwi ndikuwafotokozera mwachidule:

Windows Server - Mawindo omwewo, koma mosiyana ndi seva. Zochita zina zomwe zimapezeka mumtundu wa kasitomala (wanthawi zonse) wa Windows palibe pano, mwachitsanzo, ntchito zina zosonkhanitsira ziwerengero ndi mapulogalamu ofanana, koma pali zida zingapo zoyendetsera maukonde, mapulogalamu oyambira otumizira ma seva (web, ftp, ...). Nthawi zambiri, Windows Server imawoneka ngati Windows wamba, ma quacks ngati Windows wamba, komabe, imawononga kuwirikiza kawiri kuposa mnzake wamba. Komabe, mutapatsidwa kuti mutha kuyika pulogalamuyi pa seva yodzipatulira / yeniyeni, mtengo wake womaliza, ngakhale ukhoza kuwonjezeka, siwovuta. Popeza nsanja ya Windows ili ndi malo ochulukirapo pamsika wa ogula OS, kope lake la seva likhala lodziwika bwino kwa ogwiritsa ntchito ambiri.

Unix- dongosolo lofanana. Ntchito zachikhalidwe pamakinawa sizifuna kukhalapo kwa mawonekedwe odziwika bwino, opatsa wogwiritsa ntchito cholumikizira ngati chowongolera. Kwa wogwiritsa ntchito wosadziwa, kugwira ntchito mwanjira iyi kumatha kukhala kovuta, ndiye mtengo wake wotuluka mkonzi walemba womwe uli wotchuka kwambiri mu data. Vim, funso lokhudzana ndi izi lalandira kale mawonedwe oposa 6 miliyoni m'zaka 1.8. Zogawa zazikulu (zosinthidwa) za banjali ndi izi: Debian - kugawa kodziwika, mitundu ya phukusi momwemo imayang'ana kwambiri pa LTS (Thandizo Lakale - chithandizo kwa nthawi yayitali), chomwe chimawonetsedwa modalirika kwambiri komanso kukhazikika kwadongosolo ndi phukusi; Ubuntu - ili ndi magawo a mapepala onse m'matembenuzidwe awo atsopano, omwe angakhudze kukhazikika, koma amakulolani kugwiritsa ntchito ntchito zomwe zimabwera ndi matembenuzidwe atsopano; Red Hat Enterprise Linux - OS, yoyikidwa kuti igwiritsidwe ntchito pamalonda, imalipidwa, komabe, imaphatikizapo chithandizo kuchokera kwa ogulitsa mapulogalamu, maphukusi ena aumwini ndi madalaivala; CentOS - gwero lotseguka kusiyanasiyana kwa Red Hat Enterprise Linux, yodziwika ndi kusowa kwa phukusi lothandizira ndi chithandizo.

Kwa iwo omwe angoyamba kumene kudziwa bwino derali, malingaliro anga akhale machitidwe Windows Server, kapena Ubuntu. Ngati tilingalira za Windows, ndiye kuti izi ndizodziwika bwino pamakina, Ubuntu - kulolerana kwambiri ndi zosintha, ndipo, mwachitsanzo, mavuto ochepa poyambitsa mapulojekiti pamatekinoloje omwe amafunikira matembenuzidwe atsopano.

Chifukwa chake, titasankha za OS, tiyeni tipitirire ku zida zomwe zimakulolani kuyika (kukhazikitsa), sinthani ndikuwunika momwe pulogalamuyo ilili kapena magawo ake pa seva.

Chotsatira chofunikira chidzakhala kuyika kwa pulogalamu yanu ndi seva yake. Pakadali pano, zofala kwambiri ndi njira zitatu:

  • Kusunga (kusunga) seva pawekha ndiyo njira yabwino kwambiri yopezera bajeti, koma muyenera kuyitanitsa IP yokhazikika kuchokera kwa wothandizira wanu kuti gwero lanu lisasinthe adilesi yake pakapita nthawi.
  • Renti Seva Yodzipatulira (VDS) - ndikuyiyendetsa paokha ndikukulitsa katundu
  • Lipirani (nthawi zambiri amakupatsirani mwayi woyesa magwiridwe antchito a pulatifomu kwaulere) kuti mulembetse ku hosting ina yamtambo, pomwe njira yolipirira zinthu zomwe zimagwiritsidwa ntchito ndizofala kwambiri. Oimira odziwika kwambiri a malangizowa: Amazon AWS (amapereka chaka chaulere chogwiritsa ntchito mautumiki, koma ndi malire a mwezi uliwonse), Google Cloud (amapereka $ 300 ku akaunti, yomwe ingagwiritsidwe ntchito chaka chonse pa mautumiki osungira mitambo) , Yandex.Cloud (amapereka ma ruble 4000 . kwa miyezi 2), Microsoft Azure (perekani mwayi waulere ku mautumiki otchuka kwa chaka, + 12 rubles pa ntchito iliyonse kwa mwezi umodzi). Chifukwa chake, mutha kuyesa aliyense wa opereka awa osawononga khobiri, koma kupeza malingaliro oyerekeza za mtundu ndi kuchuluka kwa ntchito zomwe zaperekedwa.

Kutengera njira yosankhidwa, chinthu chokhacho chomwe chidzasinthe m'tsogolo ndi amene ali ndi udindo waukulu pa izi kapena dera la utsogoleri. Ngati mumadzichitira nokha, ndiye kuti muyenera kumvetsetsa kuti kusokoneza kulikonse kwa magetsi, intaneti, seva yokha, mapulogalamu omwe akugwiritsidwa ntchito pa izo - zonsezi zagona pa mapewa anu. Komabe, pakuphunzitsidwa ndi kuyesa, izi ndizokwanira.

Ngati mulibe makina owonjezera omwe amatha kugwira ntchito ya seva, ndiye kuti mudzafuna kugwiritsa ntchito njira yachiwiri kapena yachitatu. Mlandu wachiwiri ndi wofanana ndi woyamba, kupatulapo kuti mumasuntha udindo wa kupezeka kwa seva ndi mphamvu zake pamapewa a hoster. Kuwongolera seva ndi mapulogalamu akadali pansi paulamuliro wanu.

Ndipo potsiriza, mwayi wobwereka mphamvu ya opereka mtambo. Apa mutha kukhazikitsa chiwongolero chokhazikika cha chilichonse popanda kulowa mwatsatanetsatane zaukadaulo. Kuphatikiza apo, m'malo mwa makina amodzi, mutha kukhala ndi zochitika zingapo zofananira, zomwe zimatha, mwachitsanzo, kukhala ndi udindo pazigawo zosiyanasiyana za pulogalamuyo, pomwe sizikusiyana kwambiri ndi mtengo wokhala ndi seva yodzipatulira. Komanso, pali zida za orchestration, zotengera, kutumiza basi, kuphatikiza mosalekeza ndi zina zambiri! Tiona zina mwa zinthu izi pansipa.

Nthawi zambiri, mawonekedwe a seva amawoneka motere: tili ndi chotchedwa "orchestrator" ("orchestration" ndi njira yoyendetsera ma seva angapo), yomwe imayang'anira kusintha kwa chilengedwe pa seva, chidebe cha virtualization (chosankha, koma ndithu. zomwe zimagwiritsidwa ntchito nthawi zambiri), zomwe zimakupatsani mwayi wogawa pulogalamuyo m'magawo omveka bwino, ndi pulogalamu ya Continuous Integration - kulola zosintha kuti zikhazikitsidwe kudzera mu "zolemba."

Chifukwa chake, kuyimba kumakupatsani mwayi kuti muwone momwe ma seva alili, tulutsani kapena kubweza zosintha kudera la seva, ndi zina zotero. Poyamba, izi sizingakhudze inu, chifukwa kuti mupange chilichonse, muyenera ma seva angapo (mutha kukhala nawo, koma chifukwa chiyani izi zili zofunika?), Ndipo kuti mukhale ndi ma seva angapo, mukufunikira. Zina mwa zida zomwe zili mbali iyi, zodziwika kwambiri ndi Kubernetes, zopangidwa ndi Google.

Chotsatira ndi virtualization pa mlingo Os. Masiku ano, lingaliro la "dockerization" lafala kwambiri, lomwe limachokera ku chida Docker, yomwe imapereka magwiridwe antchito a zotengera zotalikirana, koma zimayambitsidwa molingana ndi kachitidwe kamodzi. Kodi izi zikutanthawuza chiyani: muzotengerazi mutha kuyendetsa pulogalamu, kapenanso seti ya mapulogalamu, omwe angakhulupirire kuti ndi okhawo mu OS yonse, osakayikira ngakhale kulipo kwa wina pamakina awa. Izi ndizothandiza kwambiri poyambitsa mapulogalamu ofanana amitundu yosiyanasiyana, kapena kungosemphana, komanso kugawa magawo a pulogalamu m'magawo. Chiwonetserochi chikhoza kulembedwa pambuyo pake kukhala chithunzi, chomwe chingagwiritsidwe ntchito, mwachitsanzo, kutumiza ntchito. Ndiye kuti, pakuyika chithunzichi ndikuyika zotengera zomwe zilimo, mumapeza malo okonzeka kuti mugwiritse ntchito pulogalamu yanu! Mumasitepe oyamba, mutha kugwiritsa ntchito chida ichi pazolinga zambiri komanso kuti mupeze phindu lenileni pogawa malingaliro ogwiritsira ntchito m'magawo osiyanasiyana. Koma ndizoyenera kunena pano kuti si aliyense amene amafunikira dockerization, osati nthawi zonse. Dockerization ndiyoyenera ngati ntchitoyo "yagawika", yogawidwa m'magawo ang'onoang'ono, iliyonse ili ndi ntchito yake, yomwe imatchedwa "microservice architecture".

Kuphatikiza apo, kuwonjezera pakupereka chilengedwe, tiyenera kuwonetsetsa kutumizidwa koyenera kwa ntchitoyo, yomwe imaphatikizapo mitundu yonse yakusintha kwa ma code, kukhazikitsa malaibulale okhudzana ndi kugwiritsa ntchito ndi phukusi, kuyesa mayeso, zidziwitso za ntchitozi, ndi zina zotero. Apa tiyenera kulabadira mfundo monga "Continuous Integration" (CI - Kuphatikizana Kopitilira). Zida zazikulu zomwe zili mderali pakadali pano ndi Jenkins (pulogalamu ya CI yolembedwa ku Java ingawoneke yovuta poyambira), Travis CI (yolembedwa mu Ruby, subjective, yosavuta Jenkins, komabe, chidziwitso china pankhani ya kasinthidwe kakutumiza chikufunikabe), Gitlab CI (yolembedwa pa Ruby ndi Go).

Chifukwa chake, mutalankhula za malo omwe pulogalamu yanu ingagwire ntchito, ndi nthawi yoti tiwone zida zomwe dziko lamakono limatipatsa popanga izi.

Tiyeni tiyambe ndi zoyambira: Bwererani (backend) - gawo la seva. Chisankho cha chilankhulo, ntchito zoyambira ndi kapangidwe kake (chimake) apa zimatsimikiziridwa makamaka ndi zomwe amakonda, komabe, ndikofunikira kutchulapo (lingaliro la wolemba za zilankhulo ndi lokhazikika, ngakhale ndi zonena). ku mafotokozedwe osakondera):

  • Python ndi chilankhulo chochezeka kwa wogwiritsa ntchito wosadziwa, chimakhululukira zolakwa zina, koma zimatha kukhala zokhwima kwambiri ndi wopanga mapulogalamu kuti asachite cholakwika chilichonse. Kale chilankhulo chokhwima komanso chatanthauzo, chomwe chidawonekera mu 1991.
  • Pitani - chilankhulo chochokera ku Google, ndichochezeka komanso chosavuta, ndikosavuta kupanga ndikupeza fayilo yomwe ingathe kuchitika papulatifomu iliyonse. Zingakhale zosavuta komanso zosangalatsa, kapena zingakhale zovuta komanso zovuta. Zatsopano ndi zazing'ono, zidawonekera posachedwa, mu 2009.
  • Dzimbiri ndi wamkulu pang'ono kuposa mnzake wakale, yemwe adatulutsidwa mu 2006, koma akadali wachichepere poyerekeza ndi anzawo. Cholinga cha opanga odziwa zambiri, ngakhale amayesabe kuthetsa ntchito zambiri zotsika kwa wopanga mapulogalamu.
  • Java ndi msilikali wakale wachitukuko chamalonda, yemwe adayambitsidwa mu 1995, ndipo ndi chimodzi mwa zilankhulo zomwe zimagwiritsidwa ntchito kwambiri popanga mabizinesi masiku ano. Ndi malingaliro ake oyambira komanso kukhazikitsidwa kwakukulu, nthawi yothamanga imatha kukhala yovuta kwa oyamba kumene.
  • ASP.net ndi nsanja yachitukuko yotulutsidwa ndi Microsoft. Kulemba magwiridwe antchito, chilankhulo cha C # (chotchedwa C Sharp), chomwe chidawonekera mu 2000, chimagwiritsidwa ntchito kwambiri. Kuvuta kwake ndikufanana ndi mulingo wapakati pa Java ndi Rust.
  • PHP, yomwe idagwiritsidwa ntchito popangira HTML preprocessing, pakadali pano, ngakhale ili ndi utsogoleri wokhazikika pamsika wa zilankhulo, pali chizolowezi chofikira kuchepa kwa kugwiritsidwa ntchito. Ili ndi malire otsika komanso osavuta kulemba ma code, koma nthawi yomweyo, popanga mapulogalamu akuluakulu, magwiridwe antchito a chilankhulo sangakhale okwanira.

Chabwino, gawo lomaliza la ntchito yathu - yowoneka bwino kwa ogwiritsa ntchito - Frontend (frontend) - ndi nkhope ya ntchito yanu; ndi gawo ili lomwe wogwiritsa ntchito amalumikizana mwachindunji.

Popanda kulowa mwatsatanetsatane, kutsogolo kwamakono kumayima pazipilala zitatu, zomangira (osati zambiri), popanga mawonekedwe ogwiritsira ntchito. Chifukwa chake, atatu otchuka kwambiri ndi awa:

  • ReactJS si chimango, koma laibulale. Kwenikweni, chimangocho chimasiyana ndi mutu wake wonyada pokhapokha ngati palibe ntchito zina "kunja kwa bokosi" komanso kufunika koziyika pamanja. Choncho, pali zosiyana zingapo za "kukonzekera" laibulale iyi, kupanga mapangidwe apadera. Zitha kukhala zovuta kwa oyamba kumene, chifukwa cha mfundo zina zoyambira, komanso kukhazikitsidwa mwaukali kwa malo omanga. Komabe, poyambira mwachangu, mutha kugwiritsa ntchito phukusi la "create-react-app".
  • VueJS ndi chimango chomangira ogwiritsa ntchito. Pa utatu uwu, moyenerera amatenga mutu wa chimango chosavuta kugwiritsa ntchito; pa chitukuko mu Vue, chotchinga cholowera ndi chotsika kuposa cha abale ena omwe atchulidwa. Komanso, iye ndiye womaliza mwa iwo.
  • Angular amaonedwa kuti ndizovuta kwambiri pazipangidwezi, zomwe zimafunikira TypeScript (zowonjezera za chilankhulo cha Javascript). Nthawi zambiri amagwiritsidwa ntchito kupanga mabizinesi akuluakulu.

Pofotokoza mwachidule zomwe zidalembedwa pamwambapa, titha kunena kuti kugwiritsa ntchito pulogalamuyo ndikosiyana kwambiri ndi momwe izi zidachitikira kale. Komabe, palibe amene akukulepheretsani kuchita "kutumiza" njira yakale. Koma kodi nthawi yaying'ono yomwe yasungidwa poyambira ndiyofunika kuchuluka kwa zolakwika zomwe wopanga amene asankha njira iyi ayenera kupitilira? Ndikukhulupirira kuti yankho ndilo ayi. Pokhala ndi nthawi yochulukirapo podziwa zida izi (ndipo simukusowa zambiri kuposa izo, chifukwa muyenera kumvetsetsa ngati mukuzifuna mu polojekiti yanu yamakono kapena ayi), mukhoza kuisewera, kuchepetsa kwambiri, mwachitsanzo. , milandu ya zolakwika za mizimu malingana ndi chilengedwe komanso zomwe zimawoneka pa seva yopangira, kusanthula usiku zomwe zinachititsa kuti seva iwonongeke komanso chifukwa chake sichidzayamba, ndi zina zambiri.

Source: www.habr.com

Kuwonjezera ndemanga