Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD Pipeline

Karon ang hilisgutan sa DevOps naa sa hype. Padayon nga Integration ug Delivery Pipeline CI / CD ang tanan nag-implementar niini. Apan ang kadaghanan dili kanunay magtagad sa pagsiguro sa pagkakasaligan sa mga sistema sa impormasyon sa lainlaing mga yugto sa CI/CD Pipeline. Niini nga artikulo gusto nakong hisgutan ang akong kasinatian sa pag-automate sa mga pagsusi sa kalidad sa software ug pag-implementar sa posibleng mga senaryo para sa "pagpaayo sa kaugalingon" niini.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelineTinubdan

Nagtrabaho ko isip inhenyero sa IT service management department sa usa ka kompanya "LANIT-Integration". Ang akong kinauyokan nga bahin sa kahanas mao ang pagpatuman sa lainlaing mga pasundayag sa aplikasyon ug mga sistema sa pag-monitor sa pagkaanaa. Kanunay kong nakigsulti sa mga kostumer sa IT gikan sa lainlaing mga bahin sa merkado bahin sa karon nga mga isyu bahin sa pag-monitor sa kalidad sa ilang mga serbisyo sa IT. Ang panguna nga katuyoan mao ang pagminus sa oras sa siklo sa pagpagawas ug pagdugang sa kadaghan sa mga pagpagawas. Kini, siyempre, maayo ang tanan: daghang mga pagpagawas - daghang mga bag-ong bahin - labi ka kontento nga mga tiggamit - daghang kita. Apan sa pagkatinuod, ang mga butang dili kanunay nga maayo. Uban sa taas kaayo nga mga rate sa pag-deploy, ang pangutana mitungha dayon bahin sa kalidad sa among mga pagpagawas. Bisan sa usa ka hingpit nga awtomatiko nga pipeline, usa sa labing dako nga mga hagit mao ang pagbalhin sa mga serbisyo gikan sa pagsulay ngadto sa produksiyon nga wala makaapekto sa oras sa aplikasyon ug kasinatian sa gumagamit.

Pinasukad sa mga resulta sa daghang mga panag-istoryahanay sa mga kostumer, makaingon ako nga ang pagpagawas sa kalidad nga kontrol, ang problema sa pagkakasaligan sa aplikasyon ug ang posibilidad sa "pag-ayo sa kaugalingon" (pananglitan, pagbalik sa usa ka lig-on nga bersyon) sa lainlaing mga yugto sa CI. Ang /CD pipeline usa sa labing kulbahinam ug may kalabutan nga mga hilisgutan.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD Pipeline
Bag-ohay lang, ako mismo nagtrabaho sa bahin sa kustomer - sa serbisyo sa suporta sa software sa aplikasyon sa online banking. Ang arkitektura sa among aplikasyon migamit sa daghang gidaghanon sa mga microservice nga gisulat sa kaugalingon. Ang labing makapasubo nga butang mao nga dili tanan nga mga developer ang makasagubang sa taas nga tulin sa pag-uswag; ang kalidad sa pipila nga mga microservice nag-antus, nga nagpatunghag kataw-anan nga mga angga alang kanila ug sa ilang mga tiglalang. Adunay mga istorya bahin sa kung unsang mga materyales ang gihimo niini nga mga produkto.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD Pipeline

"Pagporma sa problema"

Ang taas nga frequency sa pagpagawas ug daghang mga microservice nagpalisud sa pagsabut sa operasyon sa aplikasyon sa kinatibuk-an, sa yugto sa pagsulay ug sa yugto sa operasyon. Ang mga pagbag-o kanunay nga mahitabo ug lisud kaayo nga kontrolon kini nga wala’y maayong mga himan sa pag-monitor. Kasagaran, pagkahuman sa usa ka gabii nga pagpagawas sa buntag, ang mga developer naglingkod sama sa usa ka keg sa pulbos ug naghulat nga wala’y mabuak, bisan kung ang tanan nga mga tseke malampuson sa yugto sa pagsulay.

