Эволютсияи воситаҳои интиқол ё фикрҳо дар бораи Docker, deb, jar ва ғайра

Эволютсияи воситаҳои интиқол ё фикрҳо дар бораи Docker, deb, jar ва ғайра

Дар як лаҳза ман тасмим гирифтам, ки дар бораи интиқол дар шакли контейнерҳои Docker ва бастаҳои deb мақола нависам, аммо вақте ки ман оғоз кардам, бо баъзе сабабҳо маро ба замонҳои дури аввалин компютерҳои фардӣ ва ҳатто ҳисобкунакҳо баргардонданд. Умуман, ба ҷои муқоисаи хушки докер ва деб, мо ин андешаҳоро дар мавзӯи эволютсия ба даст овардем, ки ман онро барои баррасии шумо пешкаш мекунам.

Ҳар як маҳсулот, новобаста аз он, ки он чӣ аст, бояд ба ягон тариқ ба серверҳои маҳсулот ворид шавад, бояд танзим ва ба кор андохта шавад. Ин мақола дар бораи он хоҳад буд.

Ман дар заминаи таърихӣ фикр хоҳам кард, ки "он чизе ки ман мебинам, дар бораи он суруд мехонам", он чизеро, ки ман бори аввал ба навиштани код шурӯъ кардам ва он чизеро, ки ҳоло мушоҳида мекунам, дар айни замон худамон истифода мебарем ва чаро. Мақола худро як таҳқиқоти мукаммал вонамуд намекунад, баъзе нуктаҳо нодида гирифта шудаанд, ин назари шахсии ман дар бораи он чизест, ки чӣ буд ва чӣ ҳоло аст.

Инак, дар айёми пештара... аввалин усули расондани он, ки ман ёфтам, лентахои кассета аз магнитофон буд. Ман компютери BK-0010.01 доштам...

Давраи ҳисобкунакҳо

Не, як лахзаи аз ин хам пештар хам буд, хисоббарор хам буд МК-61 и МК-52.

Эволютсияи воситаҳои интиқол ё фикрҳо дар бораи Docker, deb, jar ва ғайра Пас, вақте ки ман доштам МК-61, пас роҳи интиқоли барнома як коғази муқаррарӣ дар қуттичае буд, ки дар он барнома навишта шуда буд, ки дар ҳолати зарурӣ барои ба таври дастӣ иҷро кардани он ба ҳисобкунак навишта мешуд. Агар шумо хоҳед, ки бозӣ кунед (бале, ҳатто ин ҳисобкунаки пешқадам бозиҳо дошт) - шумо нишаста, барномаро ба ҳисобкунак ворид мекунед. Табиист, ки вақте ки ҳисобкунак хомӯш карда шуд, барнома дар ҳолати фаромӯшӣ нопадид шуд. Ба ѓайр аз рамзњои њисобкунї, ки шахсан дар рўи коѓаз навишта шуда буд, барномањо дар маљаллањои «Радио» ва «Технология барои љавонон» ба табъ мерасиданд ва дар китобњои он замон низ чоп мешуданд.

Тағйири навбатӣ ҳисобкунак буд МК-52, он аллакай дорои як намуди нигоҳдории маълумотҳои ғайримуқаррарӣ мебошад. Акнун бозӣ ё барномаро дастӣ ворид кардан лозим набуд, аммо пас аз анҷом додани баъзе гузаришҳои ҷодугарӣ бо тугмаҳо, он худаш бор карда шуд.

Андозаи программам калонтарин дар мошини хисоббарор 105 кадам ва хачми хотираи доимй дар МК-52 512 кадам буд.

Дар омади гап, агар мухлисони ин ҳисобкунакҳо ҳастанд, ки ин мақоларо мехонанд, дар ҷараёни навиштани мақола ман ҳам як эмулятори ҳисобкунак барои Android ва ҳам барномаҳои онро пайдо кардам. Ба пеш ба гузашта!

Маълумоти мухтасар дар бораи МК-52 (аз Википедиа)

МК-52 бо киштии «Союз ТМ-7» ба коинот парвоз кард. Он бояд барои ҳисоб кардани траекторияи фуруд дар сурати аз кор баромадани компютери бортӣ истифода мешуд.

Аз соли 52 инҷониб, MK-1988 бо воҳиди тавсеаи хотираи Elektronika-Astro ба киштиҳои Нерӯи баҳрӣ ҳамчун як қисми маҷмӯаи ҳисоббарории навигатсионӣ дода мешавад.

Аввалин компютерҳои фардӣ

