Pwy yw DevOps a phryd nad oes ei angen?

Pwy yw DevOps a phryd nad oes ei angen?

Mae DevOps wedi dod yn bwnc poblogaidd iawn dros yr ychydig flynyddoedd diwethaf. Mae llawer o bobl yn breuddwydio am ymuno ag ef, ond, fel y dengys arfer, yn aml dim ond oherwydd lefel y cyflogau.

Mae rhai pobl yn rhestru DevOps ar eu hailddechrau, er nad ydyn nhw bob amser yn gwybod nac yn deall hanfod y term. Mae rhai pobl yn meddwl, ar ôl astudio Ansible, GitLab, Jenkins, Terraform ac yn y blaen (gellir parhau â'r rhestr yn ôl eich chwaeth), y byddwch yn dod yn “ddadvopsist” ar unwaith. Nid yw hyn, wrth gwrs, yn wir.

Am yr ychydig flynyddoedd diwethaf, rwyf wedi bod yn ymwneud yn bennaf â gweithredu DevOps mewn amrywiol gwmnïau. Cyn hynny, bu'n gweithio am fwy nag 20 mlynedd mewn swyddi yn amrywio o weinyddwr system i gyfarwyddwr TG. Peiriannydd Arweiniol DevOps yn Playgendary ar hyn o bryd.

Pwy yw DevOps

Cododd y syniad i ysgrifennu erthygl ar ôl cwestiwn arall: “pwy yw DevOps?” Nid oes term sefydledig o hyd am beth na phwy ydyw. Mae rhai o'r atebion eisoes yn hyn fideo. Yn gyntaf, byddaf yn tynnu sylw at y prif bwyntiau ohono, ac yna byddaf yn rhannu fy sylwadau a'm meddyliau.

Nid yw DevOps yn arbenigwr y gellir ei gyflogi, nid set o gyfleustodau, ac nid adran o ddatblygwyr gyda pheirianwyr.

Athroniaeth a methodoleg yw DevOps.

Mewn geiriau eraill, mae'n set o arferion sy'n helpu datblygwyr i ryngweithio'n weithredol â gweinyddwyr system. Hynny yw, cysylltu ac integreiddio prosesau gwaith i'w gilydd.

Gyda dyfodiad DevOps, arhosodd strwythur a rolau arbenigwyr yr un peth (mae yna ddatblygwyr, mae yna beirianwyr), ond mae'r rheolau rhyngweithio wedi newid. Mae'r ffiniau rhwng adrannau wedi pylu.

Gellir disgrifio nodau DevOps mewn tri phwynt:

  • Rhaid diweddaru'r meddalwedd yn rheolaidd.
  • Rhaid gwneud meddalwedd yn gyflym.
  • Dylid defnyddio'r feddalwedd yn gyfleus ac mewn amser byr.

Nid oes un offeryn ar gyfer DevOps. Nid yw ffurfweddu, cyflwyno ac astudio sawl cynnyrch yn golygu bod DevOps wedi ymddangos yn y cwmni. Mae yna lawer o offer ac maen nhw i gyd yn cael eu defnyddio ar wahanol gamau, ond yn cyflawni un pwrpas cyffredin.

Pwy yw DevOps a phryd nad oes ei angen?
A dim ond rhan o offer DevOps yw hyn

Rwyf wedi bod yn cyfweld â phobl ar gyfer swydd peiriannydd DevOps ers mwy na 2 flynedd bellach, ac rwyf wedi dod i sylweddoli pa mor bwysig yw deall hanfod y term yn glir. Rwyf wedi cronni profiadau, arsylwadau a meddyliau penodol yr wyf am eu rhannu.

O brofiad cyfweliad, gwelaf y llun canlynol: mae gan arbenigwyr sy'n ystyried DevOps teitl swydd fel arfer gamddealltwriaeth gyda chydweithwyr.

Cafwyd enghraifft drawiadol. Daeth dyn ifanc i gyfweliad gyda llawer o eiriau smart ar ei ailddechrau. Yn ei dair swydd ddiwethaf, roedd ganddo 5-6 mis o brofiad. Gadewais ddau fusnes cychwynnol oherwydd “ni wnaethant ddechrau.” Ond am y trydydd cwmni, dywedodd nad oes unrhyw un yn ei ddeall yno: mae'r datblygwyr yn ysgrifennu cod ar Windows, ac mae'r cyfarwyddwr yn gorfodi'r cod hwn i gael ei “lapio” mewn Docker rheolaidd a'i gynnwys yn y biblinell CI / CD. Dywedodd y dyn lawer o bethau negyddol am ei weithle presennol a’i gydweithwyr - roeddwn i eisiau ateb: “Felly ni fyddwch yn gwerthu eliffant.”

Yna gofynnais gwestiwn iddo sy'n uchel ar fy rhestr ar gyfer pob ymgeisydd.

- Beth mae DevOps yn ei olygu i chi'n bersonol?
- Yn gyffredinol neu sut ydw i'n ei ganfod?

Roedd gen i ddiddordeb yn ei farn bersonol. Roedd yn gwybod theori a tharddiad y term, ond roedd yn anghytuno'n gryf â nhw. Roedd yn credu mai teitl swydd oedd DevOps. Dyma lle mae gwraidd ei broblemau. Yn ogystal ag arbenigwyr eraill sydd â'r un farn.

Mae cyflogwyr, ar ôl clywed llawer am “hud DevOps”, eisiau dod o hyd i berson a fydd yn dod i greu’r “hud” hwn. Ac nid yw ymgeiswyr o'r categori “DevOps is a job” yn deall na fyddant yn gallu bodloni disgwyliadau gyda'r dull hwn. Ac, yn gyffredinol, fe wnaethon nhw ysgrifennu DevOps ar eu hailddechrau oherwydd ei fod yn duedd ac maen nhw'n talu llawer amdano.

Methodoleg ac athroniaeth DevOps

Gall y fethodoleg fod yn ddamcaniaethol ac yn ymarferol. Yn ein hachos ni, dyma'r ail un. Fel y soniais uchod, mae DevOps yn set o arferion a strategaethau a ddefnyddir i gyflawni nodau a nodwyd. Ac ym mhob achos, yn dibynnu ar brosesau busnes y cwmni, gall fod yn sylweddol wahanol. Sydd ddim yn ei wneud yn well nac yn waeth.

Dim ond ffordd o gyflawni nodau yw methodoleg DevOps.

Nawr am beth yw athroniaeth DevOps. Ac mae'n debyg mai dyma'r cwestiwn anoddaf.

Mae’n eithaf anodd llunio ateb byr a chryno, oherwydd nid yw wedi’i ffurfioli eto. A chan fod ymlynwyr athroniaeth DevOps yn cymryd mwy o ran mewn ymarfer, yn syml iawn, nid oes amser i athronyddu. Fodd bynnag, mae hon yn broses bwysig iawn. Ar ben hynny, mae'n uniongyrchol gysylltiedig â gweithgareddau peirianneg. Mae hyd yn oed maes arbenigol o wybodaeth - athroniaeth technoleg.

Nid oedd pwnc o'r fath yn fy mhrifysgol, roedd yn rhaid i mi astudio popeth ar fy mhen fy hun gan ddefnyddio'r deunyddiau y gallwn i ddod o hyd iddynt yn y 90au. Mae'r pwnc yn ddewisol ar gyfer addysg beirianneg, a dyna pam nad yw'r ateb wedi'i ffurfioli. Ond mae'r bobl hynny sy'n cael eu trochi'n ddifrifol yn DevOps yn dechrau teimlo rhywfaint o “ysbryd” neu “gynhwysedd anymwybodol” o holl brosesau'r cwmni.

Gan ddefnyddio fy mhrofiad fy hun, ceisiais ffurfioli rhai o “resymau” yr athroniaeth hon. Mae'r canlyniad fel a ganlyn:

  • Nid yw DevOps yn rhywbeth annibynnol y gellir ei wahanu i faes gwybodaeth neu weithgaredd ar wahân.
  • Dylai holl weithwyr y cwmni gael eu harwain gan fethodoleg DevOps wrth gynllunio eu gweithgareddau.
  • Mae DevOps yn effeithio ar bob proses o fewn cwmni.
  • Mae DevOps yn bodoli i leihau costau amser ar gyfer unrhyw brosesau o fewn cwmni i sicrhau datblygiad ei wasanaethau a'r cysur mwyaf posibl i gwsmeriaid.
  • DevOps, mewn iaith fodern, yw sefyllfa ragweithiol pob gweithiwr yn y cwmni, gyda'r nod o leihau costau amser a gwella ansawdd y cynhyrchion TG o'n cwmpas.

Rwy’n meddwl bod fy “postulates” yn bwnc ar wahân i’w drafod. Ond nawr mae rhywbeth i adeiladu arno.

Beth mae DevOps yn ei wneud

Y gair allweddol yma yw cyfathrebu. Mae yna lawer o gyfathrebiadau, a dylai'r cychwynnwr fod yn union yr un peiriannydd DevOps. Pam hynny? Oherwydd mai athroniaeth a methodoleg yw hyn, a dim ond wedyn gwybodaeth beirianneg.

Ni allaf siarad â hyder 100% am farchnad lafur y Gorllewin. Ond rwy'n gwybod cryn dipyn am y farchnad DevOps yn Rwsia. Yn ogystal â channoedd o gyfweliadau, dros y flwyddyn a hanner ddiwethaf rwyf wedi cymryd rhan mewn cannoedd o ragwerthu technegol ar gyfer y gwasanaeth “Gweithredu DevOps” ar gyfer cwmnïau a banciau mawr Rwsia.

Yn Rwsia, mae DevOps yn dal i fod yn bwnc ifanc iawn, ond sydd eisoes yn tueddu. Hyd y gwn, ym Moscow yn unig roedd prinder arbenigwyr o'r fath yn 2019 yn fwy na 1000 o bobl. Ac mae'r gair Kubernetes am gyflogwyr bron yn debyg i glwt coch am darw. Mae ymlynwyr yr offeryn hwn yn barod i'w ddefnyddio hyd yn oed lle nad yw'n angenrheidiol ac yn broffidiol yn economaidd. Nid yw'r cyflogwr bob amser yn deall ym mha achosion beth sy'n fwy priodol i'w ddefnyddio, a chyda defnydd priodol, mae cynnal clwstwr Kubernetes yn costio 2-3 gwaith yn fwy na defnyddio cais gan ddefnyddio cynllun clwstwr confensiynol. Defnyddiwch ef lle mae gwir ei angen arnoch.

Pwy yw DevOps a phryd nad oes ei angen?

Mae gweithredu DevOps yn ddrud o ran arian. A dim ond lle mae'n dod â manteision economaidd mewn meysydd eraill, ac nid ar ei ben ei hun, y gellir ei gyfiawnhau.

Mae peirianwyr DevOps, mewn gwirionedd, yn arloeswyr - nhw yw'r rhai a ddylai fod y rhai cyntaf i weithredu'r fethodoleg hon yn y prosesau cwmni ac adeiladu. Er mwyn i hyn fod yn llwyddiannus, rhaid i'r arbenigwr ryngweithio'n gyson â gweithwyr a chydweithwyr ar bob lefel. Fel y dywedaf fel arfer, dylai holl weithwyr y cwmni fod yn rhan o broses weithredu DevOps: o'r wraig lanhau i'r Prif Swyddog Gweithredol. Ac mae hyn yn rhagofyniad. Os nad yw aelod iau'r tîm yn gwybod ac yn deall beth yw DevOps a pham mae rhai gweithredoedd sefydliadol yn cael eu cyflawni, yna ni fydd gweithredu llwyddiannus yn gweithio.

Hefyd, mae angen i beiriannydd DevOps ddefnyddio adnodd gweinyddol o bryd i'w gilydd. Er enghraifft, i oresgyn “gwrthiant amgylcheddol” - pan nad yw'r tîm yn barod i dderbyn offer a methodoleg DevOps.

Dylai'r datblygwr ysgrifennu cod a phrofion yn unig. I wneud hyn, nid oes angen gliniadur hynod bwerus arno y bydd yn ei ddefnyddio ac yn cefnogi seilwaith cyfan y prosiect yn lleol. Er enghraifft, mae datblygwr pen blaen yn cadw holl elfennau'r cais ar ei liniadur, gan gynnwys y gronfa ddata, efelychydd S3 (minio), ac ati. Hynny yw, mae'n treulio llawer o amser yn cynnal y seilwaith lleol hwn ac yn brwydro ar ei ben ei hun â holl broblemau ateb o'r fath. Yn lle datblygu cod ar gyfer y blaen. Gall pobl o'r fath fod yn wrthwynebus iawn i unrhyw newid.

Ond mae yna dimau sydd, i'r gwrthwyneb, yn hapus i gyflwyno offer a dulliau newydd, ac yn cymryd rhan weithredol yn y broses hon. Er hyd yn oed yn yr achos hwn, ni chafodd y cyfathrebu rhwng peiriannydd DevOps a'r tîm ei ganslo.

Pan nad oes angen DevOps

Mae yna sefyllfaoedd pan nad oes angen DevOps. Mae hyn yn ffaith - mae angen ei deall a'i derbyn.

Yn gyntaf oll, mae hyn yn berthnasol i unrhyw gwmnïau (yn enwedig busnesau bach), pan nad yw eu helw yn dibynnu'n uniongyrchol ar bresenoldeb neu absenoldeb cynhyrchion TG sy'n darparu gwasanaethau gwybodaeth i gleientiaid. A dyma ni ddim yn sôn am wefan y cwmni, boed yn “gerdyn busnes” statig neu gyda blociau newyddion deinamig, ac ati.

Mae angen DevOps pan fydd boddhad eich cleient a'i awydd i ddychwelyd atoch eto yn dibynnu ar argaeledd y gwasanaethau gwybodaeth hyn ar gyfer rhyngweithio â'r cleient, eu hansawdd a'u targedu.

Enghraifft drawiadol yw un banc adnabyddus. Nid oes gan y cwmni'r swyddfeydd cleient arferol, mae llif dogfennau'n cael ei wneud trwy'r post neu negeswyr, ac mae llawer o weithwyr yn gweithio gartref. Mae'r cwmni wedi peidio â bod yn fanc yn unig ac, yn fy marn i, mae wedi troi'n gwmni TG gyda thechnolegau DevOps datblygedig.

Gellir dod o hyd i lawer o enghreifftiau a darlithoedd eraill yn y recordiadau o gyfarfodydd thematig a chynadleddau. Ymwelais â rhai ohonynt yn bersonol - mae hwn yn brofiad defnyddiol iawn i'r rhai sydd am ddatblygu i'r cyfeiriad hwn. Dyma ddolenni i sianeli YouTube gyda darlithoedd a deunyddiau da ar DevOps:

Nawr edrychwch ar eich busnes a meddyliwch am hyn: Faint mae eich cwmni a'i elw yn dibynnu ar gynhyrchion TG i alluogi rhyngweithio cwsmeriaid?

Os yw'ch cwmni'n gwerthu pysgod mewn siop fach a'r unig gynnyrch TG yw dau ffurfweddiad 1C: Menter (Cyfrifo ac UNF), yna go brin ei bod yn gwneud synnwyr i siarad am DevOps.

Os ydych chi'n gweithio mewn menter fasnachu a gweithgynhyrchu fawr (er enghraifft, rydych chi'n cynhyrchu reifflau hela), yna dylech chi feddwl am y peth. Gallwch gymryd yr awenau a chyfleu i'ch rheolwyr y rhagolygon ar gyfer gweithredu DevOps. Wel, ac ar yr un pryd, arwain y broses hon. Mae sefyllfa ragweithiol yn un o ddaliadau pwysig athroniaeth DevOps.

