Canllaw DevOps i Ddechreuwyr

Beth yw pwysigrwydd DevOps, beth mae'n ei olygu i weithwyr proffesiynol TG, disgrifiad o ddulliau, fframweithiau ac offer.

Canllaw DevOps i Ddechreuwyr

Mae llawer wedi digwydd ers i'r term DevOps gydio yn y byd TG. Gyda llawer o ffynhonnell agored yr ecosystem, mae'n bwysig ailystyried pam y dechreuodd a beth mae'n ei olygu ar gyfer gyrfa mewn TG.

Beth yw DevOps

Er nad oes un diffiniad sengl, credaf fod DevOps yn fframwaith technoleg sy'n galluogi cydweithio rhwng timau datblygu a gweithredu i ddefnyddio cod yn gyflymach mewn amgylcheddau cynhyrchu gyda'r gallu i ailadrodd ac awtomeiddio. Byddwn yn treulio gweddill yr erthygl hon yn dadbacio'r hawliad hwn.

Mae’r gair “DevOps” yn gyfuniad o’r geiriau “datblygiad” a “gweithrediadau”. Mae DevOps yn helpu i gynyddu cyflymder cyflwyno cymwysiadau a gwasanaethau. Mae hyn yn galluogi sefydliadau i wasanaethu eu cwsmeriaid yn effeithiol a dod yn fwy cystadleuol yn y farchnad. Yn syml, DevOps yw'r aliniad rhwng gweithrediadau datblygu a TG gyda chyfathrebu a chydweithio mwy effeithiol.

Mae DevOps yn cynnwys diwylliant lle mae cydweithredu rhwng timau datblygu, gweithrediadau a busnes yn cael ei ystyried yn hollbwysig. Nid yw'n ymwneud ag offer yn unig, gan fod DevOps mewn sefydliad o fudd parhaus i gwsmeriaid hefyd. Mae offer yn un o'i bileri, ynghyd â phobl a phrosesau. Mae DevOps yn cynyddu gallu sefydliadau i ddarparu atebion o ansawdd uchel yn yr amser byrraf posibl. Mae DevOps hefyd yn awtomeiddio pob proses, o adeiladu i leoli, cymhwysiad neu gynnyrch.

Mae trafodaeth DevOps yn canolbwyntio ar y berthynas rhwng datblygwyr, y bobl sy'n ysgrifennu meddalwedd ar gyfer bywoliaeth, a'r gweithredwyr sy'n gyfrifol am gynnal y feddalwedd honno.

Heriau i'r tîm datblygu

Mae datblygwyr yn tueddu i fod yn frwdfrydig ac yn awyddus i roi dulliau a thechnolegau newydd ar waith i ddatrys problemau sefydliadol. Fodd bynnag, maent hefyd yn wynebu rhai problemau:

  • Mae'r farchnad gystadleuol yn creu llawer o bwysau i gyflwyno'r cynnyrch mewn pryd.
  • Rhaid iddynt ofalu am reoli cod parod cynhyrchu a chyflwyno nodweddion newydd.
  • Gall y cylch rhyddhau fod yn hir, felly mae'n rhaid i'r tîm datblygu wneud sawl rhagdybiaeth cyn gweithredu ceisiadau. Yn y senario hwn, mae angen mwy o amser i ddatrys materion sy'n codi wrth anfon i amgylchedd cynhyrchu neu brofi.

Heriau a wynebir gan y tîm gweithrediadau

Yn hanesyddol mae timau gweithredu wedi canolbwyntio ar sefydlogrwydd a dibynadwyedd gwasanaethau TG. Dyna pam mae timau gweithrediadau yn ceisio sefydlogrwydd trwy newidiadau mewn adnoddau, technolegau neu ddulliau. Mae eu tasgau yn cynnwys:

  • Rheoli dyraniad adnoddau wrth i'r galw gynyddu.
  • Ymdrin â newidiadau dylunio neu addasu sydd eu hangen i'w defnyddio mewn amgylchedd cynhyrchu.
  • Diagnosio a datrys problemau cynhyrchu ar ôl hunan-leoli cymwysiadau.

Sut mae DevOps yn datrys problemau datblygu a gweithredu

Yn lle cyflwyno nifer fawr o nodweddion ap ar unwaith, mae cwmnïau'n ceisio gweld a allant gyflwyno nifer fach o nodweddion i'w cwsmeriaid trwy gyfres o fersiynau rhyddhau. Mae gan y dull hwn nifer o fanteision, megis ansawdd meddalwedd gwell, adborth cyflymach gan gwsmeriaid, ac ati. Mae hyn, yn ei dro, yn sicrhau boddhad cwsmeriaid uchel. Er mwyn cyflawni'r nodau hyn, mae'n ofynnol i gwmnïau:

  • Lleihau'r gyfradd fethiant wrth ryddhau datganiadau newydd
  • Cynyddu amlder lleoli
  • Cyflawni amser cyflymach ar gyfartaledd i adferiad os bydd cais newydd yn cael ei ryddhau.
  • Lleihau'r amser ar gyfer cywiriadau

Mae DevOps yn cyflawni'r holl dasgau hyn ac yn helpu i sicrhau darpariaeth ddi-dor. Mae sefydliadau'n defnyddio DevOps i gyflawni lefelau cynhyrchiant nad oedd modd eu dychmygu ychydig flynyddoedd yn ôl. Maent yn perfformio degau, cannoedd, a hyd yn oed filoedd o leoliadau y dydd wrth ddarparu dibynadwyedd, sefydlogrwydd a diogelwch o'r radd flaenaf. (Dysgwch fwy am feintiau lot a'u heffaith ar gyflwyno meddalwedd).

Mae DevOps yn ceisio datrys problemau amrywiol sy'n deillio o fethodolegau'r gorffennol, gan gynnwys:

  • Ynysu gwaith rhwng timau datblygu a gweithredu
  • Mae profi a defnyddio yn gamau ar wahân sy'n digwydd ar ôl dylunio ac adeiladu ac sy'n gofyn am fwy o amser na chylchoedd adeiladu.
  • Treulio gormod o amser yn profi, lleoli a dylunio yn lle canolbwyntio ar adeiladu gwasanaethau busnes craidd
  • Defnyddio cod â llaw yn arwain at wallau cynhyrchu
  • Gwahaniaethau yn amserlenni timau datblygu a gweithrediadau yn achosi oedi ychwanegol

Canllaw DevOps i Ddechreuwyr

Gwrthdaro rhwng DevOps, Agile a TG traddodiadol

Mae DevOps yn cael ei drafod yn aml mewn perthynas ag arferion TG eraill, yn enwedig TG Agile a Waterfall.

Mae Agile yn set o egwyddorion, gwerthoedd ac arferion ar gyfer cynhyrchu meddalwedd. Felly, er enghraifft, os oes gennych syniad eich bod am ei drawsnewid yn feddalwedd, gallwch ddefnyddio egwyddorion a gwerthoedd Agile. Ond dim ond mewn amgylchedd datblygu neu brofi y gall y feddalwedd hon redeg. Mae angen ffordd syml, ddiogel arnoch i symud eich meddalwedd i gynhyrchu yn gyflym ac yn ailadroddus, a'r ffordd yw trwy offer a thechnegau DevOps. Mae datblygu meddalwedd Agile yn canolbwyntio ar brosesau datblygu ac mae DevOps yn gyfrifol am ddatblygu a defnyddio yn y modd mwyaf diogel a dibynadwy.

Mae cymharu'r model rhaeadr traddodiadol â DevOps yn ffordd dda o ddeall y buddion a ddaw yn sgil DevOps. Mae'r enghraifft ganlynol yn tybio y bydd y cais yn fyw mewn pedair wythnos, mae'r datblygiad wedi'i gwblhau 85%, bydd y cais yn fyw, ac mae'r broses o brynu gweinyddwyr i anfon y cod newydd ddechrau.

Prosesau traddodiadol
Prosesau yn DevOps

Ar ôl gosod archeb ar gyfer gweinyddwyr newydd, mae'r tîm datblygu yn gweithio ar brofi. Mae'r tasglu yn gweithio ar y dogfennau helaeth sydd eu hangen ar fentrau i ddefnyddio seilwaith.
Unwaith y bydd archeb am weinyddion newydd wedi'i gosod, mae'r timau datblygu a gweithredu yn cydweithio ar y prosesau a'r gwaith papur i osod y gweinyddion newydd. Mae hyn yn eich galluogi i ddeall eich gofynion seilwaith yn well.

Mae gwybodaeth am fethiant, dileu swyddi, lleoliadau canolfannau data, a gofynion storio yn cael ei chamliwio oherwydd nid oes mewnbwn gan dîm datblygu sydd â gwybodaeth parth dwfn.
Mae manylion am fethiant, dileu swyddi, adfer ar ôl trychineb, lleoliadau canolfannau data, a gofynion storio yn hysbys ac yn gywir oherwydd mewnbwn y tîm datblygu.

Nid oes gan y tîm gweithrediadau unrhyw syniad am gynnydd y tîm datblygu. Mae hi hefyd yn datblygu cynllun monitro yn seiliedig ar ei syniadau ei hun.

Mae'r tîm gweithrediadau yn gwbl ymwybodol o'r cynnydd a wnaed gan y tîm datblygu. Mae hi hefyd yn rhyngweithio gyda'r tîm datblygu ac maent yn gweithio gyda'i gilydd i ddatblygu cynllun monitro sy'n cwrdd ag anghenion TG a busnes. Maent hefyd yn defnyddio offer monitro perfformiad cymwysiadau (APM).

Mae prawf llwyth a gynhelir cyn i raglen lansio yn achosi i'r cais chwalu, gan ohirio ei lansiad.
Mae prawf llwyth a berfformiwyd cyn rhedeg cais yn arwain at berfformiad gwael. Mae'r tîm datblygu yn datrys tagfeydd yn gyflym ac mae'r cais yn lansio mewn pryd.

Cylch Bywyd DevOps

Mae DevOps yn cynnwys mabwysiadu rhai arferion a dderbynnir yn gyffredinol.

Cynllunio parhaus

Mae cynllunio parhaus yn dibynnu ar egwyddorion main i ddechrau'n fach trwy nodi'r adnoddau a'r allbynnau sydd eu hangen i brofi gwerth y busnes neu'r weledigaeth, addasu'n barhaus, mesur cynnydd, dysgu o anghenion cwsmeriaid, newid cyfeiriad yn ôl yr angen i ddarparu ar gyfer ystwythder, ac ailddyfeisio cynllun busnes.

Cyd-ddatblygiad

Mae'r broses ddatblygu gydweithredol yn caniatáu i fusnesau, timau datblygu, a thimau profi sydd wedi'u gwasgaru ar draws gwahanol barthau amser ddarparu meddalwedd o ansawdd yn barhaus. Mae hyn yn cynnwys datblygu aml-lwyfan, cymorth rhaglennu traws-iaith, creu straeon defnyddwyr, datblygu syniadau, a rheoli cylch bywyd. Mae datblygiad cydweithredol yn cynnwys y broses a'r arfer o integreiddio parhaus, sy'n hyrwyddo integreiddio cod aml ac adeiladu awtomataidd. Trwy ddefnyddio cod yn aml i raglen, nodir problemau integreiddio yn gynnar yn y cylch bywyd (pan fyddant yn haws i'w trwsio) a lleiheir yr ymdrech integreiddio gyffredinol trwy adborth parhaus wrth i'r prosiect ddangos cynnydd parhaus a gweladwy.

Profi parhaus

Mae profion parhaus yn lleihau cost profi trwy helpu timau datblygu i gydbwyso cyflymder ag ansawdd. Mae hefyd yn dileu tagfeydd profi trwy rithwiroli gwasanaeth ac yn ei gwneud hi'n hawdd creu amgylcheddau prawf rhithwir y gellir eu rhannu, eu defnyddio a'u diweddaru'n hawdd wrth i systemau newid. Mae'r galluoedd hyn yn lleihau cost darparu a chynnal amgylcheddau prawf ac yn byrhau amseroedd cylch prawf, gan ganiatáu i brofion integreiddio ddigwydd yn gynharach yn y cylch bywyd.

Rhyddhau a lleoli parhaus

Mae'r technegau hyn yn dod ag arfer craidd gyda nhw: rhyddhau a defnyddio'n barhaus. Sicrheir hyn gan biblinell barhaus sy'n awtomeiddio prosesau allweddol. Mae'n lleihau camau llaw, amseroedd aros adnoddau, ac ail-weithio trwy alluogi eu defnyddio wrth wthio botwm, gan arwain at fwy o ddatganiadau, llai o wallau, a thryloywder llwyr.

Mae awtomeiddio yn chwarae rhan allweddol wrth sicrhau rhyddhau meddalwedd sefydlog a dibynadwy. Un o'r heriau mwyaf yw cymryd prosesau llaw fel adeiladu, atchweliad, defnyddio a chreu seilwaith a'u hawtomeiddio. Mae hyn yn gofyn am reolaeth fersiwn cod ffynhonnell; senarios profi a defnyddio; data cyfluniad seilwaith a chymwysiadau; a'r llyfrgelloedd a'r pecynnau y mae'r rhaglen yn dibynnu arnynt. Ffactor pwysig arall yw'r gallu i gwestiynu cyflwr pob amgylchedd.

Monitro parhaus

Mae monitro parhaus yn darparu adroddiadau gradd menter sy'n helpu timau datblygu i ddeall argaeledd a pherfformiad cymwysiadau mewn amgylcheddau cynhyrchu cyn iddynt gael eu defnyddio i gynhyrchu. Mae adborth cynnar a ddarperir gan fonitro parhaus yn hanfodol i leihau cost gwallau a llywio prosiectau i'r cyfeiriad cywir. Mae'r arfer hwn yn aml yn cynnwys offer monitro sydd fel arfer yn datgelu metrigau sy'n gysylltiedig â pherfformiad cymhwysiad.

Adborth cyson ac optimeiddio

Mae adborth ac optimeiddio parhaus yn darparu cynrychiolaeth weledol o lif cwsmeriaid ac yn nodi meysydd problemus. Gellir cynnwys adborth yn y camau cyn ac ar ôl gwerthu i sicrhau'r gwerth mwyaf a sicrhau bod hyd yn oed mwy o drafodion yn cael eu cwblhau'n llwyddiannus. Mae hyn i gyd yn rhoi delwedd ar unwaith o achos sylfaenol problemau cwsmeriaid sy'n dylanwadu ar eu hymddygiad a'u heffaith busnes.

Canllaw DevOps i Ddechreuwyr

Manteision DevOps

Gall DevOps helpu i greu amgylchedd lle mae datblygwyr a gweithrediadau yn gweithio fel tîm i gyflawni nodau cyffredin. Carreg filltir bwysig yn y broses hon yw gweithredu integreiddio parhaus a darpariaeth barhaus (CI/CD). Bydd y technegau hyn yn galluogi timau i gael meddalwedd i farchnata'n gyflymach gyda llai o fygiau.

Buddion pwysig DevOps yw:

  • Rhagweladwyedd: Mae DevOps yn cynnig cyfradd fethiant sylweddol is ar gyfer datganiadau newydd.
  • Cynaladwyedd: Mae DevOps yn caniatáu adferiad hawdd os bydd datganiad newydd yn methu neu os bydd cais yn mynd i lawr.
  • Atgynhyrchadwyedd: Mae rheoli fersiwn o adeiladwaith neu god yn caniatáu ichi adfer fersiynau cynharach yn ôl yr angen.
  • Ansawdd Uwch: Mae mynd i'r afael â materion seilwaith yn gwella ansawdd datblygu cymwysiadau.
  • Amser i'r Farchnad: Mae optimeiddio cyflwyno meddalwedd yn lleihau amser i'r farchnad 50%.
  • Lleihau Risg: Mae gweithredu diogelwch yn y cylch bywyd meddalwedd yn lleihau nifer y diffygion trwy gydol y cylch bywyd.
  • Effeithlonrwydd Cost: Mae mynd ar drywydd effeithlonrwydd cost wrth ddatblygu meddalwedd yn apelio at uwch reolwyr.
  • Sefydlogrwydd: Mae'r system feddalwedd yn fwy sefydlog, diogel, a gellir archwilio newidiadau.
  • Rhannu cronfa godau fwy yn ddarnau hylaw: Mae DevOps yn seiliedig ar ddulliau datblygu ystwyth, sy'n caniatáu i sylfaen cod fawr gael ei rhannu'n ddarnau llai, hylaw.

Egwyddorion DevOps

Arweiniodd mabwysiadu DevOps at sawl egwyddor sydd wedi esblygu (ac yn parhau i esblygu). Mae'r rhan fwyaf o ddarparwyr datrysiadau wedi datblygu eu haddasiadau eu hunain o wahanol dechnegau. Mae'r holl egwyddorion hyn yn seiliedig ar ymagwedd gyfannol at DevOps, a gall sefydliadau o unrhyw faint eu defnyddio.

Datblygu a phrofi mewn amgylchedd tebyg i gynhyrchu

Y syniad yw galluogi timau datblygu a sicrhau ansawdd (SA) i ddatblygu a phrofi systemau sy'n ymddwyn fel systemau cynhyrchu fel y gallant weld sut mae'r cymhwysiad yn ymddwyn ac yn perfformio ymhell cyn ei fod yn barod i'w ddefnyddio.

Dylid cysylltu'r cais â systemau cynhyrchu cyn gynted â phosibl yn ei gylch bywyd i fynd i'r afael â thair problem fawr bosibl. Yn gyntaf, mae'n caniatáu ichi brofi'r cais mewn amgylchedd sy'n agos at yr amgylchedd go iawn. Yn ail, mae'n caniatáu ichi brofi a dilysu prosesau cyflwyno ceisiadau ymlaen llaw. Yn drydydd, mae'n caniatáu i'r tîm gweithrediadau brofi yn gynnar yn y cylch bywyd sut y bydd eu hamgylchedd yn ymddwyn pan fydd cymwysiadau'n cael eu defnyddio, a thrwy hynny ganiatáu iddynt greu amgylchedd hynod addasedig, sy'n canolbwyntio ar gymhwyso.

Defnyddio gyda phrosesau ailadroddadwy, dibynadwy

Mae'r egwyddor hon yn caniatáu i dimau datblygu a gweithredu gefnogi prosesau datblygu meddalwedd ystwyth trwy gydol cylch oes meddalwedd cyfan. Mae awtomeiddio yn hanfodol i greu prosesau ailadroddus, dibynadwy ac ailadroddadwy. Felly, rhaid i'r sefydliad greu piblinell gyflenwi sy'n galluogi lleoli a phrofi awtomataidd yn barhaus. Mae defnyddio aml hefyd yn galluogi timau i brofi prosesau lleoli, a thrwy hynny leihau'r risg o fethiannau lleoli yn ystod datganiadau byw.

Monitro a gwirio ansawdd y gwaith

Mae sefydliadau'n dda am fonitro cymwysiadau wrth gynhyrchu oherwydd bod ganddynt offer sy'n dal metrigau a dangosyddion perfformiad allweddol (KPIs) mewn amser real. Mae'r egwyddor hon yn symud monitro yn gynnar yn y cylch bywyd, gan sicrhau bod profion awtomataidd yn monitro nodweddion swyddogaethol ac anweithredol cais yn gynnar yn y broses. Pryd bynnag y caiff cais ei brofi a'i ddefnyddio, rhaid archwilio a dadansoddi metrigau ansawdd. Mae offer monitro yn rhoi rhybudd cynnar o broblemau gweithredol ac ansawdd a all godi yn ystod cynhyrchu. Rhaid casglu'r dangosyddion hyn mewn fformat sy'n hygyrch ac yn ddealladwy i bob rhanddeiliad.

Gwella Dolenni Adborth

Un o nodau prosesau DevOps yw galluogi sefydliadau i ymateb a gwneud newidiadau yn gyflymach. Wrth gyflwyno meddalwedd, mae'r nod hwn yn ei gwneud yn ofynnol i'r sefydliad gael adborth yn gynnar ac yna dysgu'n gyflym o bob cam a gymerwyd. Mae'r egwyddor hon yn ei gwneud yn ofynnol i sefydliadau greu sianeli cyfathrebu sy'n galluogi rhanddeiliaid i gael mynediad at a rhyngweithio mewn modd adborth. Gellir datblygu drwy addasu eich cynlluniau prosiect neu flaenoriaethau. Gall gweithgynhyrchu weithredu trwy wella'r amgylchedd cynhyrchu.

Dyfais

  • Cynllunio: Kanboard, Wekan a dewisiadau eraill Trello; GitLab, Tuleap, Redmine a dewisiadau amgen JIRA eraill; Mattermost, Roit.im, IRC a dewisiadau eraill Slack.
  • Cod ysgrifennu: Git, Gerrit, Bugzilla; Jenkins ac offer ffynhonnell agored eraill ar gyfer CI/CD
  • Cynulliad: Apache Maven, Gradle, Ant Apache, Paciwr
  • Profion: JUnit, Ciwcymbr, Seleniwm, Apache JMeter

Gweithrediadau

  • Rhyddhau, Defnyddio, Gweithrediadau: Kubernetes, Nomad, Jenkins, Zuul, Spinnaker, Ansible, Apache ZooKeeper, ac ati, Netflix Archaius, Terraform
  • Monitro: Grafana, Prometheus, Nagios, InfluxDB, Fluentd, ac eraill a gwmpesir yn y canllaw hwn

(*Mae offer gweithrediadau wedi'u rhifo yn nhrefn eu defnyddio gan dimau gweithrediadau, ond mae eu hofferyn yn gorgyffwrdd â chyfnodau cylch bywyd yr offer rhyddhau a defnyddio. Er mwyn ei gwneud yn hawdd i'w darllen, mae'r rhifo wedi'i ddileu.)

I gloi

Mae DevOps yn fethodoleg gynyddol boblogaidd sy'n ceisio dod â datblygwyr a gweithrediadau ynghyd fel un uned. Mae'n unigryw, yn wahanol i weithrediadau TG traddodiadol, ac yn ategu Agile (ond nid yw mor hyblyg).

Canllaw DevOps i Ddechreuwyr

Darganfyddwch fanylion ar sut i gael proffesiwn y mae galw mawr amdano o'r dechrau neu Lefel Up o ran sgiliau a chyflog trwy ddilyn cyrsiau ar-lein â thâl gan SkillFactory:

mwy o gyrsiau

Defnyddiol

Ffynhonnell: hab.com

Ychwanegu sylw