Эволютсияи воситаҳои интиқол ё фикрҳо дар бораи Docker, deb, jar ва ғайра Биёед ба замонҳо баргардем BC-0010. Маълум аст, ки дар он ҷо хотираи бештар вуҷуд дошт ва ворид кардани код аз пораи коғаз дигар имкон надошт (гарчанде ки дар аввал ман ин корро кардам, зеро дигар васила вуҷуд надошт). Кассетахои аудио барои магнитофонхо воситаи асосии нигох доштан ва расондани программахо шуда истодаанд.





Эволютсияи воситаҳои интиқол ё фикрҳо дар бораи Docker, deb, jar ва ғайраНигоҳдорӣ дар кассета одатан дар шакли як ё ду файли дуӣ буд, ҳама чизи дигар дар дохили он мавҷуд буд. Эътимоднокӣ хеле паст буд, ман бояд 2-3 нусхаи барномаро нигоҳ доштам. Вақтҳои боркунӣ низ ноумедкунанда буданд ва мухлисон барои бартараф кардани ин камбудиҳо рамзгузории басомадҳои гуногунро озмоиш карданд. Дар он вақт, ман худам ҳанӯз дар таҳияи нармафзори касбӣ (ба ҳисоб гирифтани барномаҳои оддӣ дар BASIC) машғул набудам, аз ин рӯ, мутаассифона, ман ба шумо муфассал нақл намекунам, ки ҳама чиз дар дохили он чӣ гуна ҷойгир шудааст. Далели он, ки компютер танҳо RAM дошт, аксар вақт содда будани схемаи нигоҳдории маълумотро муайян кард.

Пайдоиши расонаҳои боэътимод ва калонтарини нигоҳдорӣ

Баъдтар, дискетҳо пайдо шуданд, раванди нусхабардорӣ содда ва эътимоднокӣ зиёд шуд.
Аммо вазъ танҳо вақте ба таври назаррас тағйир меёбад, ки анборҳои ба қадри кофӣ калони маҳаллӣ дар шакли HDD пайдо мешаванд.

Навъи таҳвил ба куллӣ тағир меёбад: барномаҳои насбкунанда пайдо мешаванд, ки раванди конфигуратсияи системаро идора мекунанд ва инчунин пас аз нест карданро идора мекунанд, зеро барномаҳо на танҳо дар хотира хонда мешаванд, балки аллакай ба анбори маҳаллӣ нусхабардорӣ карда мешаванд, ки аз он шумо бояд агар лозим бошад, чизҳои нодаркорро тоза карда тавонанд.

Дар баробари ин, мураккабии нармафзори додашуда меафзояд.
Шумораи файлҳо дар интиқол аз якчанд то садҳо ва ҳазорҳо зиёд мешавад, ихтилофҳо байни версияҳои китобхона ва дигар шодӣ вақте оғоз мешаванд, ки барномаҳои гуногун як маълумотро истифода мебаранд.

Эволютсияи воситаҳои интиқол ё фикрҳо дар бораи Docker, deb, jar ва ғайра Дар он вақт, вуҷуд ҳанӯз бароям ошкор нашуда буд LinuxМан дар ҷаҳони MS DOS зиндагӣ мекардам ва баъдтар, Windows, ва бо забонҳои Borland Pascal ва Delphi менавишт, гоҳ-гоҳ бо C++ машғул мешуд. Дар он вақт бисёриҳо барои интиқоли маҳсулот аз InstallShield истифода мебурданд. ru.wikipedia.org/wiki/InstallShield, ки ҳамаи вазифаҳои гузошташуда оид ба ҷойгиркунӣ ва конфигуратсияи нармафзорро хеле бомуваффақият ҳал кард.




Давраи интернет

Оҳиста-оҳиста мураккабии системаҳои нармафзор боз ҳам мураккабтар мегардад, аз барномаҳои монолитӣ ва мизи корӣ ба системаҳои тақсимшуда, мизоҷҳои лоғар ва микросервисҳо гузариш ба амал меояд. Акнун шумо бояд на танҳо як барнома, балки маҷмӯи онҳоро танзим кунед, то ки ҳама якҷоя кор кунанд.

Консепсия комилан тағир ёфт, Интернет омад, давраи хидматрасонии абрӣ фаро расид. То ҳол, танҳо дар марҳилаи аввал, дар шакли вебсайтҳо, ҳеҷ кас махсусан дар бораи хидматҳо орзу намекард. аммо он ҳам дар таҳия ва ҳам расонидани барномаҳо нуқтаи гардиш буд.

Барои худам, ман қайд кардам, ки дар он лаҳза дар наслҳои таҳиягарон тағирот ба амал омад (ё ин танҳо дар муҳити ман буд) ва эҳсосе вуҷуд дошт, ки ҳама усулҳои хуби интиқол дар як лаҳза фаромӯш карда шуданд ва ҳама чиз аз ҳамон лаҳза оғоз ёфт. оғоз: тамоми таҳвил оғоз скриптҳои зону анҷом дода шуд ва бо ифтихор "Таълими пайваста" номид. Дарвоқеъ, давраи бесарусомонӣ оғоз шуд, ки кӯҳна фаромӯш мешавад ва истифода намешавад ва нав танҳо вуҷуд надорад.

Ман вақтҳоеро дар ёд дорам, ки дар ширкати мо, ки он вақт кор мекардам (ном намекунам), ба ҷои сохтани мӯрча (maven ҳанӯз маъмул набуд ё умуман вуҷуд надошт), одамон танҳо дар IDE зарфҳоро ҷамъ мекарданд ва оромона кор мекарданд. он дар SVN. Мувофиқи он, ҷойгиркунӣ аз дарёфти файл аз SVN ва нусхабардории он тавассути SSH ба мошини дилхоҳ иборат буд. Ин қадар оддӣ ва беақл аст.

Ҳамзамон, интиқоли сайтҳои оддӣ дар PHP ба таври оддӣ тавассути нусхабардории файли ислоҳшуда тавассути FTP ба мошини мавриди ҳадаф анҷом дода шуд. Баъзан ин тавр набуд - код дар сервери маҳсулот мустақиман таҳрир карда мешуд ва он махсусан зебо буд, агар дар ҷое нусхаҳои эҳтиётӣ вуҷуд дошта бошанд.


Бастаҳои RPM ва DEB

Эволютсияи воситаҳои интиқол ё фикрҳо дар бораи Docker, deb, jar ва ғайраАз тарафи дигар, бо рушди Интернет, системаҳои монанд ба UNIX маъруфияти бештар пайдо карданд; бахусус, дар он вақт ман RedHat-ро кашф кардам. Linux 6, тақрибан соли 2000. Албатта, дар он ҷо низ воситаҳои муайяне барои интиқоли нармафзор мавҷуд буданд. Тибқи Википедия, RPM ҳамчун менеҷери асосии бастаҳо соли 1995 дар версияи RedHat пайдо шуд. Linux 2.0. Аз он вақт инҷониб, система ҳамчун бастаҳои RPM пешниҳод карда мешавад ва минбаъд низ рушд мекунад.

Тақсимоти оила Debian Онҳо роҳи монандро пайгирӣ карданд ва интиқолро дар шакли бастаҳои деб амалӣ карданд, ки то имрӯз бетағйир боқӣ мондааст.

Менеҷерони бастаҳо ба шумо имкон медиҳанд, ки маҳсулоти нармафзорро худашон расонед, онҳоро дар ҷараёни насб танзим кунед, вобастагии байни бастаҳои гуногунро идора кунед, маҳсулотро хориҷ кунед ва ҷузъҳои нолозимро ҳангоми насбкунӣ тоза кунед. Онхое. барои қисми бештари он ҳама чизест, ки лозим аст, бинобар ин онҳо якчанд даҳсолаҳо амалан бетағйир боқӣ монданд.

Роёниши абрӣ насбро ба менеҷерони бастаҳо на танҳо аз васоити физикӣ, балки аз анборҳои абрӣ илова кардааст, аммо ба таври куллӣ каме тағир ёфтааст.

Қобили зикр аст, ки дар айни замон баъзе иқдомҳо барои дур шудан аз deb ва гузаштан ба бастаҳои фаврӣ вуҷуд доранд, аммо дар ин бора баъдтар.

Ҳамин тавр, ин насли нави таҳиягарони абр, ки на DEB ва на RPM-ро медонистанд, низ оҳиста-оҳиста афзоиш ёфтанд, таҷриба ба даст оварданд, маҳсулот мураккабтар шуданд ва нисбат ба FTP, скриптҳои bash ва ҳунарҳои шабеҳи донишҷӯён баъзе усулҳои оқилонаи интиқол лозим буданд.
Ва ин аст, ки Docker ба расм меояд, як навъ омехтаи виртуализатсия, ҷудокунии захираҳо ва усули интиқол. Ҳоло он муд ва ҷавон аст, аммо оё он барои ҳама чиз лозим аст? Оё ин як панацея аст?

