LFCA: Pagkat-on sa Batakang Konsepto sa DevOps - Bahin 21


Ang DevOps nahimong us aka trending nga hilisgutan sa dugay na nga panahon ug nakahimo sa pagdani sa atensyon sa mga propesyonal sa teknolohiya ug mga negosyo. Ingon usa ka bag-o, mahimo’g mahagiton ang pagputos sa imong ulo sa konsepto sa DevOps, ug sa kini nga hilisgutan, among pauswagon ang sukaranan nga mga konsepto sa kini nga buzzword sa internet.

Sa pagsugod, ang DevOps usa ka portmanteau sa duha ka pulong: Development ug Operations. Kini usa ka hugpong sa mga praktis ug himan nga nagpasiugda sa kolaborasyon tali sa mga development team (Devs) ug mga operasyon (Ops). Ang tumong sa DevOps mao ang pag-streamline sa software development lifecycle, pagminus sa mga rate sa kapakyasan, pagpataas sa frequency sa deployment, ug pagkab-ot sa taas nga kalidad nga software.

Aron mas masabtan ang DevOps sa modernong IT nga palibot, atong tan-awon kung giunsa ang modelo sa pag-deploy sa wala pa ang pag-abut sa DevOps.

Tradisyonal nga mga Praktis sa IT

Sa wala pa ang DevOps, ang mga tim sa pag-uswag ug mga inhenyero sa QA naggamit sa klasiko nga modelo sa talon. Ang nagtrabaho nga talan-awon sa kadaghanan gihilom ug ang pagsulay ug pag-deploy sa mga aplikasyon nahitabo sa kompleto nga pagkalain. Miresulta kini sa mga overlap sa katungdanan, mga kal-ang, mga paglangan sa feedback, ug uban pang mga inefficiencies nga nagkinahanglan og dugang nga panahon aron makompleto ang proyekto. Ang limitado ug nalangan nga feedback nagpasabot nga ang kalidad sa software wala masusi pag-ayo hangtod sa kataposang hugna sa kalamboan.

Dugang pa, ang manual deployment sa code gipahinabo sa mga kasaypanan sa tawo ug busa nangayo ug daghang oras sa pag-debug sa mga aplikasyon. Usab, lain-laing mga teams adunay lain-laing mga timelines alang sa pagkompleto sa ilang mga buluhaton ug kini mao ang kasagaran alang sa mga timelines nga mahulog gikan sa sync nga mosangpot ngadto sa dugang nga mga paglangan sa pagkaamgo sa katapusan nga produkto.

Ang konsepto sa DevOps gipanamkon usahay tali sa 2007 ug 2010 sa duha ka developers: Andrew Shafer ug Patrick Debois. Sukad sa pagsugod niini, Gipalambo niini ang hapsay nga pagtinabangay tali sa operasyon ug mga tim sa pagpalambo sa matag lakang sa siklo sa kinabuhi sa pagpalambo sa software. Kini nagpahibalo sa bag-ong mga konsepto sama sa Continuous Integration (CI) & Continuous Delivery (CD) ug daghan pang uban nga nakatampo sa paspas nga paghatod sa software.

Modelo ug Mga Praktis sa DevOps

Ang DevOps dili lang bahin sa kolaborasyon ug pagbaton sa husto nga panghunahuna sa pagkab-ot sa usa ka katuyoan. Naglangkob kini sa labing maayo nga mga gawi nga gitumong sa pagtabang sa paghatud sa kalidad ug andam sa merkado nga software sa labing kadali nga panahon. Atong tan-awon ang pipila niini nga labing maayo nga mga gawi nga makatabang kanimo sa pagpauswag sa kahusayan ug paspas nga paghatud sa code.

Ang Continuous Integration maoy usa ka software development practice diin ang mga developers nag-merge sa mga kausaban sa code ngadto sa usa ka central repository. Pagkahuman, ang mga awtomatiko nga pagsulay ug pagtukod gipatuman sa code. Ang tumong sa Continuous Integration mao ang pagpadali sa pag-debug sa mga aplikasyon, pagpakunhod sa oras nga gikuha sa pagpagawas sa bag-ong mga update sa software, ug pagpalambo sa kalidad sa software.

Ang Continuous Delivery (CD) usa pa ka praktis diin ang mga pagbag-o sa code awtomatik nga gihimo, ug gi-deploy alang sa kusog nga pagsulay. Sa ulahi, ang mga automated nga pagsulay gipatuman batok sa gipakatap nga code aron tugotan ang mga nag-develop sa pag-ila ug pag-ayo sa mga bug. Kasagaran, ang code anam-anam nga gipailalom sa daghang mga palibot sa pagsulay diin pinaagi sa usa ka standard nga awtomatiko nga pamaagi, ang code nakakab-ot sa labing taas nga marka sa kalidad.

Ang mga sikat nga gamit sa CI/CD naglakip sa Jenkins, Travis CI, Circle CI, Azure DevOps, ug AWS Code build.

Ang katuyoan sa padayon nga pagsulay mao ang pag-ila sa mga bug ug potensyal nga mga peligro sa sayong mga yugto sa siklo sa kinabuhi sa pagpalambo sa software aron maminusan ang mga sayup nga makita sa katapusan nga produkto. Kung mapakyas ang code sa kusog nga mga pagsulay, kasagarang ipadala kini balik sa developer para sa rebisyon sa dili pa ipasa sa departamento sa Quality Assurance para sa mga ebalwasyon ug functional testing. Ang kaylap nga gigamit nga padayon nga mga himan sa pagsulay naglakip sa Travis ug Selenium.