Adunay usa pa ka punto. Sa yugto sa pagsulay, ang pag-andar sa software gisusi: ang pagpatuman sa mga nag-unang gimbuhaton sa aplikasyon ug ang pagkawala sa mga sayup. Ang mga pagtasa sa kwalitatibo nga pasundayag nawala o wala gikonsiderar ang tanan nga aspeto sa aplikasyon ug ang layer sa panagsama. Ang ubang mga sukatan mahimong dili masusi. Ingon usa ka sangputanan, kung adunay usa ka pagkaguba sa usa ka palibot sa produksiyon, nahibal-an ra kini sa departamento sa teknikal nga suporta kung ang tinuod nga mga tiggamit nagsugod sa pagreklamo. Gusto nako nga maminusan ang epekto sa ubos nga kalidad nga software sa mga end user.

Usa sa mga solusyon mao ang pagpatuman sa mga proseso alang sa pagsusi sa kalidad sa software sa lain-laing mga ang-ang sa CI/CD Pipeline, ug pagdugang sa lain-laing mga sitwasyon alang sa pagpasig-uli sa sistema sa panahon sa usa ka emerhensya. Nahinumdom usab kami nga kami adunay mga DevOps. Gilauman sa mga negosyo nga makadawat usa ka bag-ong produkto sa labing madali. Busa, ang tanan namon nga mga tseke ug mga script kinahanglan nga awtomatiko.

Ang buluhaton gibahin sa duha ka bahin:

  • pagkontrol sa kalidad sa mga asembliya sa yugto sa pagsulay (aron ma-automate ang proseso sa pagdakop sa ubos nga kalidad nga mga asembliya);
  • pagkontrol sa kalidad sa software sa palibot sa produksiyon (mga mekanismo alang sa awtomatik nga pagkakita sa mga problema ug posible nga mga senaryo alang sa ilang pagkaayo sa kaugalingon).

Himan alang sa pagmonitor ug pagkolekta sa mga sukatan

Aron makab-ot ang gitakda nga mga tumong, gikinahanglan ang usa ka sistema sa pagmonitor nga makamatikod sa mga problema ug mabalhin kini ngadto sa mga sistema sa automation sa lain-laing mga yugto sa CI/CD pipeline. Mahimo usab kini nga usa ka positibo nga butang kung kini nga sistema maghatag mapuslanon nga mga sukatan alang sa lainlaing mga koponan: pag-uswag, pagsulay, operasyon. Ug kini talagsaon kaayo kung kini alang usab sa negosyo.

Aron makolekta ang mga sukatan, mahimo nimong gamiton ang usa ka hugpong sa lainlaing mga sistema (Prometheus, ELK Stack, Zabbix, ug uban pa), apan, sa akong opinyon, ang mga solusyon sa klase sa APM labing angay alang niini nga mga buluhaton (Pag-monitor sa Performance sa Application), nga makapasimple kaayo sa imong kinabuhi.

Isip kabahin sa akong trabaho sa serbisyo sa suporta, nagsugod ko sa pagbuhat sa susamang proyekto gamit ang solusyon sa klase sa APM gikan sa Dynatrace. Karon, nagtrabaho alang sa usa ka integrator, nahibal-an nako nga maayo ang merkado sa mga sistema sa pag-monitor. Ang akong suhetibong opinyon: Ang Dynatrace labing angay alang sa pagsulbad sa ingon nga mga problema.
Ang Dynatrace naghatag usa ka pinahigda nga pagtan-aw sa matag operasyon sa tiggamit sa usa ka granular nga lebel hangtod sa lebel sa pagpatuman sa code. Mahimo nimong masubay ang tibuok nga kadena sa interaksyon tali sa nagkalain-laing serbisyo sa impormasyon: gikan sa front-end nga lebel sa web ug mobile applications, back-end application servers, integration bus ngadto sa usa ka piho nga tawag sa database.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelineTinubdan. Awtomatikong pagtukod sa tanan nga mga dependency tali sa mga sangkap sa sistema

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelineTinubdan. Awtomatikong pagkakita ug pagtukod sa agianan sa operasyon sa serbisyo

