Akojọ ayẹwo fun ṣiṣẹda ati titẹjade awọn ohun elo wẹẹbu

Lati le ṣẹda ohun elo wẹẹbu tirẹ ni akoko wa, ko to lati ni anfani lati ṣe idagbasoke rẹ. Abala pataki kan ni siseto awọn irinṣẹ fun imuṣiṣẹ ohun elo, ibojuwo, bakanna bi iṣakoso ati iṣakoso agbegbe ti o n ṣiṣẹ. Bi akoko imuṣiṣẹ afọwọṣe ti n lọ si igbagbe, paapaa fun awọn iṣẹ akanṣe kekere, awọn irinṣẹ adaṣe le mu awọn anfani ojulowo wa. Nigbati o ba nlo “nipasẹ ọwọ”, a le gbagbe nigbagbogbo lati gbe nkan kan, ṣe akiyesi eyi tabi nuance, ṣiṣe idanwo igbagbe, atokọ yii le tẹsiwaju fun igba pipẹ.

Nkan yii le ṣe iranlọwọ fun awọn ti o kan kọ awọn ipilẹ ti ṣiṣẹda awọn ohun elo wẹẹbu ati fẹ lati ni oye diẹ nipa awọn ofin ipilẹ ati awọn apejọ.

Nitorinaa, awọn ohun elo ile tun le pin si awọn apakan 2: ohun gbogbo ti o nii ṣe pẹlu koodu ohun elo, ati ohun gbogbo ti o nii ṣe pẹlu agbegbe ti koodu yii ti ṣiṣẹ. Awọn koodu ohun elo, ni ọna, tun pin si koodu olupin (eyiti o nṣiṣẹ lori olupin, nigbagbogbo: iṣaro iṣowo, aṣẹ, ipamọ data, ati bẹbẹ lọ), ati koodu onibara (eyiti o nṣiṣẹ lori ẹrọ olumulo: nigbagbogbo ni wiwo, ati awọn ibatan kannaa pẹlu rẹ).

Jẹ ká bẹrẹ pẹlu Wednesday.

Ipilẹ fun iṣẹ eyikeyi koodu, eto, tabi sọfitiwia ni Eto Ṣiṣẹ, nitorinaa ni isalẹ a yoo wo awọn eto olokiki julọ lori ọja alejo gbigba ati fun wọn ni apejuwe kukuru kan:

Windows Server - Windows kanna, ṣugbọn ni iyatọ olupin. Diẹ ninu awọn iṣẹ ṣiṣe ti o wa ninu alabara (deede) ẹya Windows ko wa nibi, fun apẹẹrẹ, diẹ ninu awọn iṣẹ fun ikojọpọ awọn iṣiro ati sọfitiwia ti o jọra, ṣugbọn awọn ohun elo kan wa fun iṣakoso nẹtiwọọki, sọfitiwia ipilẹ fun gbigbe awọn olupin ranṣẹ (ayelujara, ftp, ...). Ni gbogbogbo, Windows Server dabi Windows deede, quacks bi Windows deede, sibẹsibẹ, o jẹ awọn akoko 2 diẹ sii ju ẹlẹgbẹ deede rẹ lọ. Sibẹsibẹ, fun ni pe o ṣeese yoo mu ohun elo naa sori olupin ifiṣootọ/foju, idiyele ikẹhin fun ọ, botilẹjẹpe o le pọ si, kii ṣe pataki. Niwọn igba ti Syeed Windows wa ni aye ti o lagbara ni ọja OS olumulo, ẹda olupin rẹ yoo jẹ faramọ julọ si awọn olumulo pupọ julọ.

UNIX-iru eto. Iṣẹ aṣa ni awọn eto wọnyi ko nilo wiwa ti wiwo ayaworan ti o faramọ, fifun olumulo nikan console bi ipin iṣakoso. Fun olumulo ti ko ni iriri, ṣiṣẹ ni ọna kika yii le nira, kini idiyele ti ijade olootu ọrọ ti o gbajumọ pupọ ninu data Mo ti wá, ibeere kan ti o ni ibatan si eyi ti gba diẹ sii ju awọn iwo 6 milionu ni ọdun 1.8. Awọn ipinpinpin akọkọ (awọn atẹjade) ti idile yii ni: Debian - pinpin olokiki, awọn ẹya package ninu rẹ ni idojukọ lori LTS (Atilẹyin Igba pipẹ - atilẹyin fun igba pipẹ), eyiti o ṣafihan ni igbẹkẹle giga ati iduroṣinṣin ti eto ati awọn idii; Ubuntu - ni awọn pinpin gbogbo awọn idii ni awọn ẹya tuntun wọn, eyiti o le ni ipa iduroṣinṣin, ṣugbọn ngbanilaaye lati lo iṣẹ ṣiṣe ti o wa pẹlu awọn ẹya tuntun; Red Hat Idawọlẹ Lainos - OS, ti o wa ni ipo fun lilo iṣowo, sanwo, sibẹsibẹ, pẹlu atilẹyin lati ọdọ awọn olutaja sọfitiwia, diẹ ninu awọn idii ohun-ini ati awọn idii awakọ; CentOS - ṣiṣi orisun iyatọ ti Red Hat Enterprise Linux, ti a ṣe afihan nipasẹ isansa ti awọn idii ohun-ini ati atilẹyin.

Fun awọn ti o bẹrẹ lati ṣakoso agbegbe yii, iṣeduro mi yoo jẹ awọn eto Windows Server, tabi Ubuntu. Ti a ba gbero Windows, lẹhinna eyi ni akọkọ faramọ eto naa, Ubuntu - ifarada diẹ sii si awọn imudojuiwọn, ati ni titan, fun apẹẹrẹ, awọn iṣoro diẹ nigba ifilọlẹ awọn iṣẹ akanṣe lori awọn imọ-ẹrọ ti o nilo awọn ẹya tuntun.

Nitorinaa, ti pinnu lori OS, jẹ ki a lọ si awọn irinṣẹ irinṣẹ ti o gba ọ laaye lati fi sori ẹrọ (fi sori ẹrọ), imudojuiwọn ati ṣe atẹle ipo ohun elo tabi awọn ẹya rẹ lori olupin naa.

Ipinnu pataki ti o tẹle yoo jẹ gbigbe ohun elo rẹ ati olupin fun rẹ. Ni akoko yii, o wọpọ julọ ni awọn ọna mẹta:

  • Alejo (titọju) olupin lori tirẹ jẹ aṣayan ore-isuna-isuna julọ, ṣugbọn iwọ yoo ni lati paṣẹ IP aimi lati ọdọ olupese rẹ ki orisun rẹ ko yi adirẹsi rẹ pada ni akoko pupọ.
  • Yalo olupin ifiṣootọ (VDS) - ati ni ominira lati ṣakoso rẹ ati awọn ẹru iwọn
  • Sanwo (nigbagbogbo wọn fun ọ ni aye lati gbiyanju iṣẹ ṣiṣe Syeed fun ọfẹ) fun ṣiṣe alabapin si diẹ ninu awọn alejo gbigba awọsanma, nibiti awoṣe isanwo fun awọn orisun ti a lo jẹ ohun ti o wọpọ. Awọn aṣoju olokiki julọ ti itọsọna yii: Amazon AWS (wọn fun ọdun ọfẹ ti lilo awọn iṣẹ, ṣugbọn pẹlu opin oṣooṣu), Google Cloud (wọn fun $ 300 si akọọlẹ naa, eyiti o le lo lakoko ọdun lori awọn iṣẹ alejo gbigba awọsanma) , Yandex.Cloud (wọn fun 4000 rubles . fun osu 2), Microsoft Azure (fun free wiwọle si gbajumo awọn iṣẹ fun odun kan, + 12 rubles fun eyikeyi awọn iṣẹ fun osu kan). Nitorinaa, o le gbiyanju eyikeyi ninu awọn olupese wọnyi laisi lilo owo idẹ kan, ṣugbọn gbigba ero isunmọ nipa didara ati ipele iṣẹ ti a pese.

Ti o da lori ọna ti o yan, ohun kan ti yoo yipada ni ọjọ iwaju ni ẹniti o ni iduro pupọ fun eyi tabi agbegbe ti iṣakoso naa. Ti o ba gbalejo ararẹ, lẹhinna o gbọdọ loye pe eyikeyi awọn idilọwọ ni ina, Intanẹẹti, olupin funrararẹ, sọfitiwia ti a gbe sori rẹ - gbogbo eyi wa patapata lori awọn ejika rẹ. Sibẹsibẹ, fun ikẹkọ ati idanwo, eyi jẹ diẹ sii ju to.

Ti o ko ba ni ẹrọ afikun ti o le ṣe ipa ti olupin, lẹhinna o yoo fẹ lati lo ọna keji tabi kẹta. Ẹjọ keji jẹ aami kanna si akọkọ, pẹlu ayafi ti o ba yi ojuse fun wiwa olupin ati agbara rẹ si awọn ejika ti olutọju. Isakoso olupin ati sọfitiwia ṣi wa labẹ iṣakoso rẹ.

Ati nikẹhin, aṣayan ti yiyalo agbara ti awọn olupese awọsanma. Nibi o le ṣeto iṣakoso adaṣe ti o fẹrẹ to ohunkohun laisi lilọ sinu awọn alaye imọ-ẹrọ pupọ pupọ. Ni afikun, dipo ẹrọ kan, o le ni ọpọlọpọ awọn iṣẹlẹ ti nṣiṣẹ ni afiwe, eyiti o le, fun apẹẹrẹ, jẹ iduro fun awọn ẹya oriṣiriṣi ti ohun elo, lakoko ti o ko ni iyatọ pupọ ni idiyele lati nini olupin ifiṣootọ. Ati paapaa, awọn irinṣẹ wa fun orchestration, eiyan, imuṣiṣẹ adaṣe, isọpọ igbagbogbo ati pupọ diẹ sii! A yoo wo diẹ ninu awọn nkan wọnyi ni isalẹ.

Ni gbogbogbo, awọn amayederun olupin dabi eyi: a ni ohun ti a pe ni “orchestrator” (“orchestration” jẹ ilana ti ṣiṣakoso ọpọlọpọ awọn iṣẹlẹ olupin), eyiti o ṣakoso awọn iyipada ayika lori apẹẹrẹ olupin, eiyan agbara (aṣayan, ṣugbọn oyimbo. nigbagbogbo lo), eyiti o fun ọ laaye lati pin ohun elo naa si awọn ipele ọgbọn ti o ya sọtọ, ati sọfitiwia Integration Ilọsiwaju — gbigba awọn imudojuiwọn laaye si koodu ti gbalejo nipasẹ “awọn iwe afọwọkọ.”

Nitorinaa, orchestration n gba ọ laaye lati rii ipo awọn olupin, yi jade tabi yi awọn imudojuiwọn pada si agbegbe olupin, ati bẹbẹ lọ. Ni akọkọ, abala yii ko ṣeeṣe lati ni ipa lori rẹ, nitori lati le ṣe agbekalẹ ohunkohun, o nilo awọn olupin pupọ (o le ni ọkan, ṣugbọn kilode ti eyi ṣe pataki?), Ati lati ni ọpọlọpọ awọn olupin, o nilo wọn. Lara awọn irinṣẹ ni itọsọna yii, ọkan ti o gbajumo julọ jẹ Kubernetes, ti o ni idagbasoke nipasẹ Google.

Igbesẹ ti o tẹle jẹ agbara-agbara ni ipele OS. Ni ode oni, imọran ti “dockerization” ti di ibigbogbo, eyiti o wa lati ọpa Docker, eyiti o pese iṣẹ ṣiṣe ti awọn apoti ti o ya sọtọ si ara wọn, ṣugbọn ṣe ifilọlẹ ni aaye ti ẹrọ ṣiṣe kan. Kini eyi tumọ si: ninu ọkọọkan awọn apoti wọnyi o le ṣiṣe ohun elo kan, tabi paapaa ṣeto awọn ohun elo, eyiti yoo gbagbọ pe wọn nikan ni gbogbo OS, laisi paapaa fura pe ẹnikan wa lori ẹrọ yii. Iṣẹ yii wulo pupọ fun ifilọlẹ awọn ohun elo kanna ti awọn ẹya oriṣiriṣi, tabi nirọrun awọn ohun elo ti o fi ori gbarawọn, bakanna fun pinpin awọn ege ohun elo kan si awọn fẹlẹfẹlẹ. Simẹnti Layer yii le jẹ kikọ nigbamii si aworan kan, eyiti o le ṣee lo, fun apẹẹrẹ, lati fi ohun elo kan ranṣẹ. Iyẹn ni, nipa fifi sori aworan yii ati gbigbe awọn apoti ti o wa ninu rẹ, o gba agbegbe ti a ti ṣetan fun ṣiṣe ohun elo rẹ! Ni awọn igbesẹ akọkọ, o le lo ọpa yii mejeeji fun awọn idi alaye ati lati gba awọn anfani gidi pupọ nipa pinpin ọgbọn ohun elo sinu awọn ipele oriṣiriṣi. Ṣugbọn o tọ lati sọ nibi pe kii ṣe gbogbo eniyan nilo dockerization, ati kii ṣe nigbagbogbo. Dockerization jẹ idalare ni awọn ọran nibiti ohun elo jẹ “pipin”, pin si awọn apakan kekere, ọkọọkan lodidi fun iṣẹ tirẹ, eyiti a pe ni “faaji iṣẹ-iṣẹ microservice”.

