X'inhi l-importanza ta 'DevOps, xi jfisser għall-professjonisti tal-IT, deskrizzjoni ta' metodi, oqfsa u għodod.
Ġara ħafna minn meta t-terminu DevOps ħa seħħ fid-dinja tal-IT. B'ħafna mis-sors miftuħ tal-ekosistema, huwa importanti li terġa' tikkunsidra għaliex bdiet u xi tfisser għal karriera fl-IT.
X'inhu DevOps
Filwaqt li m'hemm l-ebda definizzjoni waħda, nemmen li DevOps huwa qafas teknoloġiku li jippermetti kollaborazzjoni bejn timijiet ta 'żvilupp u operazzjonijiet biex jużaw kodiċi aktar malajr f'ambjenti ta' produzzjoni bil-kapaċità li jtenni u awtomat. Aħna ser jonfqu l-bqija ta 'dan l-artikolu inspakkjaw din it-talba.
Il-kelma "DevOps" hija taħlita tal-kliem "żvilupp" u "operazzjonijiet". DevOps jgħin biex tiżdied il-veloċità tat-twassil tal-applikazzjonijiet u s-servizzi. Dan jippermetti lill-organizzazzjonijiet jaqdu lill-klijenti tagħhom b'mod effettiv u jsiru aktar kompetittivi fis-suq. Fi kliem sempliċi, DevOps huwa l-allinjament bejn l-iżvilupp u l-operazzjonijiet tal-IT b'komunikazzjoni u kollaborazzjoni aktar effettiva.
DevOps jinvolvi kultura fejn il-kollaborazzjoni bejn l-iżvilupp, l-operazzjonijiet u t-timijiet tan-negozju hija meqjusa bħala kritika. Mhux biss dwar l-għodod, peress li DevOps f'organizzazzjoni kontinwament jibbenefika lill-klijenti wkoll. L-għodod huma wieħed mill-pilastri tagħha, flimkien man-nies u l-proċessi. DevOps iżid il-kapaċità tal-organizzazzjonijiet li jwasslu soluzzjonijiet ta’ kwalità għolja fl-iqsar żmien possibbli. DevOps awtomat ukoll il-proċessi kollha, mill-bini sal-iskjerament, l-applikazzjoni jew il-prodott.
Id-diskussjoni DevOps tiffoka fuq ir-relazzjoni bejn l-iżviluppaturi, in-nies li jiktbu s-softwer għall-għajxien, u l-operaturi responsabbli għaż-żamma ta 'dak is-software.
Sfidi għat-tim tal-iżvilupp
L-iżviluppaturi għandhom tendenza li jkunu entużjasti u ħerqana biex jimplimentaw approċċi u teknoloġiji ġodda biex isolvu problemi organizzattivi. Madankollu, huma wkoll jiffaċċjaw ċerti problemi:
Is-suq kompetittiv joħloq ħafna pressjoni biex iwassal il-prodott fil-ħin.
Għandhom jieħdu ħsieb li jimmaniġġjaw kodiċi lest għall-produzzjoni u jintroduċu karatteristiċi ġodda.
Iċ-ċiklu ta 'rilaxx jista' jkun twil, għalhekk it-tim ta 'żvilupp irid jagħmel bosta suppożizzjonijiet qabel ma jimplimenta l-applikazzjonijiet. F'dan ix-xenarju, huwa meħtieġ aktar żmien biex jiġu solvuti kwistjonijiet li jinqalgħu waqt l-iskjerament f'ambjent ta 'produzzjoni jew test.
Sfidi li jiffaċċja t-tim tal-operazzjonijiet
It-timijiet tal-operazzjonijiet storikament iffokaw fuq l-istabbiltà u l-affidabbiltà tas-servizzi tal-IT. Huwa għalhekk li t-timijiet tal-operazzjonijiet ifittxu stabbiltà permezz ta 'bidliet fir-riżorsi, it-teknoloġiji jew l-approċċi. Il-kompiti tagħhom jinkludu:
Immaniġġja l-allokazzjoni tar-riżorsi hekk kif id-domanda tiżdied.
Immaniġġja l-bidliet tad-disinn jew tal-personalizzazzjoni meħtieġa għall-użu f'ambjent ta 'produzzjoni.
Iddijanjostika u ssolvi l-kwistjonijiet tal-produzzjoni wara l-iskjerament awtonomu tal-applikazzjonijiet.
Kif DevOps issolvi l-problemi ta’ żvilupp u operazzjonijiet
Minflok ma jxerrdu numru kbir ta’ karatteristiċi tal-app f’daqqa, il-kumpaniji qed jippruvaw jaraw jekk jistgħux ixerrdu numru żgħir ta’ karatteristiċi lill-klijenti tagħhom permezz ta’ sensiela ta’ iterazzjonijiet ta’ rilaxx. Dan l-approċċ għandu numru ta 'vantaġġi, bħal kwalità aħjar tas-softwer, feedback tal-klijenti aktar mgħaġġel, eċċ. Dan, imbagħad, jiżgura sodisfazzjon għoli tal-klijent. Biex jintlaħqu dawn l-għanijiet, il-kumpaniji huma meħtieġa li:
Naqqas ir-rata ta 'falliment meta toħroġ ħarġiet ġodda
Żid il-frekwenza tal-iskjerament
Ikseb żmien medju aktar mgħaġġel għall-irkupru fil-każ ta 'rilaxx ta' applikazzjoni ġdida.
Naqqas il-ħin għall-korrezzjonijiet
DevOps iwettaq dawn il-kompiti kollha u jgħin biex jiżgura kunsinna bla interruzzjoni. L-organizzazzjonijiet qed jużaw DevOps biex jiksbu livelli ta’ produttività li ma kinux immaġinabbli ftit snin ilu biss. Huma jwettqu għexieren, mijiet, u saħansitra eluf ta’ skjeramenti kuljum filwaqt li jagħtu affidabbiltà, stabbiltà u sigurtà ta’ klassi dinjija. (Tgħallem aktar dwar id-daqsijiet tal-lott u l-impatt tagħhom fuq it-twassil tas-softwer).
DevOps jipprova jsolvi diversi problemi li jirriżultaw minn metodoloġiji tal-passat, inklużi:
Iżolament ta' xogħol bejn timijiet ta' żvilupp u operazzjonijiet
L-ittestjar u l-iskjerament huma fażijiet separati li jseħħu wara d-disinn u l-bini u jeħtieġu aktar ħin miċ-ċikli tal-bini.
Ħin eċċessiv mqatta' ttestjar, skjerament, u disinn minflok jiffoka fuq il-bini tas-servizzi ewlenin tan-negozju
Skjerament manwali tal-kodiċi li jwassal għal żbalji fil-produzzjoni
Differenzi fl-iskedi tat-tim tal-iżvilupp u tal-operazzjonijiet li jikkawżaw dewmien addizzjonali
Konfrontazzjoni bejn DevOps, Agile u IT tradizzjonali
DevOps spiss jiġi diskuss fir-rigward ta' prattiki oħra tal-IT, partikolarment IT b'Aġilità u Waterfall.
Aġili huwa sett ta 'prinċipji, valuri, u prattiċi għall-produzzjoni tas-softwer. Allura, pereżempju, jekk għandek idea li trid tittrasforma f'softwer, tista 'tuża prinċipji u valuri Agile. Iżda dan is-software jista' jaħdem biss f'ambjent ta 'żvilupp jew ittestjar. Għandek bżonn mod sempliċi u sigur biex tmexxi s-softwer tiegħek fil-produzzjoni malajr u b'mod ripetut, u l-mod huwa permezz ta 'għodod u tekniki DevOps. L-iżvilupp tas-softwer b'aġilità jiffoka fuq proċessi ta 'żvilupp u DevOps huwa responsabbli għall-iżvilupp u l-iskjerament bl-aktar mod sikur u affidabbli.
It-tqabbil tal-mudell tradizzjonali tal-kaskata ma 'DevOps huwa mod tajjeb biex tifhem il-benefiċċji li jġib miegħu DevOps. L-eżempju li ġej jassumi li l-applikazzjoni se tkun diretta f'erba 'ġimgħat, l-iżvilupp huwa 85% komplut, l-applikazzjoni se tkun diretta, u l-proċess ta' xiri ta 'servers biex jibgħat il-kodiċi għadu kif beda.
Proċessi tradizzjonali
Proċessi fid-DevOps
Wara li tagħmel ordni għal servers ġodda, it-tim tal-iżvilupp jaħdem fuq l-ittestjar. It-task force taħdem fuq id-dokumentazzjoni estensiva meħtieġa mill-intrapriżi biex jużaw l-infrastruttura.
Ladarba titqiegħed ordni għal servers ġodda, it-timijiet tal-iżvilupp u tal-operazzjonijiet jaħdmu flimkien fuq il-proċessi u l-burokrazija biex jinstallaw is-servers il-ġodda. Dan jippermettilek tifhem aħjar ir-rekwiżiti tal-infrastruttura tiegħek.
Informazzjoni dwar failover, redundancy, postijiet taċ-ċentru tad-dejta, u rekwiżiti tal-ħażna hija rrappreżentata ħażin minħabba li m'hemm l-ebda input minn tim ta 'żvilupp li għandu għarfien profond tad-dominju.
Dettalji dwar failover, redundancy, irkupru minn diżastru, postijiet taċ-ċentru tad-dejta, u rekwiżiti tal-ħażna huma magħrufa u korretti minħabba l-input tat-tim tal-iżvilupp.
It-tim tal-operazzjonijiet m'għandu l-ebda idea dwar il-progress tat-tim tal-iżvilupp. Hija tiżviluppa wkoll pjan ta' monitoraġġ ibbażat fuq l-ideat tagħha stess.
It-tim tal-operazzjonijiet huwa kompletament konxju tal-progress li sar mit-tim tal-iżvilupp. Hija tinteraġixxi wkoll mat-tim tal-iżvilupp u jaħdmu flimkien biex jiżviluppaw pjan ta 'monitoraġġ li jissodisfa l-ħtiġijiet tal-IT u tan-negozju. Jużaw ukoll għodod għall-monitoraġġ tal-prestazzjoni tal-applikazzjoni (APM).
Test tat-tagħbija li jsir qabel ma tinbeda applikazzjoni jikkawża li l-applikazzjoni tiġġarraf, u jdewwem it-tnedija tagħha.
Test tat-tagħbija li jsir qabel ma titħaddem applikazzjoni jirriżulta fi prestazzjoni fqira. It-tim tal-iżvilupp malajr isolvi l-konġestjonijiet u l-applikazzjoni tniedi fil-ħin.
Ċiklu tal-Ħajja DevOps
DevOps jinvolvi l-adozzjoni ta 'ċerti prattiki ġeneralment aċċettati.
Ippjanar kontinwu
L-ippjanar kontinwu jiddependi fuq prinċipji dgħif biex tibda żgħira billi tidentifika r-riżorsi u l-outputs meħtieġa biex jiġi ttestjat il-valur tan-negozju jew il-viżjoni, jadattaw kontinwament, ikejlu l-progress, jitgħallmu mill-ħtiġijiet tal-klijenti, ibiddlu d-direzzjoni kif meħtieġ biex jakkomodaw b'aġilità, u jivvintaw mill-ġdid il-pjan tan-negozju.
Żvilupp konġunt
Il-proċess ta' żvilupp kollaborattiv jippermetti lin-negozji, it-timijiet tal-iżvilupp, u t-timijiet tal-ittestjar mifruxa f'żoni tal-ħin differenti biex iwasslu kontinwament softwer ta' kwalità. Dan jinkludi żvilupp multi-pjattaformi, appoġġ għall-ipprogrammar bejn il-lingwi, ħolqien ta’ storja ta’ utenti, żvilupp ta’ ideat, u ġestjoni taċ-ċiklu tal-ħajja. L-iżvilupp kollaborattiv jinkludi l-proċess u l-prattika ta 'integrazzjoni kontinwa, li tippromwovi integrazzjoni ta' kodiċi frekwenti u bini awtomatizzat. Bl-użu ta' kodiċi ta' spiss f'applikazzjoni, il-problemi ta' integrazzjoni jiġu identifikati kmieni fiċ-ċiklu tal-ħajja (meta jkunu aktar faċli biex jiġu rranġati) u l-isforz ġenerali ta' integrazzjoni jitnaqqas permezz ta' feedback kontinwu hekk kif il-proġett juri progress kontinwu u viżibbli.
Ittestjar kontinwu
L-ittestjar kontinwu jnaqqas l-ispiża tal-ittestjar billi jgħin lit-timijiet tal-iżvilupp jibbilanċjaw il-veloċità mal-kwalità. Jelimina wkoll il-konġestjonijiet tal-ittestjar permezz tal-virtwalizzazzjoni tas-servizz u jagħmilha faċli biex jinħolqu ambjenti tat-test virtwalizzati li jistgħu jiġu kondiviżi, skjerati u aġġornati faċilment hekk kif is-sistemi jinbidlu. Dawn il-kapaċitajiet inaqqsu l-ispiża tal-forniment u ż-żamma tal-ambjenti tat-test u jqassru l-ħinijiet taċ-ċiklu tat-test, li jippermettu li l-ittestjar tal-integrazzjoni jseħħ aktar kmieni fiċ-ċiklu tal-ħajja.
Rilaxx u skjerament kontinwu
Dawn it-tekniki jġibu magħhom prattika ewlenija: rilaxx u skjerament kontinwu. Dan huwa żgurat minn pipeline kontinwu li awtomatizza l-proċessi ewlenin. Tnaqqas il-passi manwali, il-ħinijiet ta’ stennija tar-riżorsi, u l-ħidma mill-ġdid billi tippermetti l-iskjerament bl-għafsa ta’ buttuna, li jirriżulta f’aktar rilaxxi, inqas żbalji, u trasparenza sħiħa.
L-awtomazzjoni għandha rwol ewlieni biex tiżgura rilaxx ta 'softwer stabbli u affidabbli. Waħda mill-akbar sfidi hija li tieħu proċessi manwali bħall-bini, ir-rigressjoni, l-iskjerament u l-ħolqien tal-infrastruttura u awtomathom. Dan jeħtieġ kontroll tal-verżjoni tal-kodiċi tas-sors; xenarji ta' ttestjar u skjerament; Data tal-konfigurazzjoni tal-infrastruttura u tal-applikazzjoni; u l-libreriji u l-pakketti li l-applikazzjoni tiddependi fuqhom. Fattur importanti ieħor huwa l-abbiltà li wieħed jistaqsi l-istat tal-ambjenti kollha.
Monitoraġġ kontinwu
Il-monitoraġġ kontinwu jipprovdi rappurtar ta 'grad ta' intrapriża li jgħin lit-timijiet ta 'żvilupp jifhmu d-disponibbiltà u l-prestazzjoni tal-applikazzjonijiet f'ambjenti ta' produzzjoni qabel ma jiġu skjerati għall-produzzjoni. Feedback bikri pprovdut minn monitoraġġ kontinwu huwa kritiku biex titnaqqas l-ispiża tal-iżbalji u tmexxi proġetti fid-direzzjoni t-tajba. Din il-prattika ħafna drabi tinkludi għodod ta 'monitoraġġ li tipikament jiżvelaw metriċi relatati mal-prestazzjoni tal-applikazzjoni.
Feedback u ottimizzazzjoni kostanti
Feedback u ottimizzazzjoni kontinwi jipprovdu rappreżentazzjoni viżwali tal-fluss tal-klijenti u jindikaw żoni problematiċi. Ir-rispons jista 'jiġi inkluż kemm fl-istadji ta' qabel kif ukoll ta 'wara l-bejgħ biex jiġi massimizzat il-valur u jiġi żgurat li saħansitra aktar tranżazzjonijiet jitlestew b'suċċess. Dan kollu jipprovdi viżwalizzazzjoni immedjata tal-kawża ewlenija tal-problemi tal-klijenti li jinfluwenzaw l-imġiba u l-impatt tan-negozju tagħhom.
Benefiċċji ta 'DevOps
DevOps jista 'jgħin biex jinħoloq ambjent fejn l-iżviluppaturi u l-operazzjonijiet jaħdmu bħala tim biex jintlaħqu għanijiet komuni. Tragward importanti f'dan il-proċess huwa l-implimentazzjoni ta' integrazzjoni kontinwa u twassil kontinwu (CI/CD). Dawn it-tekniki jippermettu lit-timijiet li jġibu s-softwer fis-suq aktar malajr b'inqas bugs.
Benefiċċji importanti ta' DevOps huma:
Prevedibbiltà: DevOps joffri rata ta' falliment ferm aktar baxxa għal ħarġiet ġodda.
Mantenibbiltà: DevOps jippermetti rkupru faċli jekk rilaxx ġdid ifalli jew applikazzjoni tinżel.
Riproduċibbiltà: Il-kontroll tal-verżjoni ta' bini jew kodiċi jippermettilek tirrestawra verżjonijiet preċedenti kif meħtieġ.
Stabbiltà: Is-sistema tas-softwer hija aktar stabbli, sigura, u l-bidliet jistgħu jiġu vverifikati.
Tkissir ta 'codebase akbar f'biċċiet maniġġabbli: DevOps huwa bbażat fuq metodi ta' żvilupp b'aġilità, li jippermettilek tkisser codebase kbira f'biċċiet iżgħar u maniġġabbli.
Prinċipji DevOps
L-adozzjoni ta 'DevOps tat lok għal diversi prinċipji li evolvew (u jkomplu jevolvu). Ħafna mill-fornituri tas-soluzzjoni żviluppaw il-modifiki tagħhom stess ta 'diversi tekniki. Dawn il-prinċipji kollha huma bbażati fuq approċċ olistiku lejn DevOps, u organizzazzjonijiet ta 'kull daqs jistgħu jużawhom.
Żviluppa u ttestja f'ambjent bħall-produzzjoni
L-idea hija li timijiet ta 'żvilupp u assigurazzjoni tal-kwalità (QA) ikunu jistgħu jiżviluppaw u jittestjaw sistemi li jġibu ruħhom bħal sistemi ta' produzzjoni sabiex ikunu jistgħu jaraw kif l-applikazzjoni taġixxi u taħdem ħafna qabel ma tkun lesta għall-iskjerament.
L-applikazzjoni għandha tkun konnessa mas-sistemi ta' produzzjoni kemm jista' jkun kmieni fiċ-ċiklu tal-ħajja tagħha biex tindirizza tliet problemi potenzjali ewlenin. L-ewwelnett, jippermettilek tittestja l-applikazzjoni f'ambjent qrib l-ambjent reali. It-tieni, jippermettilek li tittestja u tivvalida l-proċessi tal-kunsinna tal-applikazzjoni bil-quddiem. It-tielet, jippermetti lit-tim tal-operazzjonijiet biex jittestja kmieni fiċ-ċiklu tal-ħajja kif l-ambjent tagħhom se jġib ruħu meta jiġu skjerati l-applikazzjonijiet, u b'hekk jippermettilhom joħolqu ambjent personalizzat ħafna, iċċentrat fuq l-applikazzjoni.
Użu bi proċessi ripetibbli u affidabbli
Dan il-prinċipju jippermetti li timijiet ta 'żvilupp u operazzjonijiet jappoġġjaw proċessi b'aġilità ta' żvilupp ta 'softwer matul iċ-ċiklu kollu tal-ħajja tas-softwer. L-awtomazzjoni hija kritika biex jinħolqu proċessi iterattivi, affidabbli u ripetibbli. Għalhekk, l-organizzazzjoni trid toħloq pipeline tal-kunsinna li jippermetti skjerament u ttestjar kontinwu u awtomatizzat. L-iskjerament frekwenti jippermetti wkoll li timijiet jittestjaw proċessi ta 'skjerament, u b'hekk inaqqas ir-riskju ta' fallimenti ta 'skjerament waqt rilaxxi ħajjin.
Monitoraġġ u verifika tal-kwalità tax-xogħol
L-organizzazzjonijiet huma tajbin biex jimmonitorjaw l-applikazzjonijiet fil-produzzjoni minħabba li għandhom għodod li jaqbdu metriċi u indikaturi ewlenin tal-prestazzjoni (KPIs) f'ħin reali. Dan il-prinċipju jmexxi l-monitoraġġ kmieni fiċ-ċiklu tal-ħajja, u jiżgura li l-ittestjar awtomatizzat jimmonitorja l-attributi funzjonali u mhux funzjonali ta 'applikazzjoni kmieni fil-proċess. Kull meta applikazzjoni tiġi ttestjata u skjerata, il-metriċi tal-kwalità għandhom jiġu eżaminati u analizzati. Għodod ta 'monitoraġġ jipprovdu twissija bikrija ta' problemi operattivi u ta 'kwalità li jistgħu jinqalgħu matul il-produzzjoni. Dawn l-indikaturi għandhom jinġabru f'format li jkun aċċessibbli u li jinftiehem mill-partijiet interessati kollha.
Titjib ta' Feedback Loops
Wieħed mill-għanijiet tal-proċessi DevOps huwa li jippermetti lill-organizzazzjonijiet jirrispondu u jagħmlu bidliet aktar malajr. Fit-twassil tas-softwer, dan l-għan jeħtieġ li l-organizzazzjoni tirċievi feedback kmieni u mbagħad titgħallem malajr minn kull azzjoni meħuda. Dan il-prinċipju jeħtieġ li l-organizzazzjonijiet joħolqu kanali ta’ komunikazzjoni li jippermettu lill-partijiet interessati jaċċessaw u jinteraġixxu b’mod ta’ feedback. L-iżvilupp jista' jsir billi taġġusta l-pjanijiet jew il-prijoritajiet tal-proġett tiegħek. Il-manifattura tista 'taġixxi billi ttejjeb l-ambjent tal-produzzjoni.
DEV
Ippjanar: Kanboard, Wekan u alternattivi oħra Trello; GitLab, Tuleap, Redmine u alternattivi oħra tal-JIRA; Mattermost, Roit.im, IRC u alternattivi oħra ta' Slack.
Kodiċi tal-kitba: Git, Gerrit, Bugzilla; Jenkins u għodod oħra ta' sors miftuħ għal CI/CD
Monitoraġġ: Grafana, Prometheus, Nagios, InfluxDB, Fluentd, u oħrajn koperti f'din il-gwida
(*L-għodod tal-operazzjonijiet ġew innumerati f'ordni ta' użu mit-timijiet tal-operazzjonijiet, iżda l-għodda tagħhom tikkoinċidi mal-istadji taċ-ċiklu tal-ħajja tal-għodod ta' rilaxx u skjerament. Għal faċilità li tinqara, in-numerazzjoni tneħħiet.)
Bħala konklużjoni
DevOps hija metodoloġija dejjem aktar popolari li għandha l-għan li tgħaqqad lill-iżviluppaturi u l-operazzjonijiet flimkien bħala unità waħda. Huwa uniku, differenti mill-operazzjonijiet tradizzjonali tal-IT, u jikkumplimenta Agile (iżda mhux daqshekk flessibbli).
Skopri dettalji dwar kif tikseb professjoni mfittxija mill-bidu jew Level Up f'termini ta' ħiliet u salarju billi tieħu korsijiet onlajn imħallsa minn SkillFactory: