Giya sa DevOps alang sa mga Nagsugod

Unsa ang kamahinungdanon sa DevOps, unsa ang gipasabut niini alang sa mga propesyonal sa IT, usa ka paghulagway sa mga pamaagi, mga balangkas ug mga himan.

Giya sa DevOps alang sa mga Nagsugod

Daghan ang nahitabo sukad ang termino nga DevOps mikupot sa IT nga kalibutan. Sa kadaghanan sa bukas nga gigikanan sa ekosistema, hinungdanon nga hunahunaon pag-usab kung ngano nga nagsugod kini ug kung unsa ang gipasabut sa usa ka karera sa IT.

Unsa ang DevOps

Bisan kung wala’y usa nga kahulugan, nagtuo ako nga ang DevOps usa ka balangkas sa teknolohiya nga nagtugot sa kolaborasyon tali sa mga team sa pag-uswag ug operasyon nga mas paspas ang pag-deploy sa code sa mga palibot sa produksiyon nga adunay katakus sa pag-uli ug pag-automate. Among igugol ang nahibilin niining artikuloha sa pag-unpack niini nga pag-angkon.

Ang pulong nga "DevOps" usa ka kombinasyon sa mga pulong nga "kauswagan" ug "mga operasyon". Nakatabang ang DevOps nga madugangan ang katulin sa paghatud sa mga aplikasyon ug serbisyo. Gitugotan niini ang mga organisasyon nga epektibo nga magserbisyo sa ilang mga kostumer ug mahimong labi ka kompetisyon sa merkado. Sa yanong pagkasulti, ang DevOps mao ang pag-align tali sa kalamboan ug mga operasyon sa IT nga adunay mas epektibo nga komunikasyon ug kolaborasyon.

Ang DevOps naglakip sa usa ka kultura diin ang kolaborasyon tali sa kalamboan, operasyon, ug mga grupo sa negosyo giisip nga kritikal. Dili lang kini bahin sa mga himan, tungod kay ang DevOps sa usa ka organisasyon padayon nga nakabenepisyo usab sa mga kustomer. Ang mga himan mao ang usa sa mga haligi niini, kauban ang mga tawo ug mga proseso. Gipadako sa DevOps ang katakus sa mga organisasyon sa paghatud sa mga de-kalidad nga solusyon sa labing kadali nga panahon. Gi-automate usab sa DevOps ang tanan nga mga proseso, gikan sa pagtukod hangtod sa pag-deploy, aplikasyon o produkto.

Ang diskusyon sa DevOps nagpunting sa relasyon tali sa mga developer, ang mga tawo nga nagsulat sa software alang sa usa ka panginabuhi, ug ang mga operator nga responsable sa pagpadayon sa software.

Mga hagit alang sa development team

Ang mga developers lagmit nga madasigon ug naghinam-hinam sa pagpatuman sa mga bag-ong pamaagi ug teknolohiya aron masulbad ang mga problema sa organisasyon. Bisan pa, nag-atubang usab sila sa pipila ka mga problema:

  • Ang kompetisyon nga merkado nagmugna og daghang presyur aron maihatag ang produkto sa oras.
  • Kinahanglan nila nga atimanon ang pagdumala sa code nga andam sa produksiyon ug pagpaila sa mga bag-ong bahin.
  • Mahimong taas ang siklo sa pagpagawas, mao nga ang grupo sa pagpauswag kinahanglan nga maghimo daghang mga pangagpas sa dili pa ipatuman ang mga aplikasyon. Sa kini nga senaryo, daghang oras ang gikinahanglan aron masulbad ang mga isyu nga motumaw sa panahon sa pag-deploy sa usa ka palibot sa produksiyon o pagsulay.

Mga hagit nga giatubang sa operations team

Ang mga team sa operasyon sa kasaysayan nagpunting sa kalig-on ug kasaligan sa mga serbisyo sa IT. Mao nga ang mga team sa operasyon nangita og kalig-on pinaagi sa mga pagbag-o sa mga kapanguhaan, teknolohiya, o pamaagi. Ang ilang mga buluhaton naglakip sa:

  • Pagdumala sa alokasyon sa kahinguhaan samtang nagkadako ang panginahanglan.
  • Pagdumala sa mga pagbag-o sa disenyo o pag-customize nga gikinahanglan para magamit sa usa ka palibot sa produksiyon.
  • Pag-diagnose ug pagsulbad sa mga isyu sa produksiyon pagkahuman sa pag-deploy sa kaugalingon sa mga aplikasyon.