Sama sa imong gipaabot, ang mga aplikasyon ug ang nagpahiping imprastraktura nanginahanglan padayon nga pag-monitor aron masusi ang ilang identidad sa pasundayag bisan unsang mga sayup o depekto, ug masiguro ang pagsunod sa lainlaing mga sumbanan sa industriya. Usa ka halapad nga lainlain nga mga sukatan ang gibantayan lakip ang:

  • Memorya ug paggamit sa CPU
  • Paggamit sa espasyo sa disk
  • Paggamit sa bandwidth
  • Interaksiyon sa kustomer

Pinaagi sa pag-monitor ug pag-analisar sa mga datos ug mga log nga namugna sa mga aplikasyon, ang mga developer dali nga makakuha og mga insight kung giunsa ang mga feature o configuration makaapekto sa mga tiggamit. Dugang pa, ang pag-configure sa mga alerto makatabang sa pag-ila sa mga sayup o dili gusto nga mga pagbag-o sa matag lakang sa dalan. Sa katapusan, ang padayon nga pag-monitor nagsiguro sa taas nga pagkaanaa sa mga aplikasyon ug nagdasig sa pagsalig nga ang mga butang molihok sama sa gipaabut.

Ang mga sikat nga himan sa pag-monitor naglakip sa Prometheus, Netdata sa paghisgot sa pipila.

Gipamubo isip IaC, ang Infrastructure isip Code gihulagway nga ang pag-deploy ug pagdumala sa mga kahinguhaan sama sa virtual servers, ug load balancers gamit ang machine-readable configuration files sukwahi sa interactive configuration tools. Kini labi ka hinungdanon sa mga palibot sa Cloud sama sa AWS kung diin mahimo nimo nga dali nga mag-spin up sa mga higayon sa pag-compute pinaagi sa pagtino sa mga detalye sa pananglitan sa usa ka file sa pag-configure ug paggamit sa mga himan sama sa Terraform aron ma-deploy ang mga kapanguhaan.

Pananglitan, ang Amazon AWS naghatag og mga API nga nagtugot sa mga tiggamit sa programa nga makig-uban sa Cloud platform gikan sa command line. Gipadali niini ang paspas nga pag-deploy sa mga kapanguhaan pinaagi sa pagwagtang sa mga manual nga proseso ug paghinay. Sa yanong pagkasulti, ang IaC makakuha og daghang trabaho nga nahimo sulod sa mubo nga gidugayon sa panahon.

Ang arkitektura sa Microservices kung diin ang usa ka aplikasyon usa ka panagsama o usa ka panagsama sa lainlaing mga mas gagmay nga mga serbisyo nga gihiusa. Ang matag serbisyo nagdagan nga independente ug nakigsulti sa ubang mga aplikasyon gamit ang mga API nga nakabase sa HTTP. Ang mga microservice mahimong ma-deploy ingon usa ka grupo sa mga serbisyo o usa ka serbisyo

Ang arkitektura sa Microservices lahi kaayo sa tradisyonal nga monolithic nga arkitektura. Sa tradisyonal nga arkitektura, ang mga aplikasyon usa ka lebel ug ang tanan nga mga sangkap, lakip ang code ug ang UI, gihugpong sa usa ka programa.

Gipadali sa mga microservice ang independente nga pag-deploy ug pagdumala sa mga kapanguhaan. Gisiguro usab nila ang taas nga pagkaanaa pinaagi sa pagpugong sa usa ka punto sa kapakyasan. kung ang usa ka aplikasyon nahagsa, ang nahabilin magpadayon sa pagdagan.

Mga Benepisyo sa Modelo sa DevOps

Sa pagtan-aw sa labing kaayo nga mga gawi sa DevOps, ipunting naton karon ang mga benepisyo sa pagsagop sa modelo sa DevOps.

Ang kolaborasyon tali sa development ug operation teams naghubad ngadto sa hiniusang responsibilidad, nga sa katapusan makapataas sa produktibidad ug makapalambo sa team engagement.

Ang kolaborasyon makapahimo usab sa mga team nga dali nga ma-debug ang code sa matag yugto sa dili pa makaabot sa katapusang hugna. Naghatag kini og taas nga kalidad ug andam sa merkado nga software.

Ang pag-deploy sa aplikasyon mas hapsay ug mas paspas salamat sa mga himan sa automation nga gihatag sa DevOps (sama sa Ansible, Chef, ug Puppet) & advanced continuous integration (CI).

Tungod kay ang kahibalo sa produkto mikaylap sa lainlaing mga departamento, adunay usa ka tin-aw nga katuyoan ug panan-awon bahin sa produkto, nga naghubad sa labi ka maayo nga paghimog desisyon sa matag yugto sa pag-uswag.

Ang nakagamot nga pagtuo nga ang mga grupo sa pag-uswag ug operasyon kinahanglan nga magtrabaho nga bulag hangtod sa hangtod dugay na ug mga sayup. Ang siled nga pilosopiya mahimo nga buhi pa sa pipila ka mga industriya, apan kini miresulta sa nagsidlak nga pagkadili epektibo sa dalan.

Ang DevOps nagtinguha sa paghiusa sa mga development ug operation teams ug pagpalambo sa kultural nga pagbalhin gikan sa daan nga paagi sa pagtrabaho sa mga silos ngadto sa pagtrabaho nga dungan aron makunhuran ang mga sayop sa code, mapausbaw ang kalidad sa software, mapadali ang mga oras sa pagpadala ug mapalambo ang kinatibuk-ang produktibidad. Sa katapusan ang end-user matapos sa usa ka taas nga kalidad nga produkto sa usa ka tukma sa panahon nga paagi.