Ano ang DevOps? Ipinaliwanag ang Pamamaraan ng DevOps, Mga Prinsipyo at Yugto



Maunawaan kung ano ang DevOps at iba't ibang mga yugto ng pag-ikot ng buhay ng DevOps. Naglalaman din ang post na ito ng mga halimbawa upang ipaliwanag ang bawat yugto na kasangkot sa DevOps mula sa pag-unlad hanggang sa pag-deploy.

Kung nasa industriya ka ng IT pagkatapos ay tiyak na narinig mo ang isa sa mga pinaka-trending na buzzword na tinatawag na DevOps. Kung nais mong ituloy ang isang karera sa DevOps, kung gayon ito ay tiyak na kapaki-pakinabang at kapaki-pakinabang na pumunta para sa isang . Bago kami magpatuloy sa karagdagang, imumungkahi ko sa iyo na dumaan sa mga sumusunod na blog:

Nangungunang 10 mga kadahilanan upang malaman ang DevOps





Maraming mga malalaking kumpanya ng IT ang nagpatibay ng DevOps bilang kanilang pasulong. Kaya sa blog na ito, tatalakayin ko kung ano talaga ang DevOps at ang mga puntong tatalakayin ko ay ang mga sumusunod:



Ano ang DevOps?

  • Ang terminong DevOps ay isang kombinasyon ng dalawang salita katulad ng Development at Operations. Ang DevOps ay isang kasanayan na nagbibigay-daan sa isang solong koponan upang pamahalaan ang buong siklo ng buhay sa pag-unlad ng aplikasyon, iyon ay, pag-unlad, pagsubok, pag-deploy, at pagsubaybay.

  • Ang pangwakas na layunin ng DevOps ay upang bawasan ang tagal ng ikot ng buhay sa pag-unlad ng system habang naghahatid ng mga tampok, pag-aayos, at pag-update ng madalas sa malapit na pagsabay sa mga layunin ng negosyo.

  • Ang DevOps ay isang diskarte sa pag-unlad ng software sa tulong ng kung saan maaari kang mabilis na makabuo ng superior kalidad na software at may higit na pagiging maaasahan. Binubuo ito ng iba`t ibang mga yugto tulad ng tuluy-tuloy na pag-unlad, tuluy-tuloy na pagsasama, tuluy-tuloy na pagsubok, tuluy-tuloy na paglawak, at patuloy na pagsubaybay.



Kaya't dahil ano ang DevOps, tingnan natin ang kasaysayan ng DevOps.

Kasaysayan ng DevOps

Bago ang DevOps, Mayroon kaming dalawang mga diskarte para sa pag-unlad ng software namely ang Waterfall at ang Agile.

Modelo ng Talon

  • Ang modelo ng talon ay isang modelo ng pagbuo ng software na medyo tuwid at tuwid. Sinusundan ng modelong ito ang isang pang-itaas na diskarte.

  • Ang modelong ito ay may iba't ibang pagsisimula sa Mga kinakailangan sa pagtitipon at pagtatasa . Ito ang yugto kung saan nakukuha mo ang mga kinakailangan mula sa kliyente para sa pagbuo ng isang application. Pagkatapos nito, subukan mong pag-aralan ang mga kinakailangang ito.

  • Ang susunod na yugto ay ang Disenyo yugto kung saan naghahanda ka ng isang blueprint ng software. Dito, naiisip mo kung paano magiging hitsura ang software.

  • Kapag handa na ang disenyo, lumipat ka pa ng Pagpapatupad yugto kung saan nagsisimula ka sa pag-coding para sa application. Ang koponan ng mga developer ay nagtutulungan sa iba't ibang mga bahagi ng application.

  • Kapag nakumpleto mo na ang pagbuo ng application, susubukan mo ito sa Pagpapatunay yugto Mayroong iba't ibang mga pagsubok na isinasagawa sa application tulad ng pagsubok sa yunit, pagsubok sa pagsasama, pagsubok sa pagganap, atbp.

  • Matapos makumpleto ang lahat ng mga pagsubok sa application, na-deploy ito sa mga server ng produksyon.

  • Sa wakas, dumating ang Pagpapanatili yugto Sa yugtong ito, sinusubaybayan ang application para sa pagganap. Ang anumang mga isyu na may kaugnayan sa pagganap ng application ay nalutas sa yugtong ito.

Mga kalamangan ng Modelong Waterfall:

  • Simpleng maintindihan at gamitin

  • Pinapayagan para sa madaling pagsubok at pagsusuri

  • Makatipid ng isang makabuluhang halaga ng oras at pera

  • Mabuti para sa maliliit na proyekto kung ang lahat ng mga kinakailangan ay malinaw na tinukoy

  • Pinapayagan para sa kagawaran at kontrol sa pangangasiwa

Mga disadvantages ng Modelong Waterfall:

  • Mapanganib at walang katiyakan

  • Kakulangan ng kakayahang makita ng kasalukuyang pag-unlad

  • Hindi angkop kapag ang mga kinakailangan ay patuloy na nagbabago

  • Mahirap gumawa ng mga pagbabago sa produkto kapag nasa yugto ito ng pagsubok

  • Ang end product ay magagamit lamang sa pagtatapos ng cycle

  • Hindi angkop para sa malaki at kumplikadong mga proyekto

Mabilis na Pamamaraan

Ang Agile Methodology ay isang umuulit na batay sa diskarte sa pag-unlad ng software kung saan ang proyekto ng software ay pinaghiwalay sa iba't ibang mga pag-ulit o sprint. Ang bawat pag-ulit ay may mga phase tulad ng modelo ng talon tulad ng Mga Kinakailangan sa Pagpupulong, Disenyo, Pag-unlad, Pagsubok, at Pagpapanatili. Ang tagal ng bawat pag-ulit ay karaniwang 2-8 na linggo.

hatiin ng string ng java ang maraming mga delimiter

Agile Proseso

  • Sa Agile, isang kumpanya ang naglalabas ng application na may ilang mga tampok na mataas na priyoridad sa unang pag-ulit.

  • Matapos ang paglabas nito, ang mga end-user o ang mga customer ay magbibigay sa iyo ng feedback tungkol sa pagganap ng application.

  • Pagkatapos ay gagawin mo ang mga kinakailangang pagbabago sa application kasama ang ilang mga bagong tampok at ang application ay muling inilabas na kung saan ay ang pangalawang pag-ulit.

  • Inuulit mo ang buong pamamaraan na ito hanggang sa makamit mo ang nais na kalidad ng software.

Mga kalamangan ng Agile Model

  • Adaptibong tumutugon ito sa mga pagbabago na kinakailangan nang mas mabuti

  • Ang pag-aayos ng mga error nang maaga sa proseso ng pag-unlad ay ginagawang mas epektibo ang prosesong ito

  • Pinapabuti ang kalidad ng produkto at ginagawa itong lubos na walang error

  • Pinapayagan para sa direktang komunikasyon sa pagitan ng mga taong kasangkot sa proyekto ng software

  • Lubhang angkop para sa malalaki at pangmatagalang mga proyekto

  • Minimum na kinakailangan sa mapagkukunan at napakadaling pamahalaan

Mga Disadvantages ng Agile Model

  • Lubhang umaasa sa malinaw na mga kinakailangan ng customer

  • Medyo Mahirap hulaan ang oras at pagsisikap para sa mas malalaking proyekto

  • Hindi angkop para sa mga kumplikadong proyekto

  • Walang kahusayan sa dokumentasyon

  • Tumaas na mga panganib sa pagpapanatili

Ngayon magpatuloy tayo at talakayin ang mga yugto at tool ng DevOps.

Mga Yugto at Tool ng DevOps

Tulad ng nabanggit kanina, ang iba't ibang mga yugto tulad ng tuluy-tuloy na pag-unlad, tuluy-tuloy na pagsasama, tuluy-tuloy na pagsubok, tuluy-tuloy na pag-deploy, at patuloy na pagsubaybay ay bumubuo sa siklo ng Buhay ng DevOps. Ngayon tingnan natin ang bawat isa sa mga yugto ng pag-ikot ng buhay ng DevOps isa-isa.

Yugto - 1: Patuloy na Pag-unlad

Mga Ginamit na Tool: Git, SVN, Mercurial, CVS

Daloy ng Proseso:

  • Ito ang yugto na nagsasangkot ng 'pagpaplano' at 'coding' ng software. Nagpasya ka sa paningin ng proyekto sa panahon ng yugto ng pagpaplano at sinisimulan ng mga developer ang pagbuo ng code para sa aplikasyon.

  • Walang mga Mga tool ng DevOps kinakailangan iyon para sa pagpaplano, ngunit mayroong isang bilang ng mga tool para sa pagpapanatili ng code.

  • Ang code ay maaaring nasa anumang wika, ngunit pinapanatili mo ito sa pamamagitan ng paggamit ng mga tool sa Kontrol ng Bersyon. Ang prosesong ito ng pagpapanatili ng code ay kilala bilang Source Code Management.

  • Matapos mabuo ang code, pagkatapos ay lumipat ka sa tuluy-tuloy na yugto ng Pagsasama.

Yugto - 2: Patuloy na Pagsasama

Mga tool: Jenkins, TeamCity, Travis

Daloy ng Proseso:

  • Ang yugtong ito ay ang core ng buong siklo ng buhay ng DevOps. Ito ay isang kasanayan kung saan kinakailangan ng mga developer na gumawa ng mga pagbabago sa source code nang mas madalas. Maaari itong alinman sa araw-araw o lingguhan na batayan.

  • Pagkatapos ay bubuo ka ng bawat nakatuon at pinapayagan nito ang maagang pagtuklas ng mga problema kung naroroon sila. Ang code ng gusali ay hindi lamang nagsasangkot ng pagtitipon ngunit nagsasama rin ito ng pagsusuri ng code, pagsubok sa yunit, pagsubok sa pagsasama, at pag-iimpake.

  • Ang code na sumusuporta sa bagong pagpapaandar ay kasama ang mayroon nang code. Dahil mayroong isang tuluy-tuloy na pag-unlad ng software, kailangan mong isama ang patuloy na na-update na code pati na rin maayos sa mga system upang maipakita ang mga pagbabago sa mga end-user.

  • Sa yugtong ito, ginagamit mo ang mga tool para sa pagbuo / pag-packaging ng code sa isang maipapatupad na file upang maipasa mo ito sa susunod na mga yugto.

Yugto - 3: Patuloy na Pagsubok

Mga tool: Jenkins, Selenium TestNG, JUnit

Daloy ng Proseso:

  • Ito ang yugto kung saan sinusubukan mo ang patuloy na binuo ng software para sa mga bug gamit ang mga tool sa pagsubok ng awtomatiko. Pinapayagan ng mga tool na ito ang QA na subukan ang maraming mga code ng base nang lubusan kahanay upang matiyak na walang mga bahid sa pagpapaandar. Sa yugtong ito, maaari mong gamitin ang Mga Docker Container para sa pagtulad sa kapaligiran sa pagsubok.

  • Siliniyum ay ginagamit para sa pagsubok sa awtomatiko, at ang mga ulat ay nilikha ng PagsubokNG . Maaari mong i-automate ang buong yugto ng pagsubok na ito sa tulong ng isang tool na Patuloy na Pagsasama na tinatawag na Jenkins.

  • Ipagpalagay na nakasulat ka ng isang selenium code sa Java upang subukan ang iyong aplikasyon. Maaari mo nang buuin ang code na ito gamit ang langgam o maven. Kapag nabuo mo na ang code, susubukan mo rin ito para sa User Acceptance Testing (UAT). Ang buong proseso na ito ay maaaring awtomatikong ginagamit Jenkins .

Yugto - 4: Patuloy na Pag-deploy

Mga Kagamitang Ginamit:

Pamamahala ng Pag-configure - Chef, Puppet, Ansible

Containerization - Docker, Vagrant

Daloy ng Proseso:

  • Ito ang yugto kung saan mo mailalagay ang code sa mga server ng produksyon. Mahalaga rin upang matiyak na na-deploy mo nang tama ang code sa lahat ng mga server. Bago magpatuloy, subukan nating maunawaan ang ilang mga bagay tungkol sa pamamahala ng Configuration at Mga tool sa lalagyan . Ang hanay ng mga tool na ito ay makakatulong sa pagkamit ng Patuloy na Pag-deploy (CD).

  • Pamamahala ng Configuration ay ang kilos ng pagtaguyod at pagpapanatili ng pagkakapare-pareho sa mga kinakailangang pag-andar at pagganap ng isang application. Hayaan mo akong ilagay ito sa mas madaling mga salita, ito ay ang kilos ng paglabas ng mga pag-deploy sa mga server, pag-iiskedyul ng mga pag-update sa lahat ng mga server at pinakamahalaga na pinapanatili ang mga pagsasaayos na pare-pareho sa lahat ng mga server.

  • Ang mga tool sa lalagyan ay mayroon ding pantay na mahalagang papel sa yugto ng paglawak. Ang mga tool sa paglalagay ng container ay makakatulong na makabuo ng pagkakapare-pareho sa buong Development, Test, Staging pati na rin ang mga kapaligiran sa Production. Bukod dito, nakakatulong din sila sa pag-scale-up at pag-scale ng down ng mga pagkakataong mabilis.

Yugto - 5: Patuloy na Pagsubaybay

Mga Ginamit na Tool: Splunk, ELK Stack, Nagios, New Relic

Daloy ng Proseso:

  • Ito ay isang kritikal na yugto ng ikot ng buhay ng DevOps kung saan patuloy mong sinusubaybayan ang pagganap ng iyong aplikasyon. Narito naitala mo ang mahalagang impormasyon tungkol sa paggamit ng software. Pagkatapos ay iproseso mo ang impormasyong ito upang suriin ang wastong pagpapaandar ng application. Malulutas mo ang mga error sa system tulad ng mababang memorya, hindi maabot ang server, atbp sa yugtong ito.

  • Ang kaugaliang ito ay nagsasangkot ng pakikilahok ng koponan ng Mga Operasyon na susubaybayan ang aktibidad ng gumagamit para sa mga bug o anumang hindi tamang pag-uugali ng system.Ang mga tool ng Patuloy na Pagsubaybay ay makakatulong sa iyo na subaybayan ang pagganap ng application at ang mga server nang malapit at paganahin ka rin na suriin ang kalusugan ng system nang maagap.

Panghuli, tatalakayin namin kung sino ang eksaktong isang Engineer ng DevOps.

Sino ang isang Engineer ng DevOps?

Ang DevOps Engineer ay isang tao na nakakaunawa sa Software Development Lifecycle at may ganap na pag-unawa sa iba't ibang mga tool sa pag-aautomat para sa pagbuo ng mga digital pipeline (CI / CD pipelines).

Gumagawa ang DevOps Engineer sa mga developer at kawani ng IT upang pangasiwaan ang mga paglabas ng code. Ang mga ito ay alinman sa mga developer na interesado sa paglawak at pagpapatakbo ng network o sysadmins na may pagkahilig sa pag-script at pag-coding at lumipat sa panig ng pag-unlad kung saan maaari nilang mapabuti ang pagpaplano ng pagsubok at pag-deploy.

Kaya't lahat iyon ay mula sa aking panig sa artikulong ito sa Ano ang DevOps. Inaasahan kong naunawaan mo ang lahat ng aking tinalakay dito. Kung mayroon kang anumang mga katanungan mabait na banggitin iyon sa seksyon ng mga komento.

Ang sumusunod ay isang listahan ng mga blog na maaari mong makita na kawili-wili:

  1. Patuloy na Tutorial sa Paghahatid
  2. Tutorial sa Lalagyan ng Docker
  3. Tutorial sa Puppet

Ngayon na naintindihan mo Ano ang DevOps , suriin ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Ang kurso sa Edureka DevOps Certification Training ay tumutulong sa mga nag-aaral na maunawaan kung ano ang DevOps at makakuha ng kadalubhasaan sa iba't ibang mga proseso at tool ng DevOps tulad ng Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack at GIT para sa pag-automate ng maraming mga hakbang sa SDLC.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento at babalikan ka namin.