Gwida DevOps għal Jibdew

X'inhi l-importanza ta 'DevOps, xi jfisser għall-professjonisti tal-IT, deskrizzjoni ta' metodi, oqfsa u għodod.

Gwida DevOps għal Jibdew

Ġ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

Gwida DevOps għal Jibdew

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.

Gwida DevOps għal Jibdew

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ġ.
  • Kwalità Ogħla: L-indirizzar tal-kwistjonijiet tal-infrastruttura jtejjeb il-kwalità tal-iżvilupp tal-applikazzjoni.
  • Ħin għas-Suq: L-ottimizzazzjoni tal-kunsinna tas-softwer tnaqqas iż-żmien għas-suq b'50%.
  • Tnaqqis tar-Riskju: L-implimentazzjoni tas-sigurtà fiċ-ċiklu tal-ħajja tas-softwer tnaqqas in-numru ta 'difetti matul iċ-ċiklu tal-ħajja.
  • Effiċjenza fl-ispiża: L-insegwiment tal-effiċjenza fl-ispiża fl-iżvilupp tas-softwer jappella lill-maniġment anzjan.
  • 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
  • Assemblaġġ: Apache Maven, Gradle, Apache Ant, Packer
  • Testijiet: JUnit, Ħjar, Selenju, Apache JMeter

ops

  • Rilaxx, Skjerament, Operazzjonijiet: Kubernetes, Nomad, Jenkins, Zuul, Spinnaker, Ansible, Apache ZooKeeper, eċċd, Netflix Archaius, Terraform
  • 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).

Gwida DevOps għal Jibdew

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:

aktar korsijiet

Utli

Sors: www.habr.com

Żid kumment