Pêşveçûna amûrên radestkirinê, an ramanên li ser Docker, deb, jar û hêj bêtir

Pêşveçûna amûrên radestkirinê, an ramanên li ser Docker, deb, jar û hêj bêtir

Bi rengekî carekê min biryar da ku ez gotarek li ser radestkirinê di forma konteynerên Docker û pakêtên deb de binivîsim, lê gava ku min dest pê kir, ji ber hin sedeman ez vegeriyam demên dûr ên yekem komputerên kesane û tewra hesabkeran. Bi gelemperî, li şûna berhevokên hişk ên docker û deb, me van ramanan li ser mijara pêşkeftinê girt, ku ez ji bo nirxandina we pêşkêş dikim.

Her hilber, çi dibe bila bibe, divê bi rengekî xwe bigihîne serverên hilberê, divê were mîheng kirin û destpêkirin. Ev gotar dê li ser vê yekê be.

Ez ê di çarçoveyek dîrokî de bifikirim, "tiştê ku ez dibînim ew e ku ez li ser stranan dibêjim," gava min dest bi nivîsandina kodê kir min çi dît û niha ez çi dibînim, em bi xwe vê gavê çi bikar tînin û çima. Gotar nabêje ku lêkolînek bêkêmasî ye, hin xal têne winda kirin, ev nêrîna min a kesane ya ku çi bû û çi ye niha ye.

Ji ber vê yekê, di rojên xweş ên berê de ... rêbaza herî zû ya radestkirinê ya ku min dît kasetên kasetên ji kasetên kasetan bûn. Komputera min BK-0010.01 hebû...

Serdema hesabkeran

Na, demek hê berê jî hebû, hesabkerek jî hebû MK-61 и MK-52.

Pêşveçûna amûrên radestkirinê, an ramanên li ser Docker, deb, jar û hêj bêtir Îcar gava ku min hebû MK-61, wê demê awayê veguheztina bernameyê kaxezek asayî bû di nav qutiyek de ku bername li ser hatibû nivîsandin, ku heke hewce bike, ji bo ku bi destan were xebitandin, di hesabkerê de hate nivîsandin. Ger hûn dixwazin lîstin (erê, tewra vê hesabkera pêşdibistanê jî lîstikên xwe hebûn) - hûn rûnin û bernameyê têkevin nav hesabkerê. Bi xwezayî, dema ku hesabker hate girtin, bername di nav jibîrkirinê de winda bû. Ji xeynî kodên hesabkeran ku bi kesane li ser kaxezê hatine nivîsandin, bername di kovarên "Radio" û "Technology for Youth" de hatine weşandin û di pirtûkên wê demê de jî hatine weşandin.

Guhertina paşîn hesabkerek bû MK-52, ew jixwe hin xuyangkirina hilanîna daneya ne-hilber heye. Naha ne hewce bû ku lîstok an bername bi destan bihata têkeve, lê piştî ku bi bişkokan hin derbasbûnên efsûnî pêk anî, xwe bar kir.

Mezinahiya bernameya herî mezin a di hesabkerê de 105 gav, û mezinahiya bîranîna daîmî di MK-52 de 512 gav bû.

Bi awayê, heke temaşevanên van hesabkeran hebin ku vê gotarê dixwînin, di pêvajoya nivîsandina gotarê de min hem emulatorek hesabkerê ji bo Android-ê û hem jî bernameyên wê dît. Ber bi paşerojê ve!

Derbarê MK-52 de ravekek kurt (ji Wîkîpediya)

MK-52 bi keştiya fezayî ya Soyuz TM-7 firiya fezayê. Diviyabû ku ew ji bo hesabkirina trajektora daketinê were bikar anîn heke ku komputera serhêl têk neçe.

Ji sala 52-an vir ve, MK-1988 bi yekîneya berfirehkirina bîranîna Elektronika-Astro re wekî beşek ji kîteyek hesabkirina navîgasyonê ji keştiyên Navy re tê peyda kirin.

Yekem komputerên kesane