Giunsa pagsulbad sa DevOps ang mga problema sa pag-uswag ug operasyon

Imbis nga i-roll out ang daghang mga feature sa app sa usa ka higayon, ang mga kompanya naningkamot sa pagtan-aw kon sila makahimo sa roll out sa usa ka gamay nga gidaghanon sa mga bahin ngadto sa ilang mga kustomer pinaagi sa usa ka sunod-sunod nga release iterations. Kini nga pamaagi adunay daghang mga bentaha, sama sa mas maayo nga kalidad sa software, mas paspas nga feedback sa kustomer, ug uban pa. Kini, sa baylo, nagsiguro sa taas nga katagbawan sa kustomer. Aron makab-ot kini nga mga katuyoan, ang mga kompanya kinahanglan nga:

  • Bawasan ang rate sa kapakyasan kung ipagawas ang mga bag-ong pagpagawas
  • Dugangi ang deployment frequency
  • Makab-ot ang usa ka mas paspas nga kasagaran nga oras sa pagbawi kung adunay bag-ong pagpagawas sa aplikasyon.
  • Bawasan ang oras para sa mga pagtul-id

Gihimo sa DevOps kining tanan nga mga buluhaton ug nagtabang sa pagsiguro nga walay hunong nga paghatud. Gigamit sa mga organisasyon ang DevOps aron makab-ot ang lebel sa pagka-produktibo nga dili mahunahuna pipila lang ka tuig ang milabay. Naghimo sila og tinagpulo, gatosan, ug bisan libu-libo nga pag-deploy kada adlaw samtang naghatod sa klase sa kalibutan nga kasaligan, kalig-on, ug seguridad. (Pagkat-on og dugang mahitungod sa mga gidak-on sa lote ug ang ilang epekto sa paghatud sa software).

Gisulayan sa DevOps nga masulbad ang lainlaing mga problema nga resulta sa nangaging mga pamaagi, lakip ang:

  • Pag-inusara sa trabaho tali sa development ug operations teams
  • Ang pagsulay ug pag-deploy kay bulag nga mga hugna nga mahitabo pagkahuman sa disenyo ug pagtukod ug nanginahanglan daghang oras kaysa mga siklo sa pagtukod.
  • Ang sobra nga oras nga gigugol sa pagsulay, pag-deploy, ug pagdesinyo imbes nga mag-focus sa pagtukod sa kinauyokan nga serbisyo sa negosyo
  • Manual code deployment nga mosangpot sa mga sayop sa produksyon
  • Ang mga kalainan sa development ug operations team schedules hinungdan sa dugang nga mga paglangan

Giya sa DevOps alang sa mga Nagsugod

Ang komprontasyon tali sa DevOps, Agile ug tradisyonal nga IT

Ang DevOps kanunay nga gihisgutan kalabot sa ubang mga gawi sa IT, labi na ang Agile ug Waterfall IT.

Ang Agile usa ka hugpong sa mga prinsipyo, mithi, ug mga gawi alang sa paghimo sa software. Busa, pananglitan, kung ikaw adunay ideya nga gusto nimong usbon ngadto sa software, mahimo nimong gamiton ang Agile nga mga prinsipyo ug mithi. Apan kini nga software mahimo ra nga modagan sa usa ka kalamboan o pagsulay nga palibot. Kinahanglan nimo ang usa ka yano, luwas nga paagi aron mapalihok ang imong software sa produksiyon sa madali ug balik-balik nga paagi, ug ang paagi pinaagi sa mga himan ug teknik sa DevOps. Ang agile software development naka-focus sa mga proseso sa pag-uswag ug ang DevOps ang responsable sa pag-uswag ug pag-deploy sa labing luwas ug labing kasaligan nga paagi.

