Gid DevOps pou débutan

Ki enpòtans DevOps, ki sa sa vle di pou pwofesyonèl IT, yon deskripsyon metòd, kad ak zouti.

Gid DevOps pou débutan

Gen anpil bagay ki te pase depi tèm DevOps la te pran nan mond IT la. Avèk anpil nan sous louvri ekosistèm lan, li enpòtan pou rekonsidere poukisa li te kòmanse ak sa sa vle di pou yon karyè nan IT.

Ki sa ki DevOps

Pandan ke pa gen yon sèl definisyon, mwen kwè ke DevOps se yon fondasyon teknoloji ki pèmèt kolaborasyon ant ekip devlopman ak operasyon yo deplwaye kòd pi vit nan anviwònman pwodiksyon ak kapasite nan iterasyon ak otomatize. Nou pral pase rès atik sa a pou debake reklamasyon sa a.

Mo "DevOps" se yon konbinezon de mo "devlopman" ak "operasyon". DevOps ede ogmante vitès livrezon aplikasyon ak sèvis yo. Sa a pèmèt òganizasyon yo efikasman sèvi kliyan yo epi yo vin pi konpetitif sou mache a. Senpleman mete, DevOps se aliyman ki genyen ant devlopman ak operasyon IT ak kominikasyon pi efikas ak kolaborasyon.

DevOps enplike yon kilti kote kolaborasyon ant devlopman, operasyon, ak ekip biznis yo konsidere kòm kritik. Li pa sèlman sou zouti, kòm DevOps nan yon òganizasyon toujou benefisye kliyan yo tou. Zouti yo se youn nan poto li yo, ansanm ak moun ak pwosesis. DevOps ogmante kapasite òganizasyon yo pou bay bon jan kalite solisyon nan pi kout tan posib. DevOps tou otomatize tout pwosesis, soti nan konstriksyon rive deplwaman, aplikasyon oswa pwodwi.

Diskisyon DevOps la konsantre sou relasyon ki genyen ant devlopè yo, moun ki ekri lojisyèl pou yo viv, ak operatè ki responsab pou kenbe lojisyèl sa a.

Defi pou ekip devlopman an

Devlopè yo gen tandans yo dwe antouzyastik ak anvi aplike nouvo apwòch ak teknoloji pou rezoud pwoblèm òganizasyonèl. Sepandan, yo tou fè fas a sèten pwoblèm:

  • Mache konpetitif la kreye anpil presyon pou delivre pwodwi a alè.
  • Yo dwe pran swen nan jere kòd pwodiksyon-pare ak entwodwi nouvo karakteristik.
  • Sik lage a ka long, kidonk ekip devlopman an dwe fè plizyè sipozisyon anvan yo aplike aplikasyon yo. Nan senaryo sa a, plis tan nesesè pou rezoud pwoblèm ki parèt pandan deplwaman nan yon anviwònman pwodiksyon oswa tès.

Defi ekip operasyon yo rankontre

Ekip operasyon yo istorikman konsantre sou estabilite ak fyab sèvis IT yo. Se poutèt sa ekip operasyon yo chèche estabilite atravè chanjman nan resous, teknoloji, oswa apwòch. Travay yo genyen ladan yo:

  • Jere alokasyon resous kòm demann ogmante.
  • Manyen chanjman konsepsyon oswa personnalisation ki nesesè pou itilize nan yon anviwònman pwodiksyon.
  • Fè dyagnostik ak rezoud pwoblèm pwodiksyon apre pwòp tèt ou deplwaman aplikasyon yo.

Ki jan DevOps rezoud pwoblèm devlopman ak operasyon yo