Pêşveçûna amûrên radestkirinê, an ramanên li ser Docker, deb, jar û hêj bêtir Ka em vegerin ser demê BK-0010. Eşkere ye ku li wir bêtir bîranîn hebû, û nivîsandina kodê ji kaxezek nema vebijarkek bû (her çend di destpêkê de min wusa kir, ji ber ku bi hêsanî navgînek din tune bû). Kasetên dengî yên ji bo qeydên kasetê dibin navgînên sereke yên hilanîn û radestkirina nermalavê.





Pêşveçûna amûrên radestkirinê, an ramanên li ser Docker, deb, jar û hêj bêtirDepokirina li ser kasetekê bi gelemperî di forma yek an du pelên binary de bû, her tiştê din di hundurê de bû. Pêbawerî pir kêm bû, ez neçar bûm ku 2-3 kopiyên bernameyê bihêlim. Demên barkirinê jî dilşikestî bûn, û dilşewat bi şîfreyên frekansa cihêreng ceribandin da ku van kêmasiyan derbas bikin. Di wê demê de, ez bi xwe hîn di pêşkeftina nermalava profesyonel de nebûm (bernameyên hêsan ên di BASIC de nayê hesibandin), ji ber vê yekê, mixabin, ez ê bi hûrgulî ji we re nebêjim ka her tişt çawa di hundurê de hate saz kirin. Rastiya ku komputer bi piranî tenê RAM bû, hêsaniya nexşeya hilanîna daneyê diyar kir.

Derketina holê ya medya hilanînê pêbawer û mezin

Dûv re, dîskên floppy xuya bûn, pêvajoya kopîkirinê hêsan bû, û pêbawerî zêde bû.
Lê rewş bi dramatîk diguhezîne tenê gava ku depoyên herêmî yên têra xwe mezin di forma HDD de xuya dibin.

Cûreya radestkirinê bi bingehîn tê guheztin: bernameyên sazker xuya dikin ku pêvajoya mîhengkirina pergalê, û hem jî paqijkirina piştî rakirinê birêve dibin, ji ber ku bername ne tenê di bîranînê de têne xwendin, lê jixwe di hilanîna herêmî de têne kopî kirin, ku hûn jê re hewce ne ger hewce bike karibin tiştên nepêwist paqij bikin.

Di heman demê de, tevliheviya nermalava peydakirî zêde dibe.
Hejmara pelên di radestkirinê de ji çend sed û hezaran zêde dibe, nakokiyên di navbera guhertoyên pirtûkxaneyê û şahiyên din de dest pê dikin dema ku bernameyên cûda heman daneyan bikar tînin.

Pêşveçûna amûrên radestkirinê, an ramanên li ser Docker, deb, jar û hêj bêtir Di wê demê de, hebûna Linux-ê hîn ji min re ne vekirî bû; ez li cîhana MS DOS û, paşê, Windows-ê dijiyam, û di Borland Pascal û Delphi de dinivîsim, carinan li C++ digerim. Gelek kesan InstallShield bikar anîn ku wê hingê hilberan radest bikin. ru.wikipedia.org/wiki/InstallShield, ku bi serfirazî hemî peywirên peywirdarkirî yên danîn û mîhengkirina nermalavê çareser kir.




Serdema Înternetê

Gav bi gav, tevliheviya pergalên nermalavê hîn tevlihevtir dibe; ji serîlêdanên monolît û sermaseyê veguheztinek berbi pergalên belavbûyî, xerîdarên zirav û mîkroxizmetan heye. Naha hûn hewce ne ku ne tenê bernameyek, lê komek ji wan mîheng bikin, û da ku ew hemî bi hev re bixebitin.

Têgeh bi tevahî guherî, Înternet hat, serdema karûbarên ewr hat. Heya nuha, tenê di qonaxa destpêkê de, di forma malperan de, kes bi taybetî xewna karûbaran nekiriye. lê ew hem di pêşkeftin û hem jî di radestkirina sepanan de xalek zivirînê bû.