Ang pagtandi sa tradisyonal nga modelo sa talon sa DevOps usa ka maayong paagi aron masabtan ang mga benepisyo nga gidala sa DevOps. Ang mosunod nga pananglitan nagtuo nga ang aplikasyon mabuhi sa upat ka semana, ang pag-uswag 85% kompleto, ang aplikasyon mahimong buhi, ug ang proseso sa pagpalit sa mga server aron ipadala ang code bag-o lang nagsugod.

Tradisyonal nga mga proseso
Mga Proseso sa DevOps

Human sa pagbutang sa usa ka order alang sa bag-ong mga server, ang development team nagtrabaho sa pagsulay. Ang task force nagtrabaho sa halapad nga dokumentasyon nga gikinahanglan sa mga negosyo sa pag-deploy sa imprastraktura.
Sa higayon nga mabutang ang usa ka order alang sa bag-ong mga server, ang development ug operations teams magtinabangay sa mga proseso ug papeles aron ma-install ang bag-ong mga server. Gitugotan ka niini nga mas masabtan ang imong mga kinahanglanon sa imprastraktura.

Ang impormasyon bahin sa failover, redundancy, mga lokasyon sa data center, ug mga kinahanglanon sa pagtipig sayop nga girepresentahan tungod kay walay input gikan sa development team nga adunay lawom nga kahibalo sa domain.
Ang mga detalye bahin sa failover, redundancy, disaster recovery, data center locations, ug storage requirements nahibal-an ug husto tungod sa input sa development team.

Ang operations team walay ideya bahin sa kalamboan sa development team. Naghimo usab siya usa ka plano sa pagmonitor base sa iyang kaugalingon nga mga ideya.

Ang operations team hingpit nga nakahibalo sa pag-uswag nga nahimo sa development team. Nakig-interact usab siya sa development team ug nagtinabangay sila sa paghimo og plano sa pagmonitor nga makatubag sa mga panginahanglanon sa IT ug negosyo. Gigamit usab nila ang mga gamit sa pag-monitor sa performance sa aplikasyon (APM).

Ang usa ka pagsulay sa pagkarga nga gihimo sa wala pa ilunsad ang usa ka aplikasyon hinungdan sa pagkahagsa sa aplikasyon, nga naglangan sa paglansad niini.
Ang usa ka pagsulay sa pagkarga nga gihimo sa wala pa magdagan ang usa ka aplikasyon moresulta sa dili maayo nga pasundayag. Ang development team dali nga nagsulbad sa mga bottleneck ug ang aplikasyon naglansad sa oras.

Siklo sa Kinabuhi sa DevOps

Ang DevOps naglakip sa pagsagop sa pipila nga kasagarang gidawat nga mga gawi.

Padayon nga pagplano

Ang padayon nga pagplano nagsalig sa lig-on nga mga prinsipyo aron magsugod sa gamay pinaagi sa pag-ila sa mga kapanguhaan ug mga output nga gikinahanglan aron masulayan ang bili sa negosyo o panan-awon, padayon nga pagpahiangay, pagsukod sa pag-uswag, pagkat-on gikan sa mga panginahanglanon sa kustomer, pagbag-o sa direksyon kung gikinahanglan aron ma-accommodate ang kaabtik, ug pag-imbento pag-usab sa plano sa negosyo.

Hiniusang kalamboan

Ang proseso sa pagtinabangay nga pag-uswag nagtugot sa mga negosyo, mga tim sa pagpauswag, ug mga tim sa pagsulay nga mikaylap sa lainlaing mga time zone aron padayon nga maghatag kalidad nga software. Naglakip kini sa multi-platform development, cross-language programming support, user story creation, ideation development, ug lifecycle management. Ang pagtinabangay nga pag-uswag naglakip sa proseso ug praktis sa padayon nga panagsama, nga nagpasiugda sa kanunay nga paghiusa sa code ug mga awtomatiko nga pagtukod. Pinaagi sa kanunay nga pag-deploy sa code sa usa ka aplikasyon, ang mga problema sa integrasyon nahibal-an sa sayong bahin sa siklo sa kinabuhi (kung kini mas sayon ​​nga ayohon) ug ang kinatibuk-ang paningkamot sa paghiusa makunhuran pinaagi sa padayon nga feedback samtang ang proyekto nagpakita sa padayon ug makita nga pag-uswag.