Аз мушоҳидаҳои ман, аксар вақт Докерро на ҳамчун интихоби оқилона пешниҳод мекунанд, балки танҳо аз он сабаб, ки аз як тараф, дар ҷомеа дар бораи он сухан меравад ва онҳое, ки онро пешниҳод мекунанд, танҳо инро медонанд. Аз тарафи дигар, онҳо аксар вақт дар бораи системаҳои хуби бастабандии кӯҳна хомӯшанд - онҳо вуҷуд доранд ва кори худро оромона ва нодида иҷро мекунанд. Дар чунин вазъият, дар ҳақиқат интихоби дигар вуҷуд надорад - интихоб равшан аст - Docker.

Ман кӯшиш мекунам, ки таҷрибаи худро дар бораи он, ки чӣ тавр мо Docker-ро татбиқ кардем ва дар натиҷа чӣ рӯй дод, мубодила кунам.


Скриптҳои худнависӣ

Дар аввал, скриптҳои bash вуҷуд доштанд, ки бойгониҳои jar-ро ба мошинҳои зарурӣ ҷойгир мекарданд. Ин равандро Ҷенкинс идора мекард. Ин бомуваффақият кор кард, зеро худи бойгонии кӯза аллакай ассамблеяест, ки синфҳо, захираҳо ва ҳатто конфигуратсияро дар бар мегирад. Агар шумо ҳама чизро ба ҳадди аксар гузоред, пас васеъ кардани он ба скрипт чизи аз ҳама мушкил ба шумо лозим нест

Аммо скриптҳо як қатор камбудиҳо доранд:

  • скриптҳо одатан бо шитоб навишта мешаванд ва аз ин рӯ он қадар ибтидоӣ ҳастанд, ки онҳо танҳо як сенарияи беҳтаринро дар бар мегиранд. Ин ба он далел мусоидат мекунад, ки таҳиякунанда ба интиқоли зуд манфиатдор аст ва скрипти муқаррарӣ сармоягузории миқдори муносиби захираҳоро талаб мекунад
  • дар натиҷаи банди қаблӣ, скриптҳо тартиби насбкуниро дар бар намегиранд
  • тартиби навсозӣ муқаррар карда нашудааст
  • Вақте ки маҳсулоти нав пайдо мешавад, шумо бояд скрипти нав нависед
  • дастгирии вобастагӣ нест

Албатта, шумо метавонед як скрипти мураккаб нависед, аммо, тавре ки ман дар боло навишта будам, ин вақти рушд аст, на камтар аз он, ва тавре ки мо медонем, ҳамеша вақт кофӣ нест.

Ҳамаи ин баръало доираи татбиқи ин усули густаришро танҳо бо системаҳои соддатарин маҳдуд мекунад. Вакти он расидааст, ки инро тагьир дихем.


Доктор

Эволютсияи воситаҳои интиқол ё фикрҳо дар бораи Docker, deb, jar ва ғайраДар баъзе мавридҳо, миёнаравҳои навтаъсисшуда ба назди мо омада, бо ғояҳо ва дар бораи докер ғавғо мекарданд. Хуб, парчам дар даст - биёед ин корро кунем! Ду кӯшиш буд. Ҳарду муваффақ набуданд - бигӯем, аз сабаби ғаразҳои бузург, аммо набудани таҷрибаи воқеӣ. Оё маҷбур кардан ва бо ҳар роҳе анҷом додан лозим буд? Аз эҳтимол дур нест - пеш аз он ки асбобҳои мувофиқро истифода барад, даста бояд ба сатҳи зарурӣ табдил ёбад. Илова бар ин, ҳангоми истифодаи тасвирҳои тайёри Docker, мо аксар вақт ба он дучор мешудем, ки шабака дуруст кор намекунад (ин шояд аз намии худи Docker бошад) ё васеъ кардани контейнерҳои одамони дигар душвор буд.

Мо ба кадом норасоиҳо дучор шудем?

  • Мушкилоти шабака дар реҷаи пул
  • Намоиши гузоришҳо дар контейнер номувофиқ аст (агар онҳо дар системаи файлии мошини ҳост алоҳида нигоҳ дошта нашаванд)
  • ElasticSearch баъзан ба таври аҷиб дар дохили контейнер ях мекунад, сабаб муайян карда нашудааст, контейнер расмӣ аст
  • Зарур аст, ки дар дохили контейнер як қабатро истифода баред - ҳама чиз хеле канда шудааст, асбобҳои шинос вуҷуд надоранд
  • Андозаи калони контейнерҳои ҷамъоварӣ - барои нигоҳдорӣ гарон аст
  • Аз сабаби андозаи калони контейнерҳо, дастгирии якчанд версияҳо душвор аст
  • Баръакси дигар усулҳо (скриптҳо ё бастаҳои deb) вақти тӯлонии сохтмон