Ji xwe re, min destnîşan kir ku di wê gavê de di nifşên pêşdebiran de guherînek çêbû (an ew tenê di hawîrdora min de bû), û hestek hebû ku hemî rêbazên radestkirina kevnar ên baş di yek kêliyê de ji bîr kirin û her tişt ji destpêkê ve dest pê kir. destpêk: hemî radestkirinê dest bi nivîsandina çokê kirin û bi serbilindî jê re digotin "Radestkirina domdar". Bi rastî, serdemek kaosê dest pê kiriye, dema ku ya kevn tê jibîrkirin û nayê bikar anîn, û ya nû bi hêsanî tune.

Wextên ku di pargîdaniya me de ku ez wê demê lê dixebitim (ez ê navê wê nekim), tê bîra min, li şûna ku bi ant ava bikin (maven hîn ne populer bû an jî tunebû), mirovan bi tenê firaxên di IDE-yê de berhev dikirin û bi aramî tevdigeriyan. ew di SVN de. Li gorî vê yekê, bicihkirin ji hilanîna pelê ji SVN û kopîkirina wê bi SSH-ê li makîneya xwestinê pêk tê. Ew qas sade û bêkêmasî ye.

Di heman demê de, radestkirina malperên hêsan ên di PHP-ê de bi rengek pir primitive bi tenê kopîkirina pelê rastkirî bi navgîniya FTP-ê li makîneya armancê hate kirin. Carinan ne wusa bû - kod bi zindî li ser servera hilberê hate guheztin, û heke li cîhek paşvekêşan hebin ew bi taybetî xweşik bû.


pakêtên RPM û DEB

Pêşveçûna amûrên radestkirinê, an ramanên li ser Docker, deb, jar û hêj bêtirJi hêla din ve, bi pêşkeftina Înternetê re, pergalên mîna UNIX-ê dest pê kirin her ku diçe populerbûnek zêde bi dest dixin, nemaze, di wê demê de bû ku min RedHat Linux 6, nêzîkê 2000-an keşf kir. Bi xwezayî, hin rêgezên radestkirina nermalavê jî hebûn; li gorî Wikipedia, RPM wekî rêveberê pakêtê ya sereke di sala 1995-an de, di guhertoya RedHat Linux 2.0 de xuya bû. Û ji wê demê û heta îro, pergal di forma pakêtên RPM-ê de hatîye radest kirin û bi rengek serketî heye û pêşve diçe.

Belavkirina malbata Debian rêyek bi heman rengî şopand û radestkirina di forma pakêtên deb de pêk anî, ku heya roja îro neguherî ye.

Rêvebirên pakêtê dihêlin ku hûn hilberên nermalavê bixwe radest bikin, wan di pêvajoya sazkirinê de mîheng bikin, girêdanên di navbera pakêtên cihêreng de birêve bibin, hilberan rakin û tiştên nehewce di pêvajoya rakirinê de paqij bikin. Ewan. bi piranî, ew tişta ku hewce ye, ji ber vê yekê ew çend dehsalan hema hema neguhêrbar domandin.

Cloud computing sazkirinê li rêveberên pakêtê ne tenê ji medyaya laşî, lê di heman demê de ji depoyên ewr jî zêde kiriye, lê di bingeh de hindik guherî.

Hêjayî gotinê ye ku niha hin gav ber bi dûrketina ji deb û guheztina pakêtên snap-ê ve diçin, lê li ser wê paşê bêtir.

Ji ber vê yekê, ev nifşa nû ya pêşdebirên ewr, ku ne DEB û ne jî RPM dizanibû, hêdî hêdî mezin bû, ezmûn bi dest xist, hilber tevlihevtir bûn, û ji FTP, nivîsên bash û hunerên xwendekar ên mîna hin rêbazên radestkirina maqûltir hewce bûn.
Û ev e ku Docker dikeve nav wêneyê, celebek tevlihevkirina virtualîzasyonê, veqetandina çavkaniyê û rêbaza radestkirinê. Niha moda û ciwan e, lê gelo ji bo her tiştî hewce ye? Ma ev dermanek e?

