Pam mae angen DevOps a phwy yw arbenigwyr DevOps?

Pan nad yw cais yn gweithio, y peth olaf yr hoffech ei glywed gan eich cydweithwyr yw'r ymadrodd “mae'r broblem ar eich ochr chi.” O ganlyniad, mae defnyddwyr yn dioddef - a does dim ots ganddyn nhw pa ran o'r tîm sy'n gyfrifol am y chwalfa. Daeth diwylliant DevOps i'r amlwg yn union i ddod â datblygiad a chefnogaeth ynghyd o amgylch cyfrifoldeb a rennir am y cynnyrch terfynol.

Pa arferion sydd wedi'u cynnwys yn y cysyniad o DevOps a pham mae eu hangen? Beth mae peirianwyr DevOps yn ei wneud a beth ddylen nhw allu ei wneud? Mae arbenigwyr o EPAM yn ateb y cwestiynau hyn a chwestiynau eraill: Kirill Sergeev, peiriannydd systemau ac efengylydd DevOps, ac Igor Boyko, peiriannydd systemau blaenllaw a chydlynydd un o dimau DevOps y cwmni.

Pam mae angen DevOps a phwy yw arbenigwyr DevOps?

Pam mae angen DevOps?

Yn flaenorol, roedd rhwystr rhwng datblygwyr a chymorth (gweithrediadau fel y'u gelwir). Mae'n swnio'n baradocsaidd, ond roedd ganddyn nhw nodau a DPAau gwahanol, er eu bod yn gwneud yr un peth. Nod y datblygiad oedd gweithredu gofynion busnes cyn gynted â phosibl a'u hychwanegu at gynnyrch gweithredol. Cefnogaeth oedd yn gyfrifol am sicrhau bod y cais yn gweithio'n sefydlog - a bod unrhyw newidiadau yn peryglu sefydlogrwydd. Mae gwrthdaro buddiannau - roedd yn ymddangos bod DevOps yn ei ddatrys.

Beth yw DevOps?

Mae’n gwestiwn da – ac yn un dadleuol: nid yw’r byd wedi cytuno ar hyn eto o’r diwedd. Mae EPAM yn credu bod DevOps yn cyfuno technolegau, prosesau a diwylliant o ryngweithio o fewn tîm. Nod y gymdeithas hon yw darparu gwerth i ddefnyddwyr terfynol yn barhaus.

Kirill Sergeev: “Mae datblygwyr yn ysgrifennu cod, mae profwyr yn ei adolygu, ac mae gweinyddwyr yn defnyddio'r cynnyrch terfynol i'w gynhyrchu. Am gyfnod hir, roedd y rhannau hyn o'r tîm ychydig yn wasgaredig, ac yna cododd y syniad eu huno trwy broses gyffredin. Dyma sut yr ymddangosodd arferion DevOps. ”

Daeth y diwrnod pan ddechreuodd datblygwyr a pheirianwyr systemau ymddiddori yng ngwaith ei gilydd. Dechreuodd y rhwystr rhwng cynhyrchu a chymorth ddiflannu. Dyma sut y daeth DevOps i'r amlwg, sy'n cynnwys arferion, diwylliant a rhyngweithio tîm.

Pam mae angen DevOps a phwy yw arbenigwyr DevOps?

Beth yw hanfod diwylliant DevOps?

Y ffaith yw mai pob aelod o'r tîm sy'n gyfrifol am y canlyniad terfynol. Y peth mwyaf diddorol ac anodd yn athroniaeth DevOps yw deall nad yw person penodol yn gyfrifol am ei gyfnod gwaith ei hun yn unig, ond ei fod yn gyfrifol am sut y bydd y cynnyrch cyfan yn gweithio. Nid yw'r broblem yn gorwedd ar ochr unrhyw un - mae'n cael ei rannu, ac mae pob aelod o'r tîm yn helpu i'w datrys.

Y peth pwysicaf mewn diwylliant DevOps yw datrys y broblem, nid dim ond cymhwyso arferion DevOps. Ar ben hynny, nid yw'r arferion hyn yn cael eu gweithredu "ar ochr rhywun", ond trwy gydol y cynnyrch cyfan. Nid oes angen peiriannydd DevOps ar brosiect fel y cyfryw - mae angen ateb i broblem, a gellir dosbarthu rôl peiriannydd DevOps ymhlith sawl aelod tîm sydd â gwahanol arbenigeddau.

Beth yw'r mathau o arferion DevOps?

Mae arferion DevOps yn cwmpasu pob cam o gylch bywyd meddalwedd.

Igor Boyko: “Yr achos delfrydol yw pan fyddwn yn dechrau defnyddio arferion DevOps ar ddechrau'r prosiect. Ar y cyd â'r penseiri, rydym yn cynllunio pa fath o dirwedd bensaernïol fydd gan y cais, lle bydd yn cael ei leoli a sut i raddfa, a dewis platfform. Y dyddiau hyn, mae pensaernïaeth microwasanaeth mewn ffasiwn - ar ei gyfer rydym yn dewis system offeryniaeth: mae angen i chi allu rheoli pob elfen o'r cymhwysiad ar wahân a'i ddiweddaru'n annibynnol ar y lleill. Arfer arall yw “isadeiledd fel cod.” Dyma'r enw ar gyfer ymagwedd lle mae seilwaith y prosiect yn cael ei greu a'i reoli gan ddefnyddio cod, yn hytrach na thrwy ryngweithio uniongyrchol â gweinyddwyr.

Nesaf symudwn ymlaen i'r cam datblygu. Un o'r arferion mwyaf yma yw adeiladu CI/CD: mae angen i chi helpu datblygwyr i integreiddio newidiadau i'r cynnyrch yn gyflym, mewn dognau bach, yn amlach ac yn ddi-boen. Mae CI/CD yn ymdrin ag adolygu cod, uwchlwytho'r meistr i'r sylfaen cod, a defnyddio'r cymhwysiad i amgylcheddau profi a chynhyrchu.

Ar y camau CI/CD, mae'r cod yn mynd trwy gatiau ansawdd. Gyda'u cymorth, maent yn gwirio bod y cod sy'n dod allan o weithfan y datblygwr yn bodloni'r meini prawf ansawdd penodedig. Ychwanegir profion uned a UI yma. Ar gyfer defnyddio cynnyrch cyflym, di-boen a ffocws, gallwch ddewis y math priodol o leoliad.

Mae gan ymarferwyr DevOps le hefyd ar y cam o gefnogi'r cynnyrch gorffenedig. Fe'u defnyddir ar gyfer monitro, adborth, diogelwch, a chyflwyno newidiadau. Mae DevOps yn edrych ar yr holl dasgau hyn o safbwynt gwelliant parhaus. Rydym yn lleihau gweithrediadau ailadroddus ac yn eu hawtomeiddio. Mae hyn hefyd yn cynnwys mudo, ehangu ceisiadau, a chymorth perfformiad.”

Beth yw manteision arferion DevOps?

Pe baem yn ysgrifennu gwerslyfr ar arferion modern DevOps, byddai tri phwynt ar y dudalen gyntaf: awtomeiddio, cyflymu datganiadau, ac adborth cyflym gan ddefnyddwyr.

Kirill Sergeev: “Y peth cyntaf yw awtomeiddio. Gallwn awtomeiddio pob rhyngweithiad yn y tîm: ysgrifennodd y cod - ei gyflwyno - ei wirio - ei osod - casglu adborth - dychwelyd i'r dechrau. Mae hyn i gyd yn awtomatig.

Yr ail yw cyflymu'r rhyddhau a hyd yn oed symleiddio datblygiad. Mae bob amser yn bwysig i'r cwsmer bod y cynnyrch yn dod i mewn i'r farchnad cyn gynted â phosibl ac yn dechrau darparu buddion yn gynharach na analogau cystadleuwyr. Gellir gwella'r broses cyflwyno cynnyrch yn ddiddiwedd: lleihau amser, ychwanegu marciau rheoli ychwanegol, gwella monitro.

Trydydd yw cyflymu adborth defnyddwyr. Os oes ganddo sylwadau, gallwn wneud addasiadau ar unwaith a diweddaru’r cais ar unwaith.”

Pam mae angen DevOps a phwy yw arbenigwyr DevOps?

Sut mae cysyniadau “peiriannydd systemau”, “peiriannydd adeiladu” a “pheiriannydd DevOps” yn berthnasol?

Maent yn gorgyffwrdd, ond yn perthyn i feysydd ychydig yn wahanol.

Peiriannydd systemau yn EPAM mewn swydd. Maent yn dod mewn gwahanol lefelau: o iau i brif arbenigwr.

Mae peiriannydd adeiladu yn fwy o rôl y gellir ei chyflawni ar brosiect. Nawr dyma'r enw ar y bobl sy'n gyfrifol am CI/CD.

Mae peiriannydd DevOps yn arbenigwr sy'n gweithredu arferion DevOps ar brosiect.

Os byddwn yn crynhoi'r cyfan, rydyn ni'n cael rhywbeth fel hyn: mae person mewn swydd peiriannydd systemau yn chwarae rhan peiriannydd adeiladu ar brosiect ac yn cymryd rhan mewn gweithredu arferion DevOps yno.

Beth yn union mae peiriannydd DevOps yn ei wneud?

Mae peirianwyr DevOps wedi llunio'r holl ddarnau sy'n rhan o brosiect. Gwyddant fanylion gwaith rhaglenwyr, profwyr, gweinyddwyr systemau ac maent yn helpu i symleiddio eu gwaith. Maent yn deall anghenion a gofynion y busnes, ei rôl yn y broses ddatblygu - ac yn adeiladu'r broses gan ystyried buddiannau'r cwsmer.

Buom yn siarad llawer am awtomeiddio - dyma beth mae peirianwyr DevOps yn delio ag ef yn gyntaf ac yn bennaf. Mae hwn yn bwynt mawr iawn, sydd, ymhlith pethau eraill, yn cynnwys paratoi'r amgylchedd.

Kirill Sergeev: “Cyn rhoi diweddariadau ar y cynnyrch, mae angen eu profi mewn amgylchedd trydydd parti. Fe'i paratoir gan beirianwyr DevOps. Maent yn sefydlu diwylliant DevOps ar y prosiect yn ei gyfanrwydd: maent yn cyflwyno arferion DevOps ar bob haen o'u prosiectau. Y tair egwyddor hyn: awtomeiddio, symleiddio, cyflymu - maen nhw'n dod â lle bynnag y gallant ei gyrraedd. ”

Beth ddylai peiriannydd DevOps ei wybod?

Ar y cyfan, rhaid iddo feddu ar wybodaeth o wahanol feysydd: rhaglennu, gweithio gyda systemau gweithredu, cronfeydd data, systemau cydosod a ffurfweddu. Ategir y rhain gan y gallu i weithio gyda seilwaith cwmwl, offeryniaeth a systemau monitro.

1. Ieithoedd rhaglennu

Mae peirianwyr DevOps yn gwybod sawl iaith sylfaenol ar gyfer awtomeiddio a gallant, er enghraifft, ddweud wrth raglennydd: “Beth am i chi osod y cod nid â llaw, ond gan ddefnyddio ein sgript, sy'n awtomeiddio popeth? Byddwn yn paratoi ffeil ffurfweddu ar ei gyfer, bydd yn gyfleus i chi a ninnau ei darllen, a byddwn yn gallu ei newid unrhyw bryd. Byddwn hefyd yn gweld pwy, pryd a pham sy’n gwneud newidiadau iddo.”

Gall peiriannydd DevOps ddysgu un neu fwy o'r ieithoedd hyn: Python, Groovy, Bash, Powershell, Ruby, Go. Nid oes angen eu hadnabod ar lefel ddwfn - mae hanfodion cystrawen, egwyddorion OOP, a'r gallu i ysgrifennu sgriptiau syml ar gyfer awtomeiddio yn ddigon.

2. Systemau gweithredu

Rhaid i beiriannydd DevOps ddeall ar ba weinydd y bydd y cynnyrch yn cael ei osod, ym mha amgylchedd y bydd yn rhedeg, a pha wasanaethau y bydd yn rhyngweithio â nhw. Gallwch ddewis arbenigo mewn Windows neu'r teulu Linux.

3. Systemau rheoli fersiwn

Heb wybodaeth am system rheoli fersiynau, nid yw peiriannydd DevOps yn unman. Git yw un o'r systemau mwyaf poblogaidd ar hyn o bryd.

4. darparwyr cwmwl

AWS, Google, Azure - yn enwedig os ydym yn sôn am gyfeiriad Windows.

Kirill Sergeev: “Mae darparwyr Cloud yn darparu gweinyddwyr rhithwir i ni sy'n ffitio'n berffaith i CI/CD.

Mae gosod deg gweinydd corfforol yn gofyn am tua chant o weithrediadau llaw. Rhaid i bob gweinydd gael ei lansio â llaw, ei osod a'i ffurfweddu'r system weithredu ofynnol, gosod ein cymhwysiad ar y deg gweinydd hyn, ac yna gwirio popeth ddwywaith ddeg gwaith. Mae gwasanaethau cwmwl yn disodli'r weithdrefn hon gyda deg llinell o god, a dylai peiriannydd DevOps da allu gweithredu gyda nhw. Mae hyn yn arbed amser, ymdrech ac arian – i’r cwsmer ac i’r cwmni.”

5. Systemau cerddorfaol: Docker a Kubernetes

Kirill Sergeev: “Rhennir gweinyddwyr rhithwir yn gynwysyddion, a gallwn osod ein cymhwysiad ym mhob un ohonynt. Pan fo llawer o gynwysyddion, mae angen i chi eu rheoli: trowch un ymlaen, trowch un arall i ffwrdd, gwnewch gopïau wrth gefn yn rhywle. Daw hyn yn eithaf cymhleth ac mae angen system offeryniaeth.

Yn flaenorol, roedd pob cais yn cael ei drin gan weinydd ar wahân - gallai unrhyw newidiadau yn ei weithrediad effeithio ar ddefnyddioldeb y rhaglen. Diolch i gynwysyddion, mae cymwysiadau'n dod yn ynysig ac yn rhedeg ar wahân - pob un ar ei beiriant rhithwir ei hun. Os bydd methiant yn digwydd, nid oes angen gwastraffu amser yn chwilio am yr achos. Mae'n haws dinistrio'r hen gynhwysydd ac ychwanegu un newydd. ”

6. Systemau ffurfweddu: Cogydd, Ansible, Pyped

Pan fydd angen i chi gynnal fflyd gyfan o weinyddion, mae'n rhaid i chi wneud llawer o'r un math o weithrediadau. Mae'n hir ac yn anodd, ac mae gwaith llaw hefyd yn cynyddu'r siawns o gamgymeriadau. Dyma lle mae systemau cyfluniad yn dod i'r adwy. Gyda'u cymorth, maen nhw'n creu sgript sy'n hawdd ei darllen ar gyfer rhaglenwyr, peirianwyr DevOps, a gweinyddwyr system. Mae'r sgript hon yn helpu i gyflawni'r un gweithrediadau ar weinyddion yn awtomatig. Mae hyn yn lleihau gweithrediadau llaw (ac felly gwallau).

Pa fath o yrfa y gall peiriannydd DevOps ei hadeiladu?

Gallwch chi ddatblygu yn llorweddol ac yn fertigol.

Igor Boyko: “O safbwynt datblygiad llorweddol, bellach mae gan beirianwyr DevOps y rhagolygon ehangaf. Mae popeth yn newid yn gyson, a gallwch feithrin sgiliau mewn amrywiaeth o feysydd: o systemau rheoli fersiynau i fonitro, o reoli cyfluniad i gronfeydd data.

Gallwch ddod yn bensaer system os oes gan weithiwr ddiddordeb mewn deall sut mae cymhwysiad yn gweithio ar bob cam o'i gylch bywyd - o ddatblygiad i gefnogaeth."

Sut i ddod yn beiriannydd DevOps?

  1. Darllenwch The Phoenix Project a Llawlyfr DevOps. Dyma bileri go iawn athroniaeth DevOps, gyda'r cyntaf yn waith ffuglen.
  2. Dysgwch dechnolegau o'r rhestr uchod: ar eich pen eich hun neu trwy gyrsiau ar-lein.
  3. Ymunwch fel peiriannydd DevOps ar gyfer prosiect ffynhonnell agored.
  4. Ymarfer a chynnig arferion DevOps ar eich prosiectau personol a gwaith.

Ffynhonnell: hab.com

Ychwanegu sylw