Аз тарафи дигар, барои чӣ бадтар аст, ки хидматрасонии Spring дар шакли бойгонии кӯза тавассути ҳамон deb? Оё ҷудокунии захираҳо воқеан зарур аст? Оё тавассути пур кардани хидмат ба контейнери хеле камшуда асбобҳои мувофиқи системаи амалиётиро аз даст додан меарзад?

Тавре ки таҷриба нишон дод, дар асл ин зарур нест, бастаи deb дар 90% ҳолатҳо кофӣ аст.

Деби хуби кӯҳна кай ноком мешавад ва кай ба мо воқеан ба докер ниёз дорем?

Барои мо, ин ҷобаҷогузории хидматҳо дар python буд. Бисёр китобхонаҳое, ки барои омӯзиши мошинсозӣ лозиманд ва ба тақсимоти стандартии системаи оператсионӣ дохил карда нашудаанд (ва версияҳои нодуруст вуҷуд доштанд), ҳакерҳо бо танзимот, зарурати версияҳои гуногун барои хидматҳои гуногун, ки дар як системаи ҳост зиндагӣ мекунанд, ба он оварда расонд. ин, ки ягона роҳи оқилонаи расонидани ин омехтаи ҳастаӣ докер буд. Шиддати меҳнати васл кардани як контейнери докер аз идеяи бастабандии ҳамааш ба бастаҳои алоҳидаи deb бо вобастагӣ пасттар буд ва дар асл ҳеҷ кас дар ақли солим ин корро намекунад.

Нуқтаи дуюме, ки мо Docker-ро истифода мебарем, ин ҷобаҷогузории хидматҳо бо истифода аз схемаи густариши кабуд-сабз мебошад. Аммо дар ин ҷо ман мехоҳам, ки мураккабии тадриҷан афзоиш ёбад: аввал бастаҳои deb сохта мешаванд ва баъд аз онҳо контейнери докер сохта мешавад.


Бастаҳои фаврӣ

Эволютсияи воситаҳои интиқол ё фикрҳо дар бораи Docker, deb, jar ва ғайра Биёед ба бастаҳои snap баргардем. Онҳо бори аввал расман дар ... пайдо шуданд. Ubuntu 16.04 апрел. Бар хилофи бастаҳои анъанавии DEB ва RPM, snaps ҳама вобастагиҳоро дар бар мегирад. Гарчанде ки ин аз низоъҳои китобхона пешгирӣ мекунад, он инчунин маънои онро дорад, ки бастаи натиҷа калонтар аст. Ғайр аз ин, ин метавонад ба амнияти система таъсир расонад: ҳангоми ҷойгиркунии snaps, таҳиягар, ки бастаро эҷод мекунад, бояд ҳама тағйиротро дар китобхонаҳои дохилшуда идора кунад. Умуман, ҳама чиз он қадар содда нест ва истифодаи онҳо ҳамеша вазъияти бурднок нест. Аммо, ин як алтернативаи комилан оқилона аст, агар, масалан, Docker танҳо ҳамчун воситаи бастабандӣ истифода шавад, на барои виртуализатсия.



Дар натиҷа, мо ҳоло ҳам бастаҳои deb ва ҳам контейнерҳои докерро дар комбинатсияи оқилона истифода мебарем, ки шояд дар баъзе мавридҳо мо онҳоро бо бастаҳои фаврӣ иваз кунем.

Танҳо корбарони сабтиномшуда метавонанд дар пурсиш иштирок кунанд. даромад, Лутфан.

Шумо барои интиқол чӣ истифода мекунед?

  • Скриптҳои худнависӣ

  • Дастӣ ба FTP нусхабардорӣ кунед

  • бастаҳои deb

  • бастаҳои rpm

  • бастаҳои фаврӣ

  • Docker-тасвирҳо

  • Тасвирҳои мошини виртуалӣ

  • Тамоми HDD-ро клон кунед

  • лӯхтак

  • иҷрошаванда

  • Дигар

109 корбар овоз доданд. 32 корбар худдорӣ карданд.

Манбаъ: will.com

Хостинги боэътимодро барои сайтҳо бо муҳофизати DDoS, серверҳои VPS VDS харед 🔥 Харидани хостинги боэътимоди вебсайт бо муҳофизати DDoS, серверҳои VPS VDS | ProHoster