Li gorî çavdêriyên min, pir caran Docker ne wekî hilbijartinek maqûl tê pêşniyar kirin, lê tenê ji ber ku, ji aliyekî ve, di civakê de li ser tê axaftin, û yên ku wê pêşniyar dikin tenê wê dizanin. Ji hêla din ve, bi piranî ew li hember pergalên pakkirinê yên kevn ên baş bêdeng in - ew hene û karê xwe bêdeng û bêhemdî dikin. Di rewşek wusa de, bi rastî bijarek din tune - bijarte diyar e - Docker.

Ez ê hewl bidim ku ezmûna xwe parve bikim ka me çawa Docker bicîh kir û di encamê de çi qewimî.


Nivîsarên xwe-nivîskî

Di destpêkê de, nivîsarên bash hebûn ku arşîvên jar li makîneyên pêdivî bi cih kirin. Ev pêvajo ji hêla Jenkins ve hate rêvebirin. Vê yekê bi serfirazî xebitî, ji ber ku arşîva jar bixwe meclîsek e ku ders, çavkaniyan û tewra veavakirinê jî vedihewîne. Ger hûn her tiştî bi herî zêde têxin hundurê wê, wê hingê berfirehkirina wê di skrîptekê de ne tiştê herî dijwar e ku hûn hewce ne

Lê Skrîpta çend kêmasiyên xwe hene:

  • Nivîsar bi gelemperî bi lez têne nivîsandin û ji ber vê yekê ew qas primitive in ku ew tenê senaryoyek çêtirîn-doza dihewîne. Ev ji hêla rastiya ku pêşdebir bi radestkirina bilez re eleqedar e, hêsan dibe, û nivîsarek normal pêdivî bi veberhênana hejmarek çavkaniyek maqûl heye.
  • di encama xala berê de, skrîptan prosedurên rakirinê nagirin
  • tu prosedureke upgrade avakirin
  • Dema ku hilberek nû xuya dibe, hûn hewce ne ku skrîptek nû binivîsin
  • piştgiriya girêdayîbûnê tune

Bê guman, hûn dikarin senaryoyek sofîstîke binivîsin, lê, wekî ku min li jor nivîsî, ev dema pêşkeftinê ye, û ne hindiktirîn, û, wekî ku em dizanin, her dem dem têrê nake.

Hemî ev eşkere ye ku qada sepanê ya vê rêbazê bicîhkirinê tenê ji pergalên herî hêsan re sînordar dike. Dema guhertina vê hatiye.


Docker

Pêşveçûna amûrên radestkirinê, an ramanên li ser Docker, deb, jar û hêj bêtirDi deverekê de, navînên nû yên ku ji nû ve hatine çêkirin, dest bi hatina me kirin, bi ramanên xwe re rijandin û li ser dokerê hejandin. Welê, ala di dest de - werin em bikin! Du hewldan hebûn. Her du jî neserkeftî bûn - em bêjin, ji ber ambargoyên mezin, lê nebûna ezmûnek rastîn. Ma hewce bû ku bi her awayî bi zorê û qedandina wê? Ne mimkûn e - berî ku ew bikaribe amûrên guncan bikar bîne, pêdivî ye ku tîm bigihîje asta pêwîst. Wekî din, dema ku wêneyên amadekirî yên Docker bikar tînin, me pir caran rastî vê yekê hat ku torê rast nexebitî (ku dibe ku ji ber şilbûna Docker bixwe be) an jî dijwar bû ku konteynerên kesên din berfireh bike.

Em rastî çi nerehetiyan hatin?

  • Pirsgirêkên torê di moda pirê de
  • Nerehet e ku meriv têketinên di konteynerek de bibîne (heke ew di pergala pelan a makîneya mêvandar de ji hev cuda neyên hilanîn)
  • ElasticSearch carinan bi rengek ecêb di hundurê konteynerê de dicemide, sedem nehatiye diyar kirin, konteynir fermî ye
  • Pêdivî ye ku meriv di hundurê konteynerek de şêlek bikar bîne - her tişt pir jêkirî ye, amûrên nas tune
  • Mezinahiya mezin a konteynerên berhevkirî - hilanînê biha
  • Ji ber mezinahiya konteyneran, piştgirîkirina gelek guhertoyan dijwar e
  • Berevajî rêbazên din (skrîpt an pakêtên deb) dema çêkirinê dirêjtir