Olye pou yo woule yon gwo kantite karakteristik aplikasyon an nan yon fwa, konpayi yo ap eseye wè si yo ka woule yon ti kantite karakteristik nan kliyan yo atravè yon seri iterasyon lage. Apwòch sa a gen yon kantite avantaj, tankou pi bon kalite lojisyèl, pi vit fidbak kliyan, elatriye. Sa a, nan vire, asire satisfaksyon kliyan segondè. Pou reyalize objektif sa yo, konpayi yo oblije:

  • Diminye pousantaj echèk la lè yo pibliye nouvo degaje yo
  • Ogmante frekans deplwaman
  • Reyalize yon tan mwayèn pi rapid pou rekiperasyon an nan ka yon nouvo lage aplikasyon an.
  • Diminye tan pou koreksyon

DevOps fè tout travay sa yo epi li ede asire livrezon san enteripsyon. Òganizasyon yo ap itilize DevOps pou yo rive nan nivo pwodiktivite ki te inimajinabl kèk ane de sa. Yo fè plizyè dizèn, dè santèn, e menm dè milye de deplwaman chak jou pandan y ap bay fyab, estabilite, ak sekirite klas mondyal. (Aprann plis sou gwosè lot yo ak enpak yo sou livrezon lojisyèl).

DevOps eseye rezoud divès pwoblèm ki soti nan metodoloji sot pase yo, tankou:

  • Izolasyon travay ant ekip devlopman ak operasyon yo
  • Tès ak deplwaman se faz separe ki fèt apre konsepsyon ak konstriksyon epi ki mande plis tan pase sik konstriksyon.
  • Twòp tan pase tès, deplwaye, ak konsepsyon olye pou yo konsantre sou bati sèvis biznis debaz
  • Deplwaman manyèl kòd ki mennen nan erè nan pwodiksyon an
  • Diferans nan orè ekip devlopman ak operasyon yo ki lakòz reta adisyonèl

Gid DevOps pou débutan

Konfwontasyon ant DevOps, Agile ak IT tradisyonèl yo

DevOps souvan diskite an relasyon ak lòt pratik IT, patikilyèman Agile ak Waterfall IT.

Agile se yon seri prensip, valè, ak pratik pou pwodiksyon lojisyèl. Se konsa, pou egzanp, si ou gen yon lide ke ou vle transfòme nan lojisyèl, ou ka itilize prensip ak valè Agile. Men, lojisyèl sa a ka sèlman kouri nan yon anviwònman devlopman oswa tès. Ou bezwen yon fason ki senp, ki an sekirite pou avanse pou pi lojisyèl ou a nan pwodiksyon rapid ak repete, epi fason an se atravè zouti ak teknik DevOps. Devlopman lojisyèl ajil konsantre sou pwosesis devlopman ak DevOps responsab pou devlopman ak deplwaman nan fason ki pi an sekirite epi ki pi serye.

Konpare modèl kaskad tradisyonèl la ak DevOps se yon bon fason pou konprann benefis DevOps pote. Egzanp sa a sipoze aplikasyon an ap viv nan kat semèn, devlopman se 85% konplè, aplikasyon an ap viv, ak pwosesis pou achte serveurs pou voye kòd la te fèk kòmanse.

Pwosesis tradisyonèl yo
Pwosesis nan DevOps

Apre mete yon lòd pou nouvo serveurs, ekip devlopman an ap travay sou tès yo. Gwoup travay la ap travay sou gwo dokiman antrepwiz yo mande pou deplwaye enfrastrikti.
Yon fwa yo mete yon lòd pou nouvo serveurs, ekip devlopman ak operasyon yo travay ansanm sou pwosesis yo ak dokiman pou enstale nouvo serveurs yo. Sa pèmèt ou pi byen konprann kondisyon enfrastrikti ou yo.

Enfòmasyon sou failover, redondance, kote sant done yo, ak kondisyon depo yo mal reprezante paske pa gen okenn opinyon nan men yon ekip devlopman ki gen konesans pwofon nan domèn.
Detay sou failover, redondance, rekiperasyon pou katastwòf, kote sant done yo, ak egzijans depo yo konnen ak kòrèk akòz opinyon ekip devlopman an.

