BTG-vrh
Почетна страница > Новости

Зашто су Docker стручњаци све више траженији?

Зашто су Docker стручњаци све више траженији?
18.03.2021. год.
Ако развијате софтвер онда знате колико је тешко пустити апликацију у продукцију. Треба конфигурисати сервер, треба подесити портове, увјерити се да је све у реду и тако сваки пут са сваким новим сервером. Или можете користити Docker-ов виртуелни контејнер и олакшати себи посао.
У свијету ИТ-а догађају се многе занимљиве ствари практично сваки дан, али одређене услуге и производи привуку мало више пажње од осталих. Docker је дефинитивно једна од њих, а вјерујемо да ће бити занимљива свима онима који развијају апликације. Развој апликација може бити јако комплексан из много разлога, али најчешћи разлози су мијешање различитих технологија, усклађивање људског потенцијала, тестирање направљеног, подизање апликације на продукцијске сервере, рјешавање великог броја техничких проблема у ходу… Када вам ови проблеми постану свакодневница, односно када се с њима сусрећете врло често, вјероватно бисте са одушевљењем дочекали платформу која вам може олакшати живот и која вам обећава много лакши и бржи развој апликација. Docker је управо то – платформа која дозвољава програмерима, систем администраторима и људима сличних професија креирање и одржавање апликација у софтверском контејнеру. Звучи занимљиво, зар не? Сазнајте више о Docker-у у наставку овог текста.
 
Ако имало пратите свијет start-up-а онда сте упознати којом брзином start-up-и долазе и одлазе са сцене и врло вјероватно имате осјећај да би и Docker могао бити „само још један start-up у низу“ који ће бити популаран једно кратко вријеме и након тога ће сви заборавити на њега. На његово мјесто ће доћи неко други са сличном или бољом идејом, али и тај други start-up чека иста судбина… Зашто ово спомињемо? Зато јер је у прошлости већ било сличних покушаја да се аутоматизује и убрза развој апликација, али већина тих покушаја је неславно завршила. Неки start-up-и су се пребацили на друге услуге или производе, неки су пропали, али у суштини већина није успјела оставити значајнији траг, барем не у овом контексту. Docker би могао бити другачији из много разлога, а неке од њих ћемо споменути и објаснити у овом тексту, али прије тога вам желимо појаснити шта је циљ Docker-a и зашто је овај start-up уопште настао.
У прошлости, када сте развијали апликацију, све што сте требали имати је заправо лаптоп, односно рачунар на којем сте развијали апликацију, те сервер на којем сте похрањивали податке. Клијент-сервер апликацију сте развијали на најједноставнији могући начин. Када је апликација била готова, подигнули сте је на продукцијски сервер и корисници су је могли почети користити.
 
Најчешће би већи дио апликације скинули на свој рачунар, а онај мањи дио би одрађивао сервер, те би он похрањивао и слао одређене податке апликацији тј. кориснику. Затим се развој апликација нагло закомпликовао, односно постао је изузетно комплексан. Сам развој апликације се подијелио практично на 10, па чак и више, засебних грана. Тако су сада базе података и развој истих посебна грана развоја апликације. Исто вриједи и за front-end односно дизајн апликације, исто вриједи за back-end, односно онај дио апликације који корисник не види (пословна функција и уопштено програмски кôд који је темељ апликације), па су ту посебни сервери и оперативни системи за апликације и још много тога.
 
Искомбиновати то све да ради заправо није лагано. Понекад се више времена потроши на постављање продукцијске околине и тестирање исте, него на сам развој апликације што је врло срамотно. У времену када имамо најбоље могуће алате, хрпу библиотека са готовим кôдовима, разно-разне форуме и готове дијелове кôда ми развијамо апликацију дуже него прије 10-ак година. Неки ће рећи: „Тада су апликације биле једноставније“ и биће у праву. Прије су апликације биле једноставније и пружале су кориснику пуно мање могућности, али и даље је вријеме потребно за развој апликације огромно и циљ сваке компаније је то свести на минимум. Развити апликацију у што краћем року, обавити темељно тестирање у такође кратком року, те пустити апликацију „ван“ без већих проблема.
 