Ji hêla din ve, çima xirabtir e ku meriv karûbarek Biharê di forma arşîvek jar de bi heman deb ve were bicîh kirin? Ma îzolekirina çavkaniyê bi rastî hewce ye? Ma hêja ye ku bi daxistina karûbarek di konteynirek pir kêmkirî de amûrên pergala xebitandinê yên hêsan winda bikin?

Wekî ku pratîkê destnîşan kir, di rastiyê de ev ne hewce ye, pakêta deb di 90% bûyeran de bes e.

Kengê deb-ya kevn a baş têk diçe û kengê em bi rastî hewceyê dokerê ne?

Ji bo me, ev karûbar di python de bicîh dikir. Gelek pirtûkxane ji bo fêrbûna makîneyê hewce ne û ne di nav belavkirina standard a pergala xebitandinê de (û çi hebû guhertoyên xelet hebûn), hackên bi mîhengan, hewcedariya guhertoyên cihêreng ji bo karûbarên cihêreng ên ku li ser heman pergala mêvandar dijîn bû sedema ev, ku yekane riya maqûl a radestkirina vê tevliheviya navokî doker bû. Zehmetiya kedê ya komkirina konteynirek dokerê ji ramana pakkirina wê di nav pakêtên deb ên veqetandî yên bi girêdayîbûnê de kêmtir bû, û di rastiyê de kes di hişê xwe yê rast de dê vê yekê neke.

Xala duyemîn ku em plan dikin ku Docker bikar bînin ev e ku em karûbaran bi karanîna pilana danîna şîn-kesk bikar bînin. Lê li vir ez dixwazim hêdî hêdî di tevliheviyê de zêde bibim: yekem, pakêtên deb têne çêkirin, û dûv re jî konteynirek doker ji wan tê çêkirin.


pakêtên Snap

Pêşveçûna amûrên radestkirinê, an ramanên li ser Docker, deb, jar û hêj bêtir Ka em vegerin ser pakêtên snap. Ew yekem car bi fermî di Ubuntu 16.04 de xuya bûn. Berevajî pakêtên deb û pakêtên rpm yên gelemperî, snap hemî girêdayîbûnê hildigire. Ji aliyek ve, ev dihêle hûn ji nakokiyên pirtûkxaneyê dûr bikevin, ji hêla din ve, pakêta encam bi mezinahî mezintir e. Digel vê yekê, ev dikare bandorê li ewlehiya pergalê jî bike: di mijara radestkirina zû de, divê hemî guhertinên li pirtûkxaneyên tê de ji hêla pêşdebirê ku pakêtê diafirîne ve werin şopandin. Bi gelemperî, ne her tişt ew qas hêsan e û bextewariya gerdûnî ji karanîna wan nayê. Lê, dîsa jî, ev alternatîfek bi tevahî maqûl e heke heman Docker tenê wekî amûrek pakkirinê were bikar anîn û ne ji bo virtualbûnê.



Wekî encamek, em naha hem pakêtên deb û hem jî konteynerên dokerê di navhevokek maqûl de bikar tînin, ku, dibe ku, di hin rewşan de em ê bi pakêtên snap veguherînin.

Tenê bikarhênerên qeydkirî dikarin beşdarî anketê bibin. Têketinji kerema xwe.

Hûn ji bo radestkirinê çi bikar tînin?

  • Nivîsarên xwe-nivîskî

  • Bi destan li FTP-ê kopî bikin

  • pakêtên deb

  • pakêtên rpm

  • pakêtên snap

  • Docker-wêneyên

  • Wêneyên makîneya virtual

  • Tevahiya HDD-ê klon bikin

  • kejal

  • ansible

  • Din

109 bikarhêneran deng dan. 32 bikarhêner betal bûn.

Source: www.habr.com

Add a comment