Ekip operasyon an pa gen okenn lide sou pwogrè ekip devlopman an. Li devlope tou yon plan siveyans ki baze sou pwòp lide li.

Ekip operasyon an konplètman okouran de pwogrè ekip devlopman an te fè. Li kominike tou ak ekip devlopman an epi yo travay ansanm pou devlope yon plan siveyans ki satisfè bezwen IT ak biznis yo. Yo menm tou yo itilize zouti siveyans pèfòmans aplikasyon (APM).

Yon tès chaj ki fèt anvan yon aplikasyon lanse lakòz aplikasyon an aksidan, retade lansman li.
Yon tès chaj fè anvan kouri yon aplikasyon rezilta nan pèfòmans pòv. Ekip devlopman an byen vit rezoud pwoblèm ak aplikasyon an lanse alè.

Sik lavi DevOps

DevOps enplike adopsyon sèten pratik jeneralman aksepte.

Planifikasyon kontinyèl

Planifikasyon kontinyèl depann sou prensip mèg pou kòmanse piti nan idantifye resous ak rezilta ki nesesè pou teste valè biznis la oswa vizyon, kontinyèlman adapte, mezire pwogrè, aprann nan bezwen kliyan yo, chanje direksyon jan sa nesesè pou akomode ladrès, ak re-envante plan biznis.

Devlopman jwenti

Pwosesis devlopman kolaboratif la pèmèt biznis, ekip devlopman, ak ekip tès yo gaye nan diferan zòn lè yo kontinye delivre bon jan kalite lojisyèl. Sa a gen ladan devlopman milti-platfòm, sipò pwogramasyon kwa-lang, kreyasyon istwa itilizatè, devlopman lide, ak jesyon sik lavi. Devlopman kolaboratif gen ladan pwosesis ak pratik entegrasyon kontinyèl, ki ankouraje entegrasyon kòd souvan ak bati otomatik. Lè yo deplwaye kòd souvan nan yon aplikasyon, pwoblèm entegrasyon yo idantifye byen bonè nan sik lavi a (lè yo pi fasil pou ranje) epi efò entegrasyon an jeneral redwi atravè fidbak kontinyèl kòm pwojè a montre pwogrè kontinyèl ak vizib.

Tès kontinyèl

Tès kontinyèl diminye pri tès la lè yo ede ekip devlopman yo balanse vitès ak bon jan kalite. Li tou elimine kou boutèy tès yo atravè sèvis Virtualization epi li fè li fasil pou kreye anviwònman tès virtualize ki ka fasilman pataje, deplwaye, ak mete ajou kòm sistèm chanje. Kapasite sa yo diminye pri pou pwovizyon ak antretyen anviwònman tès yo ak diminye tan sik tès yo, sa ki pèmèt tès entegrasyon rive pi bonè nan sik lavi a.

Kontinyèl lage ak deplwaman

Teknik sa yo pote avèk yo yon pratik debaz: lage kontinyèl ak deplwaman. Sa a se asire pa yon tiyo kontinyèl ki otomatize pwosesis kle yo. Li diminye etap manyèl yo, tan datant resous yo, ak retravay lè li pèmèt deplwaman nan peze yon bouton, sa ki lakòz plis degaje, mwens erè, ak transparans konplè.

Otomatik jwe yon wòl kle nan asire lage lojisyèl ki estab ak serye. Youn nan pi gwo defi yo se pran pwosesis manyèl tankou bati, regresion, deplwaman ak kreyasyon enfrastrikti ak otomatize yo. Sa a mande pou kontwòl vèsyon kòd sous; senaryo tès ak deplwaman; done konfigirasyon enfrastrikti ak aplikasyon; ak bibliyotèk ak pakè aplikasyon an depann sou yo. Yon lòt faktè enpòtan se kapasite nan rechèch eta a nan tout anviwònman.

Siveyans kontinyèl