Нажалост, не живимо у идеалном свијету. И ту долазимо до Docker-a. Идеје, или ако желите – start-up-а, који вам жели омогућити да ви апликацију спакујете у виртуелни контејнер, те је на тај начин преносите са сервера на сервер, са рачунара на рачунар и да је можете ставити у погон врло брзо. Они заправо желе скратити онај задњи дио развоја апликације – пуштање у продукцију. Као што смо рекли, то може бити изузетно тежак посао, нарочито за програмере који немају искуства с тиме – пуно је ту техничких детаља и ствари које заправо спадају у домену „системских инжењера“ који су много бољи у конфигурацији продукцијских сервера. Према одређеним неслужбеним статистикама, Docker би могао скратити развој апликације за 15-20 %, што би било фантастично у сваком погледу.
 
Docker у суштини
 
Као виртуелна машина, само много мања и лаганија, Docker контејнер вам дозвољава да апликације и сервисе преносите у контејнеру са једног мјеста на други, односно са једног хоста на други. У суштини, могло би се рећи да Docker обједињује алат за верзију и алат за израду слике апликације/система, те вам дозвољава једноставно преношење апликације коју затим можете инсталирати на физички сервер, у виртуелну машину, на одређени Cloud сервис. Ево један једноставан примјер. Рецимо да желите Docker контејнер који садржи обичан сервис (било који једноставни сервис) или рецимо Apache wеб сервер. Контејнер би се изградио на бази од Linux-a (Ubuntu или CentOS) и тај одређени сервис који смо споменули би био инсталиран и конфигурисан као да се налази на било којем Linux систему. И све то запаковано у једној датотеци, односно контејнеру којег сте изградили.
 
 
Сада тај исти контејнер можете пребацивати, као што смо рекли, од хоста до хоста, од сервера до сервера, те га пуштати у продукцију гдје год желите. Најлакши начин је пребацити контејнер на GitHub или BitBucker и повући га на рачунар гдје би сте га инсталирали. Зашто Git version control? Зато јер је то најједноставнији начин дијељења и увијек ће сви моћи повући задњу верзију контејнера. Када кажемо „сви“ мислимо на оне који имају приступ вашем Git складишту, без обзира на којем се сервису налазио. Docker за сада ради само са GitHub-ом и BitBucket-ом, али реално гледајући то су два version controla који се највише користе и којег користи 90% програмера. Вјероватно ће се у будућности додати још неки сервис, али то не треба очекивати ове године јер се ради на неким другим стварима битнима за саме Docker контејнере. У сваком случају, ако планирате користити Docker, мораћете направити кориснички рачун на једном од споменутих сервиса.
 
Вратимо се на продукцију. Направили сте контејнер, ставили сте га на GitHub/BitBucket и вријеме је да га пустите у продукцију. Довољно је да тај исти кôд поставите на виртуелни сервер, физички сервер или на Cloud инстанцу, гдје можете покренути Docker. Не морате уопште бринути о зависности међу хостовима, нити се замарати инсталацијом апликације, подешавањем хардвера или упасти у остале класичне замке виртуализације. Све што морате направити је путем Docker алата правилно покренути Docker контејнер и то је то.
Docker направи виртуелни контејнер базиран на Linux-у и можете га покренути практично било гдје јер том истом контејнеру треба само Linux језгра да би се могла покренути, а Docker у потпуности искориштава могућност да се контејнер зачаури на једном процесу на рачунару домаћину (хосту) који је у потпуности одвојен од оперативног система и окружења домаћина. То значи да окружење на којем сте покренули Docker контејнер уопште не зна за њега, односно не може му приступити нити му може „ишта направити“, као ни што Docker контејнер не занима окружење на којем се налази.
 
Самим тиме можете на једном виртуелном серверу покренути X различитих Docker контејнера који репрезентују сервисе, а они неће знати један за другога јер је сваки на свом процесу и ради оно за шта је намијењен. А рекли смо већ на почетку да се ту ради о јако лаганим процесима и много их је лакше користити него креирати хрпу виртуелних машина које би радиле исти посао као дотични контејнери, али би вас много више коштали – и финансијски и хардверски.
 
Нисмо споменули да се Docker састоји од два алата – Docker Engine-a и Docker Hub-a. Docker Engine је заправо главни алат и runtime који инсталирате на рачунар домаћин на којем желите покренути Docker контејнер. Инсталација је самим тим врло једноставна, а можете то учинити преко командне линије коју ћете наћи у свим Linux дистрибуцијама. Чак имате на страницама Docker-a детаљан туторијал који ће вам показати апсолутно све – од тога како скинути Docker до тога како га користити, које су му главне наредбе и како уопштено Docker функционише.
 