Nahinumdom usab kami nga kinahanglan namon nga i-integrate ang lainlaing mga himan sa automation. Dinhi ang solusyon adunay usa ka kombenyente nga API nga nagtugot kanimo sa pagpadala ug pagdawat sa lainlaing mga sukatan ug mga panghitabo.

Sunod, magpadayon kita sa usa ka mas detalyado nga pagtan-aw kung giunsa pagsulbad kini nga mga problema gamit ang sistema sa Dynatrace.

Buluhaton 1. Pag-automate sa pagkontrol sa kalidad sa mga asembliya sa yugto sa pagsulay

Ang una nga hagit mao ang pagpangita sa mga problema sa labing sayo nga panahon sa pipeline sa pagpadala sa aplikasyon. Ang mga "maayo" nga code lamang ang kinahanglan makaabot sa produksiyon. Aron mahimo kini, ang imong pipeline sa yugto sa pagsulay kinahanglan adunay dugang nga mga monitor aron masusi ang kalidad sa imong mga serbisyo.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD Pipeline

Atong tan-awon ang sunod-sunod nga pagtan-aw kung giunsa kini ipatuman ug i-automate kini nga proseso:

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelineTinubdan

Gipakita sa numero ang dagan sa mga lakang sa pagsulay sa kalidad sa awtomatiko nga software:

  1. pagbutang sa usa ka sistema sa pagmonitor (pag-instalar sa mga ahente);
  2. pag-ila sa mga panghitabo alang sa pagtimbang-timbang sa kalidad sa imong software (metrics ug threshold values) ug pagbalhin niini ngadto sa monitoring system;
  3. henerasyon sa load ug performance pagsulay;
  4. pagkolekta sa performance ug availability data sa monitoring system;
  5. pagbalhin sa datos sa pagsulay base sa software quality assessment nga mga panghitabo gikan sa monitoring system ngadto sa CI/CD system. Awtomatikong pagtuki sa mga asembliya.

Lakang 1. Pag-deploy sa monitoring system

Una kinahanglan nimo nga i-install ang mga ahente sa imong palibot sa pagsulay. Sa parehas nga oras, ang solusyon sa Dynatrace adunay nindot nga bahin - gigamit niini ang unibersal nga ahente nga OneAgent, nga na-install sa usa ka pananglitan sa OS (Windows, Linux, AIX), awtomatiko nga nakit-an ang imong mga serbisyo ug nagsugod sa pagkolekta sa datos sa pag-monitor sa kanila. Dili nimo kinahanglan nga i-configure ang usa ka lahi nga ahente alang sa matag proseso. Ang sitwasyon mahimong susama sa cloud ug container platforms. Sa parehas nga oras, mahimo usab nimo nga awtomatiko ang proseso sa pag-install sa ahente. Ang Dynatrace hingpit nga mohaum sa konsepto nga "imprastraktura isip code" (Imprastraktura isip code o IaC): Adunay andam nga mga script ug mga panudlo alang sa tanan nga mga sikat nga platform. Imong gi-embed ang ahente sa pag-configure sa imong serbisyo, ug kung imong i-deploy kini, makadawat dayon ka og bag-ong serbisyo nga adunay nagtrabaho na nga ahente.

Lakang 2: Ipasabut ang imong mga panghitabo sa kalidad sa software

Karon kinahanglan nimo nga magdesisyon sa lista sa mga serbisyo ug operasyon sa negosyo. Mahinungdanon nga tagdon sa eksakto kadtong mga operasyon sa tiggamit nga hinungdanon sa negosyo alang sa imong serbisyo. Dinhi girekomenda ko ang pagkonsulta sa mga analista sa negosyo ug sistema.

Sunod, kinahanglan nimo nga mahibal-an kung unsang mga sukatan ang gusto nimong ilakip sa pagrepaso alang sa matag lebel. Pananglitan, mahimo kini nga oras sa pagpatuman (gibahin sa average, median, porsyento, ug uban pa), mga sayup (lohikal, serbisyo, imprastraktura, ug uban pa.)