Padayon nga pagsulay

Ang padayon nga pagsulay makapamenos sa gasto sa pagsulay pinaagi sa pagtabang sa mga development team nga balansehon ang katulin sa kalidad. Giwagtang usab niini ang mga bottleneck sa pagsulay pinaagi sa virtualization sa serbisyo ug gipasayon ​​ang paghimo sa virtualized nga mga palibot sa pagsulay nga dali nga mapaambit, ma-deploy, ug ma-update samtang nagbag-o ang mga sistema. Kini nga mga kapabilidad makapakunhod sa gasto sa paghatag ug pagmintinar sa mga palibot sa pagsulay ug pagpamubo sa mga panahon sa siklo sa pagsulay, nga gitugotan ang pagsulay sa panagsama nga mahitabo sa sayo pa sa siklo sa kinabuhi.

Padayon nga pagpagawas ug pag-deploy

Kini nga mga teknik nagdala sa usa ka kinauyokan nga praktis: padayon nga pagpagawas ug pag-deploy. Gisiguro kini sa usa ka padayon nga pipeline nga nag-automate sa mga yawe nga proseso. Gipamenos niini ang manwal nga mga lakang, mga oras sa paghulat sa kahinguhaan, ug pagtrabaho pag-usab pinaagi sa pagpagana sa pag-deploy sa pagduso sa usa ka buton, nga moresulta sa dugang nga pagpagawas, mas diyutay nga mga sayop, ug kompleto nga transparency.

Ang automation adunay hinungdanon nga papel sa pagsiguro nga lig-on ug kasaligan nga pagpagawas sa software. Usa sa labing dako nga mga hagit mao ang paghimo sa mga manual nga proseso sama sa pagtukod, pagbag-o, pag-deploy ug paghimo sa imprastraktura ug awtomatiko kini. Kini nagkinahanglan sa source code version control; pagsulay ug deployment senaryo; imprastraktura ug datos sa pagsumpo sa aplikasyon; ug ang mga librarya ug mga pakete nga gisaligan sa aplikasyon. Ang laing importante nga butang mao ang abilidad sa pagpangutana sa kahimtang sa tanang palibot.

Padayon nga pagmonitor

Ang padayon nga pagmonitor naghatag ug enterprise-grade nga pagreport nga makatabang sa mga development team nga masabtan ang pagkaanaa ug performance sa mga aplikasyon sa production environment sa dili pa kini i-deploy sa production. Ang sayo nga feedback nga gihatag pinaagi sa padayon nga pagmonitor hinungdanon aron makunhuran ang gasto sa mga sayup ug pagmaneho sa mga proyekto sa husto nga direksyon. Kini nga praktis kanunay naglakip sa mga himan sa pagmonitor nga kasagarang nagpadayag sa mga sukatan nga may kalabutan sa performance sa aplikasyon.

Kanunay nga feedback ug pag-optimize

Ang padayon nga feedback ug pag-optimize naghatag usa ka biswal nga representasyon sa pagdagayday sa kostumer ug pagpunting sa mga lugar nga adunay problema. Ang feedback mahimong maapil sa pre- ug post-sales nga mga yugto aron mapadako ang kantidad ug masiguro nga mas daghang transaksyon ang makompleto nga malampuson. Ang tanan niini naghatag dayon nga pagtan-aw sa hinungdan sa mga problema sa kustomer nga nag-impluwensya sa ilang pamatasan ug epekto sa negosyo.

Giya sa DevOps alang sa mga Nagsugod

Mga Benepisyo sa DevOps

Ang DevOps makatabang sa paghimo og usa ka palibot diin ang mga developer ug mga operasyon nagtrabaho isip usa ka team aron makab-ot ang komon nga mga tumong. Usa ka importante nga milestone niini nga proseso mao ang pagpatuman sa padayon nga paghiusa ug padayon nga paghatod (CI/CD). Kini nga mga teknik magtugot sa mga team nga makakuha og software nga mas paspas sa merkado nga adunay gamay nga mga bug.