Nid maint a maint y trosiant ariannol blynyddol yw'r prif faen prawf ar gyfer penderfynu a oes angen DevOps ar eich cwmni.

Gadewch i ni ddychmygu menter ddiwydiannol fawr nad yw'n rhyngweithio'n uniongyrchol â chwsmeriaid. Er enghraifft, mae rhai gwneuthurwyr ceir a chwmnïau gweithgynhyrchu ceir. Dydw i ddim yn siŵr nawr, ond o fy mhrofiad yn y gorffennol, am flynyddoedd lawer roedd yr holl ryngweithio â chwsmeriaid yn cael ei wneud trwy e-bost a ffôn.

Mae eu cleientiaid yn rhestr gyfyngedig o werthwyr ceir. Ac mae pob un yn cael arbenigwr gan y gwneuthurwr. Mae'r holl lif dogfennau mewnol yn digwydd trwy SAP ERP. Yn y bôn, cleientiaid y system wybodaeth yw gweithwyr mewnol. Ond mae'r GG hwn yn cael ei reoli gan ddulliau clasurol o reoli systemau clwstwr. Sy'n eithrio'r posibilrwydd o ddefnyddio arferion DevOps.

Felly'r casgliad: ar gyfer mentrau o'r fath, nid yw gweithredu DevOps yn hanfodol bwysig, os ydym yn cofio nodau'r fethodoleg o ddechrau'r erthygl. Ond nid wyf yn diystyru eu bod yn defnyddio rhai offer DevOps heddiw.