Siveyans kontinyèl bay rapò antrepriz ki ede ekip devlopman yo konprann disponiblite ak pèfòmans aplikasyon yo nan anviwònman pwodiksyon anvan yo deplwaye nan pwodiksyon an. Siveyans kontinyèl bay bonjan fidbak yo enpòtan anpil pou diminye pri erè yo epi dirije pwojè yo nan bon direksyon an. Pratik sa a souvan gen ladan zouti siveyans ki tipikman revele mezi ki gen rapò ak pèfòmans aplikasyon an.

Konstan fidbak ak optimize

Feedback kontinyèl ak optimize bay yon reprezantasyon vizyèl nan koule kliyan ak identifier zòn pwoblèm. Feedback ka enkli nan tou de etap pre ak apre lavant pou maksimize valè epi asire menm plis tranzaksyon yo fini avèk siksè. Tout bagay sa yo bay vizyalizasyon imedya kòz rasin pwoblèm kliyan ki enfliyanse konpòtman yo ak enpak biznis yo.

Gid DevOps pou débutan

Benefis DevOps

DevOps ka ede kreye yon anviwonman kote devlopè ak operasyon travay an ekip pou atenn objektif komen. Yon etap enpòtan nan pwosesis sa a se aplikasyon entegrasyon kontinyèl ak livrezon kontinyèl (CI/CD). Teknik sa yo pral pèmèt ekip yo jwenn lojisyèl nan mache pi vit ak mwens pinèz.

Avantaj enpòtan DevOps yo se:

  • Previzibilite: DevOps ofri yon pousantaj echèk siyifikativman pi ba pou nouvo degaje yo.
  • Maintainability: DevOps pèmèt rekiperasyon fasil si yon nouvo lage echwe oswa yon aplikasyon desann.
  • Repwodiksyon: kontwòl vèsyon yon bati oswa kòd pèmèt ou retabli vèsyon pi bonè jan sa nesesè.
  • Pi wo Kalite: Abòde pwoblèm enfrastrikti amelyore kalite devlopman aplikasyon an.
  • Tan pou mache: Optimize livrezon lojisyèl diminye tan pou mache a 50%.
  • Rediksyon Risk: Mete an aplikasyon sekirite nan sik lavi lojisyèl an diminye kantite defo pandan tout sik lavi a.
  • Pri Efikasite: Pouswit efikasite pri nan devlopman lojisyèl apèl nan jesyon ansyen.
  • Estabilite: Sistèm lojisyèl an pi estab, an sekirite, epi yo ka kontwole chanjman yo.
  • Kraze yon pi gwo kodbaz an moso jere: DevOps baze sou metòd devlopman ajil, ki pèmèt ou kraze yon gwo kodbaz an pi piti, jere moso.

Prensip DevOps

Adopsyon DevOps te bay plizyè prensip ki te evolye (e ki kontinye evolye). Pifò founisè solisyon yo te devlope pwòp modifikasyon yo nan divès teknik. Tout prensip sa yo baze sou yon apwòch holistic pou DevOps, ak òganizasyon nenpòt gwosè ka itilize yo.

Devlope epi teste nan yon anviwonman ki sanble ak pwodiksyon an

Lide a se pèmèt ekip devlopman ak asirans kalite (QA) yo devlope ak teste sistèm ki konpòte yo tankou sistèm pwodiksyon pou yo ka wè ki jan aplikasyon an konpòte ak pèfòmans lontan anvan li pare pou deplwaman.

Aplikasyon an ta dwe konekte ak sistèm pwodiksyon pi bonè posib nan sik lavi li pou adrese twa gwo pwoblèm potansyèl yo. Premyèman, li pèmèt ou teste aplikasyon an nan yon anviwònman ki toupre anviwònman reyèl la. Dezyèmman, li pèmèt ou teste ak valide pwosesis livrezon aplikasyon an davans. Twazyèmman, li pèmèt ekip operasyon yo teste byen bonè nan sik lavi a ki jan anviwònman yo pral konpòte lè aplikasyon yo deplwaye, kidonk pèmèt yo kreye yon anviwònman trè Customized, ki santre sou aplikasyon yo.