Ang hinungdanon nga mga benepisyo sa DevOps mao ang:

  • Predictability: Ang DevOps nagtanyag usa ka labi ka mubu nga rate sa kapakyasan alang sa mga bag-ong pagpagawas.
  • Pagpadayon: Gitugotan sa DevOps ang dali nga pagbawi kung ang usa ka bag-ong pagpagawas mapakyas o ang usa ka aplikasyon nahulog.
  • Reproducibility: Ang pagkontrol sa bersyon sa usa ka pagtukod o code nagtugot kanimo sa pagpasig-uli sa naunang mga bersyon kon gikinahanglan.
  • Mas Taas nga Kalidad: Ang pagsulbad sa mga isyu sa imprastraktura nagpauswag sa kalidad sa pagpalambo sa aplikasyon.
  • Oras sa Market: Ang pag-optimize sa paghatud sa software makapakunhod sa oras sa merkado sa 50%.
  • Pagkunhod sa Risk: Ang pagpatuman sa seguridad sa lifecycle sa software makapamenos sa gidaghanon sa mga depekto sa tibuok lifecycle.
  • Episyente sa Gasto: Ang pagtinguha sa kahusayan sa gasto sa pagpauswag sa software naghangyo sa senior nga pagdumala.
  • Kalig-on: Ang sistema sa software mas lig-on, luwas, ug ang mga kausaban mahimong ma-audit.
  • Pagbungkag sa usa ka mas dako nga codebase ngadto sa madumala nga mga piraso: Ang DevOps gibase sa abtik nga mga pamaagi sa pagpalambo, nga nagtugot kanimo sa pagbungkag sa usa ka dako nga codebase ngadto sa mas gagmay, madumala nga mga piraso.

Mga prinsipyo sa DevOps

Ang pagsagop sa DevOps nagpatunghag daghang mga prinsipyo nga milambo (ug nagpadayon sa pag-uswag). Kadaghanan sa mga tighatag sa solusyon nagpalambo sa ilang kaugalingon nga mga pagbag-o sa lainlaing mga pamaagi. Ang tanan niini nga mga prinsipyo gibase sa usa ka holistic nga pamaagi sa DevOps, ug ang mga organisasyon sa bisan unsang gidak-on makagamit niini.

Pagpalambo ug pagsulay sa usa ka palibot nga sama sa produksiyon

Ang ideya mao ang paghimo sa mga tim sa pagpauswag ug kalidad nga kasiguruhan (QA) sa paghimo ug pagsulay sa mga sistema nga molihok sama sa mga sistema sa produksiyon aron makita nila kung giunsa ang paggawi ug paglihok sa aplikasyon sa wala pa kini andam alang sa pag-deploy.

Ang aplikasyon kinahanglan nga konektado sa mga sistema sa produksiyon sa labing sayo nga panahon sa siklo sa kinabuhi niini aron matubag ang tulo ka dagkong mga potensyal nga problema. Una, kini nagtugot kanimo sa pagsulay sa aplikasyon sa usa ka palibot nga duol sa tinuod nga palibot. Ikaduha, kini nagtugot kanimo sa pagsulay ug pag-validate sa mga proseso sa paghatud sa aplikasyon daan. Ikatulo, kini nagtugot sa operations team sa pagsulay sa sayong bahin sa lifecycle kon sa unsang paagi ang ilang palibot maggawi kung ang mga aplikasyon gi-deploy, sa ingon nagtugot kanila sa paghimo sa usa ka kaayo nga customized, aplikasyon-sentrik nga palibot.

I-deploy uban ang balikbalik, kasaligan nga mga proseso

Kini nga prinsipyo nagtugot sa development ug operations teams sa pagsuporta sa abtik nga mga proseso sa pagpalambo sa software sa tibuok tibuok nga software lifecycle. Importante ang automation sa paghimo og iterative, kasaligan, ug balik-balik nga mga proseso. Busa, ang organisasyon kinahanglan maghimo usa ka pipeline sa pagpadala nga makahimo sa padayon, awtomatiko nga pag-deploy ug pagsulay. Ang kanunay nga pag-deploy nagtugot usab sa mga team nga sulayan ang mga proseso sa pag-deploy, sa ingon makunhuran ang peligro sa mga kapakyasan sa pag-deploy sa panahon sa mga buhi nga pagpagawas.