Ar y llaw arall, mae yna lawer o gwmnïau bach sy'n datblygu meddalwedd gan ddefnyddio methodoleg, athroniaeth, arferion ac offer DevOps. Ac maen nhw'n credu mai cost gweithredu DevOps yw'r gost sy'n caniatáu iddynt gystadlu'n effeithiol yn y farchnad feddalwedd. Gellir gweld enghreifftiau o gwmnïau o'r fath yma.

Y prif faen prawf ar gyfer deall a oes angen DevOps: pa werth sydd gan eich cynhyrchion TG i'r cwmni a'r cwsmeriaid.

Os mai meddalwedd yw prif gynnyrch y cwmni sy'n cynhyrchu elw, mae angen DevOps arnoch chi. Ac nid yw mor bwysig os ydych chi'n ennill arian go iawn gan ddefnyddio cynhyrchion eraill. Mae hyn hefyd yn cynnwys siopau ar-lein neu gymwysiadau symudol gyda gemau.

Mae unrhyw gemau yn bodoli diolch i gyllid: uniongyrchol neu anuniongyrchol gan y chwaraewyr. Yn Playgendary, rydym yn datblygu gemau symudol am ddim gyda dros 200 o bobl yn ymwneud yn uniongyrchol â'u creu. Sut ydyn ni'n defnyddio DevOps?