Alang sa automation ug kadali sa paggamit sa DevOps team, ang konsepto sa "Pag-monitor ingon Code" makita. Ang akong gipasabot niini mao nga ang usa ka developer/tester makasulat ug simple nga JSON file nga naghubit sa software quality assurance metrics.

Atong tan-awon ang usa ka pananglitan sa ingon nga JSON file. Ang mga butang gikan sa Dynatrace API gigamit isip key/value pairs (ang paghulagway sa API makita dinhi Dynatrace API).

{
    "timeseries": [
    {
      "timeseriesId": "service.ResponseTime",
      "aggregation": "avg",
      "tags": "Frontend",
      "severe": 250000,
      "warning": 1000000
    },
    {
      "timeseriesId": "service.ResponseTime ",
      "aggregation": "avg",
      "tags": "Backend",
      "severe": 4000000,
      "warning": 8000000
    },
    {
      "timeseriesId": "docker.Container.Cpu",
      "aggregation": "avg",
      "severe": 50,
      "warning": 70
    }
  ]
}

Ang file usa ka han-ay sa mga kahulugan sa serye sa oras:

  • timeseriesId – ang metric nga gisusi, pananglitan, Response Time, Error count, Memory used, etc.;  
  • aggregation - lebel sa metrics aggregation, sa among kaso avg, pero pwede nimong gamiton ang bisan unsa nga imong gikinahanglan (avg, min, max, sum, count, percentile);
  • mga tag - butang nga tag sa sistema sa pag-monitor, o mahimo nimong itakda ang usa ka piho nga identifier sa butang;
  • grabe ug pasidaan - kini nga mga timailhan nag-regulate sa mga kantidad sa threshold sa among mga sukatan; kung ang kantidad sa pagsulay molapas sa grabe nga threshold, nan ang among pagtukod gimarkahan nga dili malampuson.

Ang mosunod nga numero nagpakita sa usa ka pananglitan sa paggamit sa maong mga sukaranan.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelineTinubdan

Lakang 3: Load Generation

Kung matino na namon ang kalidad nga lebel sa among serbisyo, kinahanglan namon nga maghimo usa ka pagsulay nga karga. Mahimo nimong gamiton ang bisan unsang mga himan sa pagsulay nga komportable ka, sama sa Jmeter, Selenium, Neotys, Gatling, ug uban pa.

Gitugotan ka sa sistema sa pagmonitor sa Dynatrace nga makuha nimo ang lainlaing metadata gikan sa imong mga pagsulay ug mahibal-an kung unsang mga pagsulay ang nahisakop kung diin nga siklo sa pagpagawas ug kung unsang serbisyo. Girekomenda nga idugang ang dugang nga mga ulohan sa mga hangyo sa pagsulay sa HTTP.

Ang mosunod nga numero nagpakita sa usa ka pananglitan diin, gamit ang dugang nga header nga X-Dynatrace-Test, among gipakita nga kini nga pagsulay may kalabutan sa pagsulay sa operasyon sa pagdugang sa usa ka butang ngadto sa kariton.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelineTinubdan

Kung modagan ka sa matag pagsulay sa pagkarga, magpadala ka ug dugang nga impormasyon sa konteksto sa Dynatrace gamit ang Event API gikan sa server sa CI/CD. Niining paagiha, ang sistema mahimong magkalainlain tali sa lainlaing mga pagsulay.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelineTinubdan. Panghitabo sa monitoring system bahin sa pagsugod sa load testing

Lakang 4-5. Pagkolekta sa datos sa pasundayag ug pagbalhin sa datos ngadto sa sistema sa CI/CD

Kauban sa nahimo nga pagsulay, usa ka panghitabo ang gipasa sa sistema sa pag-monitor bahin sa panginahanglan sa pagkolekta sa datos sa pagsusi sa mga timailhan sa kalidad sa serbisyo. Gipiho usab niini ang among JSON file, nga naghubit sa mga yawe nga sukatan.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelinePanghinabo mahitungod sa panginahanglan sa pagsusi sa kalidad sa software nga namugna sa CI/CD server alang sa pagpadala sa monitoring system