Deplwaye ak pwosesis repete, serye

Prensip sa a pèmèt ekip devlopman ak operasyon yo sipòte pwosesis devlopman lojisyèl ajil pandan tout sik lavi lojisyèl an. Otomatik se kritik pou kreye pwosesis iteratif, fyab, ak repete. Se poutèt sa, òganizasyon an dwe kreye yon tiyo livrezon ki pèmèt kontinyèl, deplwaman otomatik ak tès. Deplwaman souvan pèmèt ekip yo teste pwosesis deplwaman yo, kidonk diminye risk pou yo echèk deplwaman pandan deplwaman yo.

Siveyans ak tcheke kalite travay la

Òganizasyon yo bon nan siveyans aplikasyon yo nan pwodiksyon paske yo gen zouti ki pran mezi ak endikatè pèfòmans kle (KPI) an tan reyèl. Prensip sa a deplase siveyans byen bonè nan sik lavi a, asire ke tès otomatik kontwole atribi fonksyonèl ak ki pa fonksyonèl nan yon aplikasyon byen bonè nan pwosesis la. Chak fwa yon aplikasyon teste ak deplwaye, mezi bon jan kalite yo dwe egzamine ak analize. Zouti siveyans bay avètisman bonè sou pwoblèm operasyon ak kalite ki ka parèt pandan pwodiksyon an. Endikatè sa yo dwe kolekte nan yon fòma ki aksesib ak konprann pou tout moun ki gen enterè yo.

Amelyore Feedback Loops

Youn nan objektif pwosesis DevOps yo se pèmèt òganizasyon yo reponn epi fè chanjman pi vit. Nan livrezon lojisyèl, objektif sa a mande pou òganizasyon an resevwa fidbak bonè epi byen vit aprann nan chak aksyon yo pran. Prensip sa a mande pou òganizasyon yo kreye chanèl kominikasyon ki pèmèt moun ki gen enterè yo jwenn aksè ak kominike nan yon fason fidbak. Devlopman ka fèt pa ajiste plan pwojè w yo oswa priyorite yo. Faktori ka aji pa amelyore anviwònman pwodiksyon an.

Dev

  • Planifikasyon: Kanboard, Wekan ak lòt altènativ Trello; GitLab, Tuleap, Redmine ak lòt altènativ JIRA; Mattermost, Roit.im, IRC ak lòt altènativ Slack.
  • Ekri kòd: Git, Gerrit, Bugzilla; Jenkins ak lòt zouti sous louvri pou CI/CD
  • Asanble: Apache Maven, Gradle, Apache foumi, Packer
  • Tès: JUnit, Konkonm, Selenyòm, Apache JMeter

opération

  • Lage, Deplwaman, Operasyon: Kubernetes, Nomad, Jenkins, Zuul, Spinnaker, Ansible, Apache ZooKeeper, elatriye, Netflix Archaius, Terraform
  • Siveyans: Grafana, Prometheus, Nagios, InfluxDB, Fluentd, ak lòt moun ki kouvri nan gid sa a

(*Zouti operasyon yo te nimewote nan lòd ekip operasyon yo itilize yo, men zouti yo sipèpoze etap sik lavi yo nan lage ak deplwaman zouti yo. Pou fasil lizibilite, nimero yo te retire.)

Nan konklizyon

DevOps se yon metodoloji de pli zan pli popilè ki vize pou pote devlopè ak operasyon yo ansanm kòm yon sèl inite. Li inik, diferan de operasyon IT tradisyonèl yo, epi li konplete Agile (men li pa osi fleksib).

Gid DevOps pou débutan

Chèche konnen detay sou kòman ou ka jwenn yon pwofesyon recherché nan grafouyen oswa Level Up an tèm de konpetans ak salè lè w pran kou sou entènèt ki peye nan SkillFactory:

plis kou

Itil

Sous: www.habr.com

Add nouvo kòmantè