Pag-monitor ug pagsusi sa kalidad sa trabaho

Ang mga organisasyon maayo sa pag-monitor sa mga aplikasyon sa produksiyon tungod kay sila adunay mga himan nga nakakuha sa mga sukatan ug hinungdanon nga mga indikasyon sa pasundayag (KPI) sa tinuud nga oras. Kini nga prinsipyo nagpalihok sa pag-monitor sayo sa siklo sa kinabuhi, pagsiguro nga ang automated nga pagsulay nagmonitor sa functional ug non-functional nga mga kinaiya sa usa ka aplikasyon sayo sa proseso. Sa matag higayon nga ang usa ka aplikasyon gisulayan ug gipakatap, ang kalidad nga mga sukatan kinahanglan nga susihon ug analisahon. Ang mga himan sa pag-monitor naghatag og sayo nga pasidaan sa mga problema sa operasyon ug kalidad nga mahimong motumaw sa panahon sa produksiyon. Kini nga mga timailhan kinahanglang kolektahon sa usa ka pormat nga daling makuha ug masabtan sa tanang stakeholders.

Pagpauswag sa Feedback Loops

Usa sa mga katuyoan sa mga proseso sa DevOps mao ang paghimo sa mga organisasyon sa pagtubag ug paghimo sa mga pagbag-o nga mas paspas. Sa paghatod sa software, kini nga tumong nagkinahanglan sa organisasyon nga makadawat og feedback og sayo ug dayon makat-on dayon gikan sa matag aksyon nga gihimo. Kini nga prinsipyo nagkinahanglan sa mga organisasyon sa paghimo og mga channel sa komunikasyon nga nagtugot sa mga stakeholders nga maka-access ug makig-interact sa usa ka feedback nga paagi. Ang pag-uswag mahimo pinaagi sa pag-adjust sa imong mga plano o prayoridad sa proyekto. Ang paggama mahimong molihok pinaagi sa pagpaayo sa palibot sa produksiyon.

Dev

  • Pagplano: Kanboard, Wekan ug uban pang mga alternatibo sa Trello; GitLab, Tuleap, Redmine ug uban pang mga alternatibo sa JIRA; Mattermost, Roit.im, IRC ug uban pang mga alternatibo sa Slack.
  • Kodigo sa pagsulat: Git, Gerrit, Bugzilla; Jenkins ug uban pang open source nga himan para sa CI/CD
  • Asembliya: Apache Maven, Gradle, Apache Ant, Packer
  • Mga pagsulay: JUnit, Pepino, Selenium, Apache JMeter

Ops

  • Pag-release, Deployment, Operations: Kubernetes, Nomad, Jenkins, Zuul, Spinnaker, Ansible, Apache ZooKeeper, etcd, Netflix Archaius, Terraform
  • Pagmonitor: Grafana, Prometheus, Nagios, InfluxDB, Fluentd, ug uban pa nga nasakup niini nga giya

(*Gi-numero ang mga galamiton sa operasyon sa han-ay sa paggamit sa mga team sa operasyon, apan ang ilang tooling nagsapaw-sapaw sa mga yugto sa lifecycle sa pagpagawas ug mga himan sa pag-deploy. Para sa kasayon ​​sa pagkabasa, ang pag-numero gitangtang.)

Sa konklusyon

Ang DevOps usa ka labi ka sikat nga pamaagi nga nagtumong sa paghiusa sa mga developer ug operasyon isip usa ka yunit. Talagsaon kini, lahi sa tradisyonal nga mga operasyon sa IT, ug nagsuporta sa Agile (apan dili ingon kadali).

Giya sa DevOps alang sa mga Nagsugod

Hibal-i ang mga detalye kung giunsa pagkuha ang usa ka gipangita nga propesyon gikan sa wala o Level Up sa mga termino sa kahanas ug suweldo pinaagi sa pagkompleto sa SkillFactory bayad nga mga kurso sa online:

dugang nga mga kurso

Mapuslanon

Source: www.habr.com

Idugang sa usa ka comment