Sa among panig-ingnan, gitawag ang kalihokan sa pagsusi sa kalidad perfSigDynatraceReport (Performance_Signature) - andam na kini plugin alang sa panagsama sa Jenkins, nga gimugna sa mga lalaki gikan sa T-Systems Multimedia Solutions. Ang matag kalihokan sa paglansad sa pagsulay adunay kasayuran bahin sa serbisyo, numero sa pagtukod, ug oras sa pagsulay. Gikolekta sa plugin ang mga kantidad sa pasundayag sa oras sa pagtukod, gisusi kini, ug gitandi ang resulta sa mga nauna nga pagtukod ug mga kinahanglanon nga dili magamit.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelinePanghitabo sa sistema sa pagmonitor bahin sa pagsugod sa usa ka pagsusi sa kalidad sa pagtukod. Tinubdan

Pagkahuman sa pagsulay, ang tanan nga mga sukatan alang sa pagtimbang-timbang sa kalidad sa software gibalhin balik sa usa ka padayon nga sistema sa panagsama, pananglitan, Jenkins, nga naghimo usa ka taho sa mga resulta.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelineAng resulta sa mga estadistika sa mga asembliya sa CI/CD server. Tinubdan

Alang sa matag indibidwal nga pagtukod, nakita namon ang mga istatistika para sa matag sukatan nga among gitakda sa tibuuk nga pagsulay. Nakita usab namo kung adunay mga paglapas sa pipila nga mga kantidad sa threshold (pasidaan ug grabe nga mga thrashhold). Base sa aggregate metrics, ang tibuok build gimarkahan nga stable, unstable, o failed. Usab, alang sa kasayon, mahimo nimong idugang ang mga timailhan sa taho nga nagtandi sa karon nga pagtukod sa nauna.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelineTan-awa ang detalyadong estadistika sa mga asembliya sa CI/CD server. Tinubdan

Detalyadong pagtandi sa duha ka asembliya

Kung gikinahanglan, makaadto ka sa interface sa Dynatrace ug didto nimo matan-aw ang mga estadistika sa matag usa sa imong mga pagtukod sa mas detalyado ug itandi kini sa usag usa.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelinePagtandi sa mga estadistika sa pagtukod sa Dynatrace. Tinubdan
 
kaplag

Ingon usa ka sangputanan, nakakuha kami usa ka serbisyo nga "pag-monitor ingon usa ka serbisyo", awtomatiko sa padayon nga pipeline sa panagsama. Ang developer o tester kinahanglan lang nga maghubit sa usa ka lista sa mga sukatan sa usa ka JSON file, ug ang tanan nga butang awtomatikong mahitabo. Nakadawat kami og klaro nga pagkontrol sa kalidad sa mga pagpagawas: tanan nga mga pahibalo bahin sa pasundayag, pagkonsumo sa kapanguhaan o mga pagbag-o sa arkitektura.

Buluhaton 2. Pag-automate sa pagkontrol sa kalidad sa software sa usa ka palibot sa produksiyon

Mao nga, nasulbad namon ang problema kung giunsa ang pag-automate sa proseso sa pag-monitor sa yugto sa pagsulay sa Pipeline. Niining paagiha atong mamenosan ang porsyento sa ubos nga kalidad nga mga asembliya nga makaabot sa palibot sa produksiyon.

Apan unsa ang buhaton kung ang dili maayo nga software matapos nga gibaligya, o usa ka butang nga naguba. Alang sa usa ka utopia, gusto namon ang mga mekanismo nga awtomatik nga makit-an ang mga problema ug, kung mahimo, ang sistema mismo nga ibalik ang pagpaandar niini, labing menos sa gabii.

Aron mahimo kini, kinahanglan namon, pinaagi sa pagtandi sa miaging seksyon, aron mahatagan ang awtomatik nga pagsusi sa kalidad sa software sa palibot sa produksiyon ug ibase kini sa mga senaryo alang sa pag-ayo sa kaugalingon sa sistema.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD Pipeline
Autocorrect isip code