Како радити са Docker-ом? Исто као и са свим Linux системима заправо. Главни алат ће вам бити командна линија и ако нисте с њом на „ти“ имаћете проблем. Можда и нећете ако сте вољни учити користити командну линију и научити понешто о раду Linux-a. С друге стране, ако сте се икада сусрели са Linux-ом и командном линијом, знате да то и није тако страшно. Понављамо – Docker има фантастичну документацију и туторијале и ако само њих слиједите, моћи ћете направити што год пожелите. Савјетујемо вам да добро прочитате документацију и видите које наредбе можете користити, који су опционални параметри који вам могу олакшати посао и како би цијели процес креирања контејнера, пребацивања истога на GitHub и скидање на неки други хост требало уопште изгледати. Паметно је упознати се са цијелим процесом прије него се одлучите користити Docker.
Људи који користе Docker још од верзије 0.X кажу да је кривуља учења врло кратка и више-мање безболна што је подстицај за оне који се боје Docker-a и који нису сигурни да ли би га требали пробати или не. Чак можете прочитати и јако пуно корисних савјета о томе как оградити контејнере, шта ставити у њих, колико их оптеретити, како подијелити апликацију или сервисе на контејнере и тако даље. То је прилично опширна и дубока тема у коју тренутно нећемо улазити, али свакако треба размислити о одређеним питањима и праксама. Да, Docker је тек у верзији 1.0, односно изашао је половином прошле године и требаће проћи још одређено вријеме да се неке ствари искристализују, али вјерујемо да ће Docker још дуго бити с нама тако да ће све доћи на своје и то врло брзо.
 
Многе познате компаније су већ пробале Docker и многе га користе у свакодневном раду. Једна од њих је eBay која је свима позната и они користе Docker за своја тестирања и пребацивање сервиса са тестног сервера на тестни сервер, али у ближој будућности планирају ставити Docker и у продукцију. Даље ту су New Relic, RackSpace, Baidu, Spotify, Bleacher report, Yelp, GILT, Yandex, Cambridge healthcare и многе друге. Пошто је Docker тек у верзији 1.0, ово је велики успјех. Вјерујемо да ће се на овој листи придружити и многа друга звучна имена попут Google-a, Facebook-a, Yahoo-a …
 
Уколико имате потребе за овим сервисом или сте једноставно знатижељни, свакако вам препоручујемо едукацију за наведени сервис који можете пронаћи на сљедећем линку: https://edu.bitlab.rs/sr/docker.php .
 
 




Коментара (0) Оставите Ваш коментар Објавите новост

НОВОСТИ ИЗ РУБРИКЕ

Kompanija Microsoft priznala je da su hakeri uspeli da ukradu deo izvornog koda operativnog sistema Windows, kao i još nekoliko softvera koji su u fazi izrade.


 Иако су смартфони преузели примат када су лични рачунари у питању - па тако имамо и телефоне са осмојезгарним процесором и чак 12GB меморије, тржиште лаптопова и радних станица...

Друштвена мрежа Twitter све је популарнија и код нас. За разлику од Фацебоока и Инстаграма, који су пренатрпани рекламама и садржајем, Twitter је и даље релативно једноставан.  Ипак, и Twitte...


Због санкција САД Кини и њеним технолошким компанијама, веч неко време нови Хуаwеи уређаји стижу без Google апликација и Google Плаy продавнице.  Иако Хуаwеи има своју продавницу апликација Апп Галлерy,...

  Zbog velikog broja lažnih vesti na društvenim mrežama, Twitter se odlučio da natera korisnike da pročitaju članke i likove sa vestima pre nego ih podele.    Za sada će ova


  Kompanija Fejsbuk je predstavila nove 'Uslove korišćenja' ove platforme, kako bi se izborila sa sve većim kritikama medija i javnosti. 


Остале новости из рубрике »
BTGport.net - у1
9. мај, Дан побједе над фађизмом

СЛИКА СЕДМИЦЕ

WEB SHOP
WebMaster

ДјЕВОЈКА ДАНА