Poukisa DevOps nesesè e ki moun ki espesyalis DevOps?

Lè yon aplikasyon pa mache, dènye bagay ou vle tande kòlèg ou yo se fraz "pwoblèm nan bò kote w." Kòm yon rezilta, itilizatè yo soufri - epi yo pa pran swen ki pati nan ekip la ki responsab pou pann lan. Kilti DevOps te parèt jisteman pou pote devlopman ak sipò ansanm alantou yon responsablite pataje pou pwodwi final la.

Ki pratik ki enkli nan konsèp DevOps e poukisa yo bezwen yo? Kisa enjenyè DevOps fè ak sa yo ta dwe kapab fè? Ekspè nan EPAM reponn kesyon sa yo ak lòt kesyon: Kirill Sergeev, enjenyè sistèm ak evanjelis DevOps, ak Igor Boyko, enjenyè sistèm dirijan ak kowòdonatè youn nan ekip DevOps konpayi an.

Poukisa DevOps nesesè e ki moun ki espesyalis DevOps?

Poukisa DevOps nesesè?

Précédemment, te gen yon baryè ant devlopè ak sipò (sa yo rele operasyon). Li son paradoks, men yo te gen diferan objektif ak KPIs, byenke yo te fè menm bagay la. Objektif devlopman an se te aplike kondisyon biznis pi vit ke posib epi ajoute yo nan yon pwodwi k ap travay. Sipò te responsab pou asire ke aplikasyon an te travay estab - ak nenpòt chanjman ki mete estabilite nan risk. Gen yon konfli enterè - DevOps parèt pou rezoud li.

Ki sa ki DevOps?

Li se yon bon kesyon - ak yon sèl kontwovèsyal: mond lan poko finalman dakò sou sa a. EPAM kwè ke DevOps konbine teknoloji, pwosesis ak yon kilti entèraksyon nan yon ekip. Asosyasyon sa a gen pou objaktif pou kontinyèlman delivre valè bay itilizatè final yo.

Kiril Sergeev: "Devlopè yo ekri kòd, tèsteur yo revize li, epi administratè yo deplwaye pwodwi final la nan pwodiksyon an. Pou yon tan long, pati sa yo nan ekip la te yon ti jan gaye, ak Lè sa a, lide a leve yo ini yo atravè yon pwosesis komen. Men ki jan pratik DevOps te parèt.”

Jou a te rive lè devlopè ak enjenyè sistèm te vin enterese nan travay youn lòt. Baryè ki genyen ant pwodiksyon ak sipò yo te kòmanse disparèt. Sa a se ki jan DevOps parèt, ki gen ladan pratik, kilti ak entèraksyon ekip.

Poukisa DevOps nesesè e ki moun ki espesyalis DevOps?

Ki sa ki sans nan kilti DevOps?

Reyalite a se ke responsablite pou rezilta final la se nan chak manm ekip. Bagay ki pi enteresan ak difisil nan filozofi DevOps la se konprann ke yon moun espesifik pa sèlman responsab pou pwòp etap travay li, men li responsab pou jan tout pwodwi a pral travay. Pwoblèm nan pa kouche sou bò pèsonn - li pataje, epi chak manm ekip ede yo rezoud li.

Bagay ki pi enpòtan nan yon kilti DevOps se rezoud pwoblèm nan, pa jis aplike pratik DevOps. Anplis, pratik sa yo pa aplike "sou bò yon moun", men nan tout pwodwi a. Yon pwojè pa bezwen yon enjenyè DevOps per se - li bezwen yon solisyon pou yon pwoblèm, epi wòl yon enjenyè DevOps ka distribye pami plizyè manm ekip ki gen diferan espesyalizasyon.

Ki kalite pratik DevOps yo ye?

Pratik DevOps kouvri tout etap nan sik lavi lojisyèl an.

Igor Boyko: "Ka ideyal la se lè nou kòmanse itilize pratik DevOps nan kòmansman yon pwojè. Ansanm ak achitèk yo, nou planifye ki jaden flè achitekti aplikasyon an pral genyen, ki kote li pral lokalize ak ki jan yo echèl, epi chwazi yon platfòm. Sèjousi, achitekti mikwosèvis yo alamòd; pou li nou chwazi yon sistèm orchestration: ou bezwen kapab jere chak eleman nan aplikasyon an separeman epi mete ajou li poukont lòt yo. Yon lòt pratik se "enfrastrikti kòm kòd." Sa a se non an pou yon apwòch nan ki enfrastrikti pwojè a kreye ak jere lè l sèvi avèk kòd, olye ke atravè entèraksyon dirèk ak sèvè.

Apre sa, nou ale nan etap devlopman an. Youn nan pi gwo pratik isit la se bati CI/CD: ou bezwen ede devlopè yo entegre chanjman nan pwodwi a byen vit, nan ti pòsyon, pi souvan ak san doulè. CI/CD kouvri revizyon kòd, telechaje mèt la nan baz kòd la, ak deplwaye aplikasyon an nan tès ak pwodiksyon anviwònman.

Nan etap yo CI/CD, kòd la pase nan pòtay bon jan kalite. Avèk èd yo, yo tcheke si kòd ki soti nan estasyon travay pwomotè a satisfè kritè kalite espesifye yo. Yo ajoute tès inite ak UI isit la. Pou deplwaman pwodwi rapid, san doulè ak konsantre, ou ka chwazi kalite deplwaman ki apwopriye a.

Pratikan DevOps yo tou gen yon plas nan etap nan sipòte pwodwi a fini. Yo itilize yo pou kontwole, fidbak, sekirite, ak entwodwi chanjman. DevOps gade tout travay sa yo nan yon pèspektiv amelyorasyon kontinyèl. Nou minimize operasyon repetitif ak otomatize yo. Sa a gen ladan tou migrasyon, ekspansyon aplikasyon, ak sipò pèfòmans."

Ki benefis pratik DevOps yo genyen?

Si nou t ap ekri yon liv sou pratik modèn DevOps, ta gen twa pwen nan premye paj la: automatisation, akselere lage, ak fidbak rapid nan men itilizatè yo.

Kiril Sergeev: "Premye bagay la se automatisation. Nou ka otomatize tout entèraksyon nan ekip la: ekri kòd la - woule li soti - tcheke li - enstale li - kolekte fidbak - retounen nan kòmansman an. Tout bagay sa a se otomatik.

Dezyèm lan ap akselere liberasyon an e menm senplifye devlopman. Li toujou enpòtan pou kliyan an ke pwodwi a antre nan mache a pi vit ke posib epi li kòmanse bay benefis pi bonè pase analogue konpetitè yo. Pwosesis livrezon pwodwi a ka amelyore san rete: diminye tan, ajoute mak kontwòl adisyonèl, amelyore siveyans.

Twazyèmman se akselerasyon nan fidbak itilizatè. Si li gen kòmantè, nou ka imedyatman fè ajisteman epi mete ajou aplikasyon an imedyatman."

Poukisa DevOps nesesè e ki moun ki espesyalis DevOps?

Ki jan konsèp "enjenyè sistèm", "enjenyè bati" ak "enjenyè DevOps" gen rapò?

Yo sipèpoze, men yo fè pati zòn yon ti kras diferan.

Enjenyè sistèm nan EPAM se yon pozisyon. Yo vini nan diferan nivo: soti nan jinyò nan espesyalis an chèf.

Yon enjenyè bati se plis nan yon wòl ki ka fèt sou yon pwojè. Kounye a se sa yo rele moun ki responsab CI/CD.

Yon enjenyè DevOps se yon espesyalis ki aplike pratik DevOps sou yon pwojè.

Si nou rezime tout, nou jwenn yon bagay tankou sa a: yon moun nan pozisyon yon enjenyè sistèm jwe wòl yon enjenyè bati sou yon pwojè epi li patisipe nan aplikasyon an nan pratik DevOps la.

Ki sa egzakteman yon enjenyè DevOps fè?

Enjenyè DevOps mete ansanm tout moso ki fòme yon pwojè. Yo konnen spesifik yo nan travay pwogramè yo, tèsteur, administratè sistèm epi ede senplifye travay yo. Yo konprann bezwen yo ak egzijans biznis la, wòl li nan pwosesis devlopman - epi bati pwosesis la pran an kont enterè yo nan kliyan an.

Nou te pale anpil sou automatisation - sa a se sa enjenyè DevOps fè fas ak premye ak premye. Sa a se yon pwen trè gwo, ki, pami lòt bagay, gen ladan prepare anviwònman an.

Kiril Sergeev: "Anvan mete ajou nan pwodwi a, yo bezwen teste nan yon anviwònman twazyèm pati. Li prepare pa enjenyè DevOps. Yo enstile yon kilti DevOps sou pwojè a kòm yon antye: yo prezante pratik DevOps nan tout kouch pwojè yo. Twa prensip sa yo: automatisation, senplifikasyon, akselerasyon - yo pote tout kote yo ka rive."

Kisa yon enjenyè DevOps ta dwe konnen?

An jeneral, li dwe gen konesans nan diferan domèn: pwogramasyon, travay ak sistèm operasyon, baz done, asanble ak sistèm konfigirasyon. Sa yo konplete pa kapasite nan travay ak enfrastrikti nwaj, orchestration ak sistèm siveyans.

1. Lang pwogramasyon

Enjenyè DevOps yo konnen plizyè lang debaz pou automatisation epi yo ka, pou egzanp, di yon pwogramè: "Kouman w ap enstale kòd la pa alamen, men lè l sèvi avèk script nou an, ki otomatize tout bagay? Nou pral prepare yon fichye konfigirasyon pou li, li pral bon pou nou menm ak pou nou li, epi nou pral kapab chanje li a nenpòt ki lè. Nou pral wè tou ki moun, ki lè ak poukisa fè chanjman nan li."

Yon enjenyè DevOps ka aprann youn oswa plis nan lang sa yo: Python, Groovy, Bash, Powershell, Ruby, Go. Li pa nesesè pou konnen yo nan yon nivo pwofon - Basics yo nan sentaks, prensip OOP, ak kapasite nan ekri Scripts senp pou automatisation yo ase.

2. Sistèm operasyon yo

Yon enjenyè DevOps dwe konprann sou ki sèvè pwodwi a pral enstale, nan ki anviwònman li pral kouri, ak ki sèvis li pral kominike avèk yo. Ou ka chwazi espesyalize nan Windows oswa fanmi Linux.

3. Sistèm kontwòl vèsyon yo

San yo pa konnen yon sistèm kontwòl vèsyon, yon enjenyè DevOps pa gen okenn kote. Git se youn nan sistèm ki pi popilè nan moman sa a.

4. Founisè nwaj yo

AWS, Google, Azure - sitou si nou ap pale sou direksyon Windows la.

Kiril Sergeev: " Founisè Cloud yo bay nou sèvè vityèl ki anfòm parfe nan CI/CD.

Enstale dis serveurs fizik mande apeprè yon santèn operasyon manyèl. Chak sèvè dwe manyèlman te lanse, enstale ak konfigirasyon sistèm opere ki nesesè yo, enstale aplikasyon nou an sou dis serveurs sa yo, ak Lè sa a, doub tcheke tout bagay dis fwa. Sèvis Cloud ranplase pwosedi sa a ak dis liy kòd, epi yon bon enjenyè DevOps ta dwe kapab opere avèk yo. Sa a ekonomize tan, efò ak lajan - tou de pou kliyan an ak pou konpayi an."

5. Sistèm orchestrasyon: Docker ak Kubernetes

Kiril Sergeev: "Sèvè vityèl yo divize an resipyan, nan chak nan yo nou ka enstale aplikasyon nou an. Lè gen anpil kontenè, ou bezwen jere yo: limen youn, fèmen yon lòt, fè sovgad yon kote. Sa a vin byen konplèks epi li mande pou yon sistèm orchestration.

Anvan sa, chak aplikasyon te okipe pa yon sèvè separe - nenpòt chanjman nan operasyon li yo te kapab afekte sèvis la nan aplikasyon an. Mèsi a resipyan, aplikasyon yo vin izole epi kouri separeman - chak sou pwòp machin vityèl li yo. Si yon echèk rive, pa gen okenn nesesite pou pèdi tan pou chèche kòz la. Li pi fasil pou detwi ansyen veso a epi ajoute yon nouvo.

6. Sistèm konfigirasyon: Chef, Ansible, Puppet

Lè ou bezwen kenbe yon flòt antye nan serveurs, ou dwe fè yon anpil nan menm kalite operasyon yo. Li se long ak difisil, ak travay manyèl tou ogmante chans pou erè. Sa a se kote sistèm konfigirasyon vin sekou. Avèk èd yo, yo kreye yon script ki fasil pou pwogramè yo, enjenyè DevOps ak administratè sistèm yo. Script sa a ede pote soti nan menm operasyon yo sou serveurs otomatikman. Sa a diminye operasyon manyèl (ak Se poutèt sa erè).

Ki kalite karyè yon enjenyè DevOps ka bati?

Ou ka devlope tou de orizontal ak vètikal.

Igor Boyko: "Soti nan pwen de vi nan devlopman orizontal, enjenyè DevOps kounye a gen kandida yo pi laj. Tout bagay toujou ap chanje, epi ou ka devlope ladrès nan yon varyete de domèn: soti nan sistèm kontwòl vèsyon yo siveyans, soti nan jesyon konfigirasyon nan baz done.

Ou ka vin yon achitèk sistèm si yon anplwaye enterese konprann ki jan yon aplikasyon travay nan tout etap sik lavi li - soti nan devlopman jiska sipò."

Ki jan yo vin yon enjenyè DevOps?

  1. Li Pwojè Phoenix ak Manyèl DevOps la. Sa yo se poto yo reyèl nan filozofi DevOps la, ak premye a se yon travay nan fiksyon.
  2. Aprann teknoloji nan lis ki anwo a: poukont ou oswa atravè kou sou entènèt.
  3. Antre nan kòm yon enjenyè DevOps pou yon pwojè sous louvri.
  4. Pratike epi ofri pratik DevOps sou pwojè pèsonèl ak travay ou.

Sous: www.habr.com

Add nouvo kòmantè