Kadaghanan sa mga kompanya adunay naipon nga base sa kahibalo sa lainlaing mga lahi sa kasagarang mga problema ug usa ka lista sa mga aksyon aron ayohon kini, pananglitan, pag-restart sa mga proseso, paglimpyo sa mga kapanguhaan, pag-roll back nga mga bersyon, pagpasig-uli sa dili balido nga mga pagbag-o sa pag-configure, pagdugang o pagkunhod sa gidaghanon sa mga sangkap sa ang cluster, pagbalhin sa asul o berde nga outline ug uban pa.

Samtang kini nga mga kaso sa paggamit nahibal-an sa daghang mga tuig sa daghang mga team nga akong nakigsulti, pipila ra ang naghunahuna o namuhunan sa pag-automate niini.

Kung hunahunaon nimo kini, wala’y labi ka komplikado sa pagpatuman sa mga proseso alang sa pag-ayo sa kaugalingon nga aplikasyon sa pag-ayo; kinahanglan nimo nga ipresentar ang nahibal-an na nga mga senaryo sa trabaho sa imong mga administrador sa porma sa mga script sa code (ang konsepto nga "auto-fix as code") , nga imong gisulat daan alang sa matag piho nga kaso. Ang mga awtomatikong script sa pag-ayo kinahanglan nga gitumong sa pagwagtang sa hinungdan sa problema. Ikaw mismo ang nagdeterminar sa saktong mga aksyon aron matubag ang usa ka insidente.

Ang bisan unsang sukatan gikan sa imong sistema sa pag-monitor mahimong molihok ingon usa ka hinungdan sa paglansad sa script, ang panguna nga butang mao nga kini nga mga sukatan tukma nga nagtino nga ang tanan dili maayo, tungod kay dili nimo gusto nga makakuha mga sayup nga positibo sa usa ka produktibo nga palibot.

Mahimo nimong gamiton ang bisan unsang sistema o set sa mga sistema: Prometheus, ELK Stack, Zabbix, ug uban pa. Apan maghatag ko og pipila ka mga pananglitan base sa usa ka solusyon sa APM (Dynatrace mahimong usa ka ehemplo pag-usab) nga makatabang usab sa paghimo sa imong kinabuhi nga mas sayon.

Una, adunay tanan nga may kalabutan sa pasundayag sa mga termino sa operasyon sa aplikasyon. Naghatag ang solusyon og gatusan nga mga sukatan sa lainlaing lebel nga mahimo nimong magamit ingon mga hinungdan:

  • lebel sa tiggamit (mga browser, mobile application, IoT device, pamatasan sa user, pagkakabig, ug uban pa);
  • lebel sa serbisyo ug operasyon (performance, availability, errors, etc.);
  • lebel sa imprastraktura sa aplikasyon (host OS metrics, JMX, MQ, web-server, ug uban pa);
  • lebel sa plataporma (virtualization, cloud, container, ug uban pa).

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelineMga lebel sa pag-monitor sa Dynatrace. Tinubdan

Ikaduha, sama sa akong giingon sa sayo pa, ang Dynatrace adunay bukas nga API, nga nagpadali sa pag-integrate sa lainlaing mga sistema sa ikatulo nga partido. Pananglitan, ang pagpadala sa usa ka pahibalo sa sistema sa automation kung ang mga parameter sa pagkontrol nalapas.

Sa ubos usa ka pananglitan sa pagpakig-uban sa Ansible.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelineTinubdan

Sa ubos maghatag ako pipila ka mga pananglitan kung unsang klase sa automation ang mahimo. Kini usa lamang ka bahin sa mga kaso; ang ilang listahan sa imong palibot mahimong limitado lamang sa imong imahinasyon ug sa mga kapabilidad sa imong mga himan sa pagmonitor.

1. Dili maayo nga deploy - bersyon rollback

Bisan kung gisulayan namon pag-ayo ang tanan sa usa ka palibot sa pagsulay, adunay higayon nga ang usa ka bag-ong pagpagawas mahimong makapatay sa imong aplikasyon sa usa ka palibot sa produksiyon. Ang parehas nga hinungdan sa tawo wala gikansela.