Ni afikun, ni afikun si ipese agbegbe, a nilo lati rii daju imuṣiṣẹ ti oye ti ohun elo, eyiti o pẹlu gbogbo iru awọn iyipada koodu, fifi sori ẹrọ ti awọn ile-ikawe ti o ni ibatan ati awọn idii, awọn idanwo ṣiṣe, awọn iwifunni nipa awọn iṣẹ wọnyi, ati bẹbẹ lọ. Nibi a nilo lati fiyesi si iru imọran bii “Ijọpọ Ilọsiwaju” (CI - Ilọsiwaju Integration). Awọn irinṣẹ akọkọ ni agbegbe yii ni akoko Jenkins ( sọfitiwia CI ti a kọ ni Java le dabi idiju diẹ ni ibẹrẹ), Travis C.I. (ti a kọ ni Ruby, koko-ọrọ, rọrun diẹ Jenkins, sibẹsibẹ, diẹ ninu awọn imọ ni aaye ti iṣeto imuṣiṣẹ tun nilo), Gitlab CI (ti a kọ lori Ruby ati Lọ).

Nitorinaa, ti sọrọ nipa agbegbe ninu eyiti ohun elo rẹ yoo ṣiṣẹ, o to akoko lati nikẹhin wo kini awọn irinṣẹ ti agbaye ode oni nfunni fun ṣiṣẹda awọn ohun elo wọnyi.

Jẹ ki a bẹrẹ pẹlu awọn ipilẹ: Backend (backend) - olupin apa. Yiyan ede, ṣeto awọn iṣẹ ipilẹ ati eto asọye (fireemu) nibi ti pinnu nipataki nipasẹ awọn ayanfẹ ti ara ẹni, ṣugbọn sibẹsibẹ, o tọ lati darukọ fun ero (ero ti onkọwe nipa awọn ede jẹ koko-ọrọ, botilẹjẹpe pẹlu ẹtọ kan. si apejuwe aiṣedeede):

  • Python jẹ ede ti o tọ fun olumulo ti ko ni iriri, o dariji diẹ ninu awọn aṣiṣe, ṣugbọn o tun le jẹ ti o muna pẹlu olupilẹṣẹ ki o ko ṣe ohunkohun buburu. Tẹlẹ ede ti o dagba ati ti o nilari, eyiti o han ni ọdun 1991.
  • Lọ - ede kan lati Google, tun jẹ ọrẹ ati irọrun, o rọrun pupọ lati ṣajọ ati gba faili ti o le ṣiṣẹ lori pẹpẹ eyikeyi. O le jẹ rọrun ati dídùn, tabi o le jẹ eka ati pataki. Titun ati ọdọ, farahan laipẹ, ni ọdun 2009.
  • Ipata ti dagba diẹ sii ju ẹlẹgbẹ rẹ ti tẹlẹ lọ, ti a tu silẹ ni ọdun 2006, ṣugbọn o tun jẹ ọdọ ni akawe si awọn ẹlẹgbẹ rẹ. Eleto si awọn olupilẹṣẹ ti o ni iriri diẹ sii, botilẹjẹpe o tun gbiyanju lati yanju ọpọlọpọ awọn iṣẹ-ṣiṣe kekere-kekere fun olupilẹṣẹ naa.
  • Java jẹ oniwosan ti idagbasoke iṣowo, ti a ṣe ni 1995, ati pe o jẹ ọkan ninu awọn ede ti o wọpọ julọ ni idagbasoke ohun elo ile-iṣẹ loni. Pẹlu awọn imọran ipilẹ rẹ ati iṣeto iwuwo, akoko asiko le di nija pupọ fun olubere kan.
  • ASP.net jẹ ipilẹ idagbasoke ohun elo ti Microsoft tu silẹ. Lati kọ iṣẹ ṣiṣe, ede C # (ti a npe ni C Sharp), eyiti o farahan ni ọdun 2000, jẹ lilo ni pataki. Idiju rẹ jẹ afiwera si ipele laarin Java ati Rust.
  • PHP, ni akọkọ ti a lo fun iṣaju HTML, lọwọlọwọ, botilẹjẹpe o ni idari pipe ni ọja ede, aṣa wa si idinku ninu lilo. O ni ẹnu-ọna titẹsi kekere ati irọrun ti koodu kikọ, ṣugbọn ni akoko kanna, nigba idagbasoke awọn ohun elo ti o tobi pupọ, iṣẹ ṣiṣe ti ede le ma to.

O dara, apakan ikẹhin ti ohun elo wa - ojulowo julọ fun olumulo - Software ti o pese atọkun si eto miiran (frontend) - jẹ oju ohun elo rẹ; o wa pẹlu apakan yii ti olumulo ṣe ajọṣepọ taara.

Laisi lilọ sinu awọn alaye, iwaju iwaju ode oni duro lori awọn ọwọn mẹta, awọn ilana (ati kii ṣe pupọ), fun ṣiṣẹda awọn atọkun olumulo. Gegebi bi, awọn mẹta julọ gbajumo ni:

  • ReactJS kii ṣe ilana, ṣugbọn ile-ikawe kan. Lootọ, ilana naa yatọ si akọle igberaga rẹ nikan ni isansa ti diẹ ninu awọn iṣẹ “lati inu apoti” ati iwulo lati fi sori ẹrọ pẹlu ọwọ. Nitorinaa, awọn iyatọ pupọ wa ti “igbaradi” ti ile-ikawe yii, ti o ṣẹda awọn ilana alailẹgbẹ. O le jẹ iṣoro diẹ fun olubere kan, nitori diẹ ninu awọn ipilẹ ipilẹ, ati iṣeto ibinu pupọ ti agbegbe ile. Bibẹẹkọ, fun ibẹrẹ ni iyara, o le lo package “create-react-app” naa.
  • VueJS jẹ ilana fun kikọ awọn atọkun olumulo. Ninu Mẹtalọkan yii, o ni ẹtọ gba akọle ti ilana ore-olumulo julọ; fun idagbasoke ni Vue, idena fun titẹsi kere ju ti awọn arakunrin miiran ti a mẹnuba. Síwájú sí i, òun ni àbíkẹ́yìn láàárín wọn.
  • Angular ni a gba eka julọ ti awọn ilana wọnyi, ọkan nikan ti o nilo TypeScript (afikun-un fun ede Javascript). Nigbagbogbo lo lati kọ awọn ohun elo ile-iṣẹ nla.

Ni akopọ ohun ti a kọ loke, a le pinnu pe ni bayi gbigbe ohun elo kan yatọ yato si bii ilana yii ṣe tẹsiwaju tẹlẹ. Sibẹsibẹ, ko si ẹnikan ti o da ọ duro lati ṣe “imuṣiṣẹ” ni ọna aṣa atijọ. Ṣugbọn njẹ akoko diẹ ti o fipamọ ni ibẹrẹ tọ nọmba nla ti awọn aṣiṣe ti olupilẹṣẹ ti o yan ọna yii yoo ni lati tẹsiwaju? Mo gbagbo pe idahun ko si. Nipa lilo akoko diẹ diẹ sii lati mọ ararẹ pẹlu awọn irinṣẹ wọnyi (ati pe o ko nilo diẹ sii ju iyẹn lọ, nitori o nilo lati ni oye boya o nilo wọn ninu iṣẹ akanṣe rẹ lọwọlọwọ tabi rara), o le mu ṣiṣẹ jade, dinku ni pataki, fun apẹẹrẹ. , Awọn ọran ti awọn aṣiṣe iwin ti o da lori agbegbe ati pe o han nikan lori olupin iṣelọpọ, itupalẹ alẹ ti ohun ti o yori si jamba olupin ati idi ti kii yoo bẹrẹ, ati pupọ diẹ sii.

orisun: www.habr.com

Fi ọrọìwòye kun