Ydy, yn union yr un fath ag a ddisgrifir uchod. Rwy'n cyfathrebu'n gyson â datblygwyr a phrofwyr, ac yn cynnal hyfforddiant mewnol i weithwyr ar fethodoleg ac offer DevOps.

Rydym bellach yn defnyddio Jenkins yn weithredol fel offeryn piblinellau CI/CD ar gyfer gweithredu'r holl biblinellau cydosod gydag Unity a'u gosod wedyn i'r App Store a Play Market. Mwy o'r pecyn cymorth clasurol:

  • Asana - ar gyfer rheoli prosiect. Mae integreiddio â Jenkins wedi'i ffurfweddu.
  • Google Meet - ar gyfer cyfarfodydd fideo.
  • Slack - ar gyfer cyfathrebu a rhybuddion amrywiol, gan gynnwys hysbysiadau gan Jenkins.
  • Atlassian Confluence - ar gyfer dogfennaeth a gwaith grŵp.

Mae ein cynlluniau uniongyrchol yn cynnwys cyflwyno dadansoddiad cod statig gan ddefnyddio SonarQube a chynnal profion UI awtomataidd gan ddefnyddio Seleniwm ar y cam Integreiddio Parhaus.

Yn hytrach na i gasgliad

Hoffwn orffen gyda'r meddwl canlynol: i ddod yn beiriannydd DevOps cymwys iawn, mae'n hanfodol dysgu sut i gyfathrebu'n fyw â phobl.

Mae peiriannydd DevOps yn chwaraewr tîm. A dim byd arall. Dylai'r fenter wrth gyfathrebu â chydweithwyr ddod oddi wrtho ef, ac nid o dan ddylanwad rhai amgylchiadau. Rhaid i arbenigwr DevOps weld a chynnig yr ateb gorau ar gyfer y tîm.

Ac ie, bydd gweithredu unrhyw ateb yn gofyn am lawer o drafod, ac erbyn y diwedd efallai y bydd yn newid yn gyfan gwbl. Gan ddatblygu'n annibynnol, cynnig a gweithredu ei syniadau, mae person o'r fath o werth cynyddol i'r tîm ac i'r cyflogwr. Sydd, yn y pen draw, yn cael ei adlewyrchu yn swm ei dâl misol neu ar ffurf taliadau bonws ychwanegol.

Ffynhonnell: hab.com

Ychwanegu sylw