Sa mosunod nga numero atong makita nga adunay usa ka mahait nga paglukso sa panahon sa pagpatuman sa mga operasyon sa serbisyo. Ang sinugdanan sa kini nga paglukso nahiuyon sa oras sa pag-deploy sa aplikasyon. Gipadala namo kining tanan nga impormasyon isip mga panghitabo ngadto sa sistema sa automation. Kung ang pasundayag sa serbisyo dili mobalik sa normal pagkahuman sa oras nga among gitakda, unya ang usa ka script awtomatik nga gitawag nga nag-roll balik sa bersyon sa daan.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelinePagkadaot sa pasundayag sa operasyon pagkahuman sa pag-deploy. Tinubdan

2. Resource loading sa 100% - pagdugang og node sa routing

Sa mosunod nga pananglitan, ang sistema sa pag-monitor nagtino nga ang usa sa mga sangkap nakasinati sa 100% nga load sa CPU.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelineCPU load 100%
 
Adunay daghang lainlaing mga senaryo nga posible alang niini nga panghitabo. Pananglitan, ang sistema sa pag-monitor dugang nga nagsusi kung ang kakulang sa mga kahinguhaan adunay kalabotan sa pagtaas sa karga sa serbisyo. Kung mao, unya usa ka script ang gipatuman nga awtomatiko nga nagdugang usa ka node sa ruta, sa ingon gipahiuli ang pagpaandar sa sistema sa kinatibuk-an.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelinePag-scale pagkahuman sa usa ka insidente

3. Kakulang sa luna sa hard drive - paglimpyo sa disk

Sa akong hunahuna daghang mga tawo ang naka-automate na niini nga mga proseso. Gamit ang APM, mahimo usab nimong bantayan ang libre nga wanang sa subsystem sa disk. Kung walay luna o hinay nga nagdagan ang disk, nagtawag kami og script aron limpyohan kini o makadugang og luna.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD Pipeline
Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelinePagkarga sa disc 100%
 
4. Ubos nga kalihokan sa tiggamit o ubos nga pagkakabig - pagbalhin tali sa asul ug berde nga mga sanga

Kanunay nakong makita ang mga kustomer nga naggamit og duha ka loops (blue-green deploy) alang sa mga aplikasyon sa usa ka palibot sa produksiyon. Gitugotan ka niini nga dali nga magbalhinbalhin tali sa mga sanga kung maghatud mga bag-ong pagpagawas. Kasagaran, pagkahuman sa pag-deploy, mahimo’g mahitabo ang daghang mga pagbag-o nga dili dayon mamatikdan. Sa kini nga kaso, ang pagkadaot sa pasundayag ug pagkaanaa mahimong dili maobserbahan. Aron dali nga makatubag sa ingon nga mga pagbag-o, mas maayo nga gamiton ang lainlaing mga sukatan nga nagpakita sa pamatasan sa gumagamit (gidaghanon sa mga sesyon ug mga aksyon sa gumagamit, pagkakabig, bounce rate). Ang mosunud nga numero nagpakita sa usa ka pananglitan diin, kung ang rate sa pagkakabig moubos, ang pagbalhin tali sa mga sanga sa software mahitabo.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelineAng rate sa pagkakabig mikunhod human sa pagbalhin tali sa mga sanga sa software. Tinubdan

Mga mekanismo alang sa awtomatikong pagtuki sa problema

Sa katapusan, hatagan ko ikaw usa pa ka pananglitan kung ngano nga gusto nako ang Dynatrace.

Sa bahin sa akong istorya bahin sa pag-automate sa mga pagsusi sa kalidad sa mga asembliya sa usa ka palibot sa pagsulay, gitino namon nga mano-mano ang tanan nga mga kantidad sa threshold. Normal kini alang sa usa ka palibot sa pagsulay; ang tester mismo ang nagtino sa mga timailhan sa wala pa ang matag pagsulay depende sa karga. Sa usa ka palibot sa produksiyon, tilinguhaon nga awtomatiko nga makit-an ang mga problema, nga gikonsiderar ang lainlaing mga mekanismo sa baseline.

Ang Dynatrace adunay makaiikag nga built-in nga artificial intelligence nga mga himan nga, base sa mga mekanismo sa pagtino sa anomalous metrics (baselining) ug paghimo og mapa sa interaksyon tali sa tanang mga component, pagtandi ug pagkoritar sa mga panghitabo sa usag usa, pagtino sa mga anomaliya sa operasyon sa imong serbisyo ug paghatag og detalyadong impormasyon sa matag problema ug ugat nga hinungdan.

Pinaagi sa awtomatik nga pag-analisar sa mga dependency tali sa mga sangkap, gitino sa Dynatrace dili lamang kung ang problema nga serbisyo mao ang hinungdan, apan usab ang pagsalig niini sa ubang mga serbisyo. Sa panig-ingnan sa ubos, ang Dynatrace awtomatik nga nagmonitor ug nagtimbang-timbang sa kahimsog sa matag serbisyo sulod sa pagpatuman sa transaksyon, nga nagpaila sa serbisyo sa Golang isip ang hinungdan.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelineUsa ka pananglitan sa pagtino sa hinungdan sa usa ka kapakyasan. Tinubdan

Ang mosunod nga numero nagpakita sa proseso sa pagmonitor sa mga problema sa imong aplikasyon gikan sa pagsugod sa usa ka insidente.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelinePagtan-aw sa usa ka mitumaw nga problema sa pagpakita sa tanan nga mga sangkap ug mga panghitabo sa kanila

Ang sistema sa pagmonitor nagkolekta sa usa ka kompleto nga kronolohiya sa mga panghitabo nga may kalabutan sa problema nga mitungha. Sa bintana sa ubos sa timeline makita namon ang tanan nga hinungdanon nga mga panghitabo sa matag usa sa mga sangkap. Pinasukad niini nga mga panghitabo, mahimo nimong itakda ang mga pamaagi alang sa awtomatikong pagtul-id sa porma sa mga script sa code.

Dugang pa, gitambagan ko ikaw nga i-integrate ang usa ka monitoring system sa Service Desk o usa ka bug tracker. Kung mahitabo ang usa ka problema, ang mga developer dali nga makadawat sa kompleto nga kasayuran aron analisahon kini sa lebel sa code sa palibot sa produksiyon.

konklusyon

Ingon usa ka sangputanan, natapos namon ang usa ka pipeline sa CI / CD nga adunay built-in nga awtomatikong pagsusi sa kalidad sa software sa Pipeline. Gipamenos namo ang gidaghanon sa ubos nga kalidad nga mga asembliya, gidugangan ang pagkakasaligan sa sistema sa kinatibuk-an, ug kung mapakyas gihapon ang among sistema, naglunsad kami og mga mekanismo aron mapasig-uli kini.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD Pipeline
Talagsaon nga takus ang pagpamuhunan sa paningkamot sa pag-automate sa pag-monitor sa kalidad sa software; dili kini kanunay nga usa ka dali nga proseso, apan sa paglabay sa panahon kini mamunga. Girekomenda ko nga pagkahuman sa pagsulbad sa usa ka bag-ong insidente sa palibot sa produksiyon, hunahunaa dayon nimo kung unsang mga monitor ang idugang alang sa mga tseke sa palibot sa pagsulay aron malikayan ang dili maayo nga pagtukod gikan sa pagsulod sa produksiyon, ug maghimo usab usa ka script aron awtomatiko nga matul-id kini nga mga problema.

Nanghinaut ko nga ang akong mga ehemplo makatabang kanimo sa imong mga paningkamot. Interesado usab ako nga makita ang imong mga pananglitan sa mga sukatan nga gigamit sa pagpatuman sa mga sistema sa pag-ayo sa kaugalingon.

Padayon nga Pag-monitor - automation sa mga pagsusi sa kalidad sa software sa CI / CD PipelineTinubdan

Source: www.habr.com

Idugang sa usa ka comment