Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CD

Bayi koko ti DevOps wa lori aruwo. Itẹsiwaju Integration ati Ifijiṣẹ Pipeline CI / CD gbogbo eniyan n ṣe imuse rẹ. Ṣugbọn pupọ julọ kii ṣe akiyesi nigbagbogbo lati rii daju igbẹkẹle awọn eto alaye ni awọn ipele oriṣiriṣi ti Pipeline CI/CD. Ninu nkan yii Emi yoo fẹ lati sọrọ nipa iriri mi ni adaṣe adaṣe awọn sọwedowo didara sọfitiwia ati imuse awọn oju iṣẹlẹ ti o ṣeeṣe fun “iwosan ara-ẹni”.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDOrisun

Mo ṣiṣẹ bi ẹlẹrọ ni ẹka iṣakoso iṣẹ IT ti ile-iṣẹ kan "LANIT-Idapọ". Agbegbe mojuto mi ti oye ni imuse ti ọpọlọpọ awọn iṣẹ ṣiṣe ohun elo ati awọn eto ibojuwo wiwa. Nigbagbogbo Mo ṣe ibasọrọ pẹlu awọn alabara IT lati oriṣiriṣi awọn apakan ọja nipa awọn ọran lọwọlọwọ nipa ṣiṣe abojuto didara awọn iṣẹ IT wọn. Ibi-afẹde akọkọ ni lati dinku akoko ọmọ itusilẹ ati mu igbohunsafẹfẹ ti awọn idasilẹ pọ si. Eyi, nitorinaa, gbogbo rẹ dara: awọn idasilẹ diẹ sii - awọn ẹya tuntun diẹ sii - awọn olumulo inu didun diẹ sii - ere diẹ sii. Ṣugbọn ni otitọ, awọn nkan ko nigbagbogbo ṣiṣẹ daradara. Pẹlu awọn oṣuwọn imuṣiṣẹ ti o ga pupọ, ibeere naa waye lẹsẹkẹsẹ nipa didara awọn idasilẹ wa. Paapaa pẹlu opo gigun ti adaṣe ni kikun, ọkan ninu awọn italaya nla julọ ni gbigbe awọn iṣẹ lati idanwo si iṣelọpọ laisi ipa akoko ohun elo ati iriri olumulo.

Da lori awọn abajade ti awọn ibaraẹnisọrọ lọpọlọpọ pẹlu awọn alabara, Mo le sọ pe itusilẹ iṣakoso didara, iṣoro ti igbẹkẹle ohun elo ati iṣeeṣe ti “iwosan ara ẹni” (fun apẹẹrẹ, yiyi pada si ẹya iduroṣinṣin) ni awọn ipele pupọ ti CI /Opopona CD wa laarin awọn koko-ọrọ ti o ni itara julọ ati ti o yẹ.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CD
Laipẹ, Emi funrarami ṣiṣẹ ni ẹgbẹ alabara - ni iṣẹ atilẹyin sọfitiwia ohun elo ile-ifowopamọ ori ayelujara. Awọn faaji ti ohun elo wa lo nọmba nla ti awọn iṣẹ microservices ti ara ẹni. Ohun ti o dun julọ ni pe kii ṣe gbogbo awọn olupilẹṣẹ le koju iyara giga ti idagbasoke; didara diẹ ninu awọn iṣẹ microservices jiya, eyiti o jẹ ki awọn orukọ apeso alarinrin fun wọn ati awọn ẹlẹda wọn. Awọn itan wa nipa kini awọn ohun elo ti a ṣe awọn ọja wọnyi lati.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CD

"Idasilẹ ti iṣoro naa"

Igbohunsafẹfẹ giga ti awọn idasilẹ ati nọmba nla ti awọn iṣẹ microservice jẹ ki o ṣoro lati loye iṣẹ ti ohun elo lapapọ, mejeeji ni ipele idanwo ati ni ipele iṣiṣẹ. Awọn ayipada waye nigbagbogbo ati pe o nira pupọ lati ṣakoso wọn laisi awọn irinṣẹ ibojuwo to dara. Nigbagbogbo, lẹhin itusilẹ alẹ ni owurọ, awọn olupilẹṣẹ joko bi lori keg lulú ati duro fun ohunkohun lati fọ, botilẹjẹpe gbogbo awọn sọwedowo ni aṣeyọri ni ipele idanwo.

Ojuami kan wa. Ni ipele idanwo, iṣẹ ṣiṣe ti sọfitiwia ti ṣayẹwo: imuse awọn iṣẹ akọkọ ti ohun elo ati isansa awọn aṣiṣe. Awọn igbelewọn iṣẹ ṣiṣe pipe boya sonu tabi maṣe ṣe akiyesi gbogbo awọn abala ti ohun elo ati ipele isọpọ. Diẹ ninu awọn metiriki le ma ṣe ayẹwo rara. Bi abajade, nigbati fifọ ba waye ni agbegbe iṣelọpọ, ẹka atilẹyin imọ-ẹrọ nikan rii nipa rẹ nigbati awọn olumulo gidi bẹrẹ ẹdun. Emi yoo fẹ lati dinku ipa ti sọfitiwia didara kekere lori awọn olumulo ipari.

Ọkan ninu awọn ojutu ni lati ṣe awọn ilana fun ṣiṣe ayẹwo didara sọfitiwia ni awọn ipele oriṣiriṣi ti Pipeline CI/CD, ati ṣafikun ọpọlọpọ awọn oju iṣẹlẹ fun mimu-pada sipo eto ni iṣẹlẹ ti pajawiri. A tun ranti pe a ni DevOps. Awọn iṣowo nireti lati gba ọja tuntun ni yarayara bi o ti ṣee. Nitorinaa, gbogbo awọn sọwedowo ati awọn iwe afọwọkọ wa gbọdọ jẹ adaṣe.

Iṣẹ naa ti pin si awọn ẹya meji:

  • iṣakoso didara ti awọn apejọ ni ipele idanwo (lati ṣe adaṣe ilana ti mimu awọn apejọ didara kekere);
  • iṣakoso didara sọfitiwia ni agbegbe iṣelọpọ (awọn ilana fun wiwa laifọwọyi ti awọn iṣoro ati awọn oju iṣẹlẹ ti o ṣeeṣe fun imularada ti ara ẹni).

Irinṣẹ fun ibojuwo ati gbigba awọn metiriki

Lati le ṣaṣeyọri awọn ibi-afẹde ti a ṣeto, eto ibojuwo kan nilo ti o le rii awọn iṣoro ati gbigbe wọn si awọn eto adaṣe ni awọn ipele pupọ ti opo gigun ti epo CI/CD. Yoo tun jẹ ohun rere ti eto yii ba pese awọn metiriki to wulo fun ọpọlọpọ awọn ẹgbẹ: idagbasoke, idanwo, iṣẹ. Ati pe o jẹ iyalẹnu gaan ti o ba tun jẹ fun iṣowo.

Lati gba awọn metiriki, o le lo eto oriṣiriṣi awọn ọna ṣiṣe (Prometheus, ELK Stack, Zabbix, ati bẹbẹ lọ), ṣugbọn, ni ero mi, awọn ipinnu kilasi APM dara julọ fun awọn iṣẹ ṣiṣe wọnyi (Abojuto Iṣẹ Ohun elo), eyiti o le jẹ ki igbesi aye rẹ rọrun pupọ.

Gẹgẹbi apakan ti iṣẹ mi ni iṣẹ atilẹyin, Mo bẹrẹ ṣiṣe iru iṣẹ akanṣe nipa lilo ojutu kilasi APM lati Dynatrace. Bayi, ṣiṣẹ fun ohun Integration, Mo mọ awọn monitoring awọn ọna šiše oja oyimbo daradara. Ero ero-ara mi: Dynatrace dara julọ fun ipinnu iru awọn iṣoro bẹ.
Dynatrace n pese wiwo petele ti gbogbo iṣẹ olumulo ni ipele granular kan si isalẹ ipele ipaniyan koodu. O le tọpa gbogbo pq ti ibaraenisepo laarin awọn iṣẹ alaye lọpọlọpọ: lati awọn ipele iwaju-ipari ti oju opo wẹẹbu ati awọn ohun elo alagbeka, awọn olupin ohun elo ẹhin-ipari, ọkọ akero iṣọpọ si ipe kan pato si ibi ipamọ data.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDOrisun. Laifọwọyi ikole ti gbogbo awọn gbára laarin eto irinše

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDOrisun. Wiwa aifọwọyi ati ikole ti ọna iṣẹ iṣẹ

A tun ranti pe a nilo lati ṣepọ pẹlu ọpọlọpọ awọn irinṣẹ adaṣe. Nibi ojutu ni API ti o rọrun ti o fun ọ laaye lati firanṣẹ ati gba ọpọlọpọ awọn metiriki ati awọn iṣẹlẹ.

Nigbamii, jẹ ki a lọ si wo alaye diẹ sii bi o ṣe le yanju awọn iṣoro wọnyi nipa lilo eto Dynatrace.

Iṣẹ-ṣiṣe 1. Automation ti iṣakoso didara ti awọn apejọ ni ipele idanwo

Ipenija akọkọ ni lati wa awọn iṣoro ni kutukutu bi o ti ṣee ni opo gigun ti ifijiṣẹ ohun elo. Awọn koodu “dara” nikan ni o yẹ ki o de iṣelọpọ. Lati ṣe eyi, opo gigun ti epo rẹ ni ipele idanwo yẹ ki o pẹlu awọn diigi afikun lati ṣayẹwo didara awọn iṣẹ rẹ.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CD

Jẹ ki a wo ni igbese-nipasẹ-igbesẹ bi a ṣe le ṣe eyi ki o ṣe adaṣe ilana yii:

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDOrisun

Nọmba naa fihan sisan ti awọn igbesẹ idanwo didara sọfitiwia adaṣe:

  1. imuṣiṣẹ ti eto ibojuwo (fifi sori ẹrọ ti awọn aṣoju);
  2. idamo awọn iṣẹlẹ fun iṣiro didara sọfitiwia rẹ (awọn metiriki ati awọn iye ala) ati gbigbe wọn si eto ibojuwo;
  3. iran ti fifuye ati awọn idanwo iṣẹ;
  4. gbigba iṣẹ ati data wiwa ni eto ibojuwo;
  5. gbigbe data idanwo ti o da lori awọn iṣẹlẹ igbelewọn didara sọfitiwia lati eto ibojuwo si eto CI / CD. Itupalẹ aifọwọyi ti awọn apejọ.

Igbesẹ 1. Imuṣiṣẹ ti eto ibojuwo

Ni akọkọ o nilo lati fi sori ẹrọ awọn aṣoju ni agbegbe idanwo rẹ. Ni akoko kanna, ojutu Dynatrace ni ẹya ti o wuyi - o nlo aṣoju agbaye OneAgent, eyiti o fi sii lori apẹẹrẹ OS (Windows, Linux, AIX), ṣe iwari awọn iṣẹ rẹ laifọwọyi ati bẹrẹ gbigba data ibojuwo lori wọn. O ko nilo lati tunto aṣoju lọtọ fun ilana kọọkan. Ipo naa yoo jẹ iru fun awọsanma ati awọn iru ẹrọ eiyan. Ni akoko kanna, o tun le ṣe adaṣe ilana fifi sori ẹrọ aṣoju. Dynatrace baamu ni pipe sinu ero “awọn amayederun bi koodu” (Awọn amayederun bi koodu tabi IaC): Awọn iwe afọwọkọ ti a ti ṣetan ati awọn ilana wa fun gbogbo awọn iru ẹrọ olokiki. O fi oluranlowo sinu iṣeto ti iṣẹ rẹ, ati nigbati o ba fi ranṣẹ, o gba iṣẹ tuntun lẹsẹkẹsẹ pẹlu aṣoju ti n ṣiṣẹ tẹlẹ.

Igbesẹ 2: Ṣetumo awọn iṣẹlẹ didara sọfitiwia rẹ

Bayi o nilo lati pinnu lori atokọ ti awọn iṣẹ ati awọn iṣẹ iṣowo. O ṣe pataki lati ṣe akiyesi deede awọn iṣẹ ṣiṣe olumulo ti o ṣe pataki iṣowo fun iṣẹ rẹ. Nibi Mo ṣeduro ijumọsọrọ pẹlu iṣowo ati awọn atunnkanka eto.

Nigbamii, o nilo lati pinnu iru awọn metiriki ti o fẹ lati ni ninu atunyẹwo fun ipele kọọkan. Fun apẹẹrẹ, eyi le jẹ akoko ipaniyan (pin si apapọ, agbedemeji, awọn ipin ogorun, ati bẹbẹ lọ), awọn aṣiṣe (logbon, iṣẹ, amayederun, ati bẹbẹ lọ) ati ọpọlọpọ awọn metiriki amayederun (okiti iranti, ikojọpọ idoti, kika okun, ati bẹbẹ lọ).

Fun adaṣe ati irọrun ti lilo nipasẹ ẹgbẹ DevOps, imọran ti “Abojuto bi koodu” han. Ohun ti Mo tumọ si nipasẹ eyi ni pe olupilẹṣẹ / oluyẹwo le kọ faili JSON ti o rọrun ti o ṣalaye awọn metiriki idaniloju didara sọfitiwia.

Jẹ ki a wo apẹẹrẹ iru faili JSON kan. Awọn nkan lati Dynatrace API ni a lo bi awọn orisii bọtini/iye (apejuwe API ni a le rii nibi 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
    }
  ]
}

Fáìlì náà jẹ àkójọpọ̀ àwọn ìtumọ̀ àkópọ̀ àkókò:

  • timeseriesId – metiriki ti a ṣayẹwo, fun apẹẹrẹ, Akoko Idahun, Aṣiṣe kika, Iranti ti a lo, ati bẹbẹ lọ;  
  • apapọ - ipele ti apapọ awọn metiriki, ninu ọran wa avg, ṣugbọn o le lo eyikeyi ọkan ti o nilo (apapọ, min, max, sum, count, percentile);
  • afi – aami ohun ni eto ibojuwo, tabi o le pato idamo ohun kan pato;
  • àìdá ati ikilọ - awọn itọkasi wọnyi ṣe ilana awọn iye ala ti awọn metiriki wa; ti iye idanwo ba kọja iloro ti o lagbara, lẹhinna kikọ wa ti samisi bi ko ṣe aṣeyọri.

Nọmba atẹle yii fihan apẹẹrẹ ti lilo iru awọn iloro.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDOrisun

Igbesẹ 3: Iran fifuye

Ni kete ti a ti pinnu awọn ipele didara ti iṣẹ wa, a nilo lati ṣe ina fifuye idanwo kan. O le lo eyikeyi awọn irinṣẹ idanwo ti o ni itunu pẹlu, gẹgẹbi Jmeter, Selenium, Neotys, Gatling, ati bẹbẹ lọ.

Eto ibojuwo Dynatrace ngbanilaaye lati mu ọpọlọpọ awọn metadata lati inu awọn idanwo rẹ ki o ṣe idanimọ iru awọn idanwo wo ti iru ọmọ itusilẹ ati iṣẹ wo. A ṣe iṣeduro lati ṣafikun awọn akọle afikun si awọn ibeere idanwo HTTP.

Nọmba atẹle yii fihan apẹẹrẹ nibiti, ni lilo akọsori afikun X-Dynatrace-Test, a fihan pe idanwo yii ni ibatan si idanwo iṣẹ ti fifi ohun kan kun fun rira.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDOrisun

Nigbati o ba ṣiṣe idanwo fifuye kọọkan, o firanṣẹ awọn alaye asọye afikun si Dynatrace ni lilo API Iṣẹlẹ lati olupin CI/CD. Ni ọna yii, eto le ṣe iyatọ laarin awọn idanwo oriṣiriṣi.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDOrisun. Iṣẹlẹ ninu eto ibojuwo nipa ibẹrẹ ti idanwo fifuye

Igbesẹ 4-5. Gba data iṣẹ ati gbe data lọ si eto CI/CD

Paapọ pẹlu idanwo ti ipilẹṣẹ, iṣẹlẹ kan ti gbejade si eto ibojuwo nipa iwulo lati gba data lori ṣayẹwo awọn afihan didara iṣẹ. O tun ṣalaye faili JSON wa, eyiti o ṣalaye awọn metiriki bọtini.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDIṣẹlẹ nipa iwulo lati ṣayẹwo didara sọfitiwia ti ipilẹṣẹ lori olupin CI/CD fun fifiranṣẹ si eto ibojuwo

Ninu apẹẹrẹ wa, iṣẹlẹ ayẹwo didara ni a pe perfSigDynatraceIroyin (Iṣẹ_Ibuwọlu) - eyi ti šetan pulọọgi ninu fun Integration pẹlu Jenkins, eyi ti a ti ni idagbasoke nipasẹ awọn enia buruku lati T-Systems Multimedia Solutions. Iṣẹlẹ ifilọlẹ idanwo kọọkan ni alaye nipa iṣẹ naa, nọmba kọ, ati akoko idanwo. Ohun itanna naa gba awọn iye iṣẹ ṣiṣe ni akoko kikọ, ṣe iṣiro wọn, ati ṣe afiwe abajade pẹlu awọn ile iṣaaju ati awọn ibeere ti kii ṣe iṣẹ.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDIṣẹlẹ ninu awọn monitoring eto nipa awọn ibere ti a Kọ didara ayẹwo. Orisun

Lẹhin ti idanwo naa ti pari, gbogbo awọn metiriki fun iṣiro didara sọfitiwia ni a gbe pada si eto isọpọ igbagbogbo, fun apẹẹrẹ, Jenkins, eyiti o ṣe agbejade ijabọ kan lori awọn abajade.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDAbajade awọn iṣiro lori awọn apejọ lori olupin CI/CD. Orisun

Fun kikọ kọọkan kọọkan, a rii awọn iṣiro fun metiriki kọọkan ti a ṣeto jakejado gbogbo idanwo naa. A tun rii boya awọn irufin ba wa ni awọn iye ala-ilẹ kan (ikilọ ati awọn iloro ti o lagbara). Da lori awọn metiriki apapọ, gbogbo itumọ ti jẹ samisi bi iduroṣinṣin, riru, tabi kuna. Paapaa, fun irọrun, o le ṣafikun awọn itọka si ijabọ ti o ṣe afiwe kikọ lọwọlọwọ pẹlu ọkan ti tẹlẹ.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDWo awọn iṣiro alaye lori awọn apejọ lori olupin CI/CD. Orisun

Ifiwewe alaye ti awọn apejọ meji

Ti o ba jẹ dandan, o le lọ si wiwo Dynatrace ati pe o le wo awọn iṣiro fun ọkọọkan ti o kọ ni awọn alaye diẹ sii ki o ṣe afiwe wọn pẹlu ara wọn.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDLafiwe ti Kọ statistiki ni Dynatrace. Orisun
 
awari

Bi abajade, a gba iṣẹ “abojuto bi iṣẹ kan”, adaṣe ni opo gigun ti isọpọ igbagbogbo. Olùgbéejáde tàbí olùdánwò nikan nilo lati ṣalaye atokọ ti awọn metiriki ninu faili JSON kan, ati pe ohun gbogbo miiran n ṣẹlẹ laifọwọyi. A gba iṣakoso didara sihin ti awọn idasilẹ: gbogbo awọn iwifunni nipa iṣẹ ṣiṣe, agbara orisun tabi awọn ifasilẹ ayaworan.

Iṣẹ-ṣiṣe 2. Automation ti iṣakoso didara software ni agbegbe iṣelọpọ

Nitorinaa, a ti yanju iṣoro ti bii o ṣe le ṣe adaṣe ilana ibojuwo ni ipele idanwo ni Pipeline. Ni ọna yii a dinku ipin ogorun ti awọn apejọ didara kekere ti o de agbegbe iṣelọpọ.

Ṣugbọn kini lati ṣe ti sọfitiwia buburu ba pari ni tita, tabi nkan kan ṣẹ. Fun utopia kan, a fẹ awọn ọna ṣiṣe lati rii awọn iṣoro laifọwọyi ati, ti o ba ṣeeṣe, eto funrararẹ lati mu iṣẹ ṣiṣe rẹ pada, o kere ju ni alẹ.

Lati ṣe eyi, a nilo, nipasẹ afiwe pẹlu apakan ti tẹlẹ, lati pese fun awọn sọwedowo didara sọfitiwia laifọwọyi ni agbegbe iṣelọpọ ati lati da wọn si awọn oju iṣẹlẹ fun imularada ti ara ẹni.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CD
Atunṣe laifọwọyi bi koodu

Pupọ awọn ile-iṣẹ tẹlẹ ti ni ipilẹ oye ti akojo ti ọpọlọpọ awọn iru awọn iṣoro ti o wọpọ ati atokọ ti awọn iṣe lati ṣatunṣe wọn, fun apẹẹrẹ, awọn ilana tun bẹrẹ, nu awọn orisun, awọn ẹya sẹsẹ pada, mimu-pada sipo awọn ayipada atunto aiṣedeede, jijẹ tabi dinku nọmba awọn paati ninu awọn iṣupọ, yiyipada awọn blue tabi alawọ ewe ìla ati be be lo.

Lakoko ti awọn ọran lilo wọnyi ti mọ fun awọn ọdun nipasẹ ọpọlọpọ awọn ẹgbẹ ti Mo sọrọ si, diẹ ti ronu nipa tabi ṣe idoko-owo ni adaṣe adaṣe wọn.

Ti o ba ronu nipa rẹ, ko si ohun ti o ni idiju pupọju ni imuse awọn ilana fun ṣiṣe ohun elo imularada ti ara ẹni; o nilo lati ṣafihan awọn oju iṣẹlẹ iṣẹ ti a ti mọ tẹlẹ ti awọn oludari rẹ ni irisi awọn iwe afọwọkọ koodu (ero “ifọwọyi-fix bi koodu”) , eyiti o kowe ni ilosiwaju fun ọran kọọkan pato. Awọn iwe afọwọkọ atunṣe aifọwọyi yẹ ki o wa ni ifọkansi lati yọkuro idi ti iṣoro naa. Iwọ funrararẹ pinnu awọn iṣe ti o pe lati dahun si iṣẹlẹ kan.

Metiriki eyikeyi lati eto ibojuwo rẹ le ṣe bi okunfa lati ṣe ifilọlẹ iwe afọwọkọ, ohun akọkọ ni pe awọn metiriki wọnyi pinnu ni deede pe ohun gbogbo ko dara, nitori iwọ kii yoo fẹ lati gba awọn idaniloju eke ni agbegbe iṣelọpọ.

O le lo eyikeyi eto tabi ṣeto awọn ọna ṣiṣe: Prometheus, ELK Stack, Zabbix, ati bẹbẹ lọ. Ṣugbọn Emi yoo fun diẹ ninu awọn apẹẹrẹ ti o da lori ojutu APM kan (Dynatrace yoo jẹ apẹẹrẹ lẹẹkansi) ti yoo tun ṣe iranlọwọ lati jẹ ki igbesi aye rẹ rọrun.

Ni akọkọ, ohun gbogbo wa ti o ni ibatan si iṣẹ ṣiṣe ni awọn ofin iṣẹ ṣiṣe ohun elo. Ojutu naa pese awọn ọgọọgọrun awọn metiriki ni awọn ipele oriṣiriṣi ti o le lo bi awọn okunfa:

  • ipele olumulo (awọn aṣawakiri, awọn ohun elo alagbeka, awọn ẹrọ IoT, ihuwasi olumulo, iyipada, ati bẹbẹ lọ);
  • ipele ti iṣẹ ati awọn iṣẹ (išẹ, wiwa, awọn aṣiṣe, bbl);
  • ipele amayederun ohun elo (awọn metiriki OS agbalejo, JMX, MQ, olupin wẹẹbu, ati bẹbẹ lọ);
  • ipele Syeed (foju, awọsanma, eiyan, ati bẹbẹ lọ).

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDAwọn ipele ibojuwo ni Dynatrace. Orisun

Ni ẹẹkeji, bi Mo ti sọ tẹlẹ, Dynatrace ni API ṣiṣi, eyiti o jẹ ki o rọrun pupọ lati ṣepọ pẹlu ọpọlọpọ awọn eto ẹnikẹta. Fun apẹẹrẹ, fifiranṣẹ ifitonileti kan si eto adaṣe nigbati awọn paramita iṣakoso ti kọja.

Ni isalẹ jẹ apẹẹrẹ fun ibaraenisepo pẹlu Ansible.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDOrisun

Ni isalẹ Emi yoo fun awọn apẹẹrẹ diẹ ti iru adaṣe adaṣe le ṣee ṣe. Eyi jẹ apakan kan ti awọn ọran naa; atokọ wọn ni agbegbe rẹ le ni opin nipasẹ oju inu rẹ ati awọn agbara ti awọn irinṣẹ ibojuwo rẹ.

1. Buburu ransogun - rollback version

Paapa ti a ba ṣe idanwo ohun gbogbo daradara ni agbegbe idanwo kan, aye tun wa pe idasilẹ tuntun le pa ohun elo rẹ ni agbegbe iṣelọpọ kan. Orisi eda eniyan kanna ko ti fagilee.

Ni nọmba ti o tẹle a rii pe fifo didasilẹ wa ni akoko ipaniyan ti awọn iṣẹ lori iṣẹ naa. Ibẹrẹ fifo yii ṣe deede pẹlu akoko imuṣiṣẹ si ohun elo naa. A atagba gbogbo alaye yi bi awọn iṣẹlẹ si awọn adaṣiṣẹ eto. Ti iṣẹ iṣẹ naa ko ba pada si deede lẹhin akoko ti a ṣeto, lẹhinna a pe iwe afọwọkọ kan laifọwọyi ti o yi ẹya pada si ti atijọ.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDIbajẹ iṣẹ ṣiṣe lẹhin imuṣiṣẹ. Orisun

2. Awọn oluşewadi ikojọpọ ni 100% - fi kan ipade to afisona

Ni apẹẹrẹ atẹle, eto ibojuwo pinnu pe ọkan ninu awọn paati ni iriri 100% fifuye Sipiyu.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDfifuye Sipiyu 100%
 
Orisirisi awọn oju iṣẹlẹ oriṣiriṣi ṣee ṣe fun iṣẹlẹ yii. Fun apẹẹrẹ, eto ibojuwo tun ṣayẹwo boya aini awọn orisun ni nkan ṣe pẹlu ilosoke ninu ẹru lori iṣẹ naa. Ti o ba jẹ bẹ, lẹhinna iwe afọwọkọ kan ti wa ni ṣiṣe ti o ṣafikun ipade kan laifọwọyi si ipa ọna, nitorinaa mimu-pada sipo iṣẹ ṣiṣe ti eto naa lapapọ.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDIwontunwọnsi lẹhin iṣẹlẹ kan

3. Aini ti aaye lori dirafu lile - disk ninu

Mo ro pe ọpọlọpọ eniyan ti ṣe adaṣe awọn ilana wọnyi tẹlẹ. Lilo APM, o tun le ṣe atẹle aaye ọfẹ lori eto inu disiki naa. Ti ko ba si aaye tabi disiki naa nṣiṣẹ laiyara, a pe iwe afọwọkọ lati sọ di mimọ tabi fi aaye kun.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CD
Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDẸrù disiki 100%
 
4. Iṣẹ-ṣiṣe olumulo kekere tabi iyipada kekere - iyipada laarin awọn ẹka buluu ati alawọ ewe

Mo nigbagbogbo rii awọn alabara ti nlo awọn losiwajulosehin meji (aṣamuṣiṣẹ alawọ ewe-bulu) fun awọn ohun elo ni agbegbe iṣelọpọ kan. Eyi n gba ọ laaye lati yipada ni iyara laarin awọn ẹka nigbati o nfi awọn idasilẹ tuntun ranṣẹ. Nigbagbogbo, lẹhin imuṣiṣẹ, awọn ayipada nla le waye ti ko ṣe akiyesi lẹsẹkẹsẹ. Ni idi eyi, ibajẹ ninu iṣẹ ati wiwa le ma ṣe akiyesi. Lati dahun ni kiakia si iru awọn ayipada, o dara lati lo ọpọlọpọ awọn metiriki ti o ṣe afihan ihuwasi olumulo (nọmba awọn akoko ati awọn iṣe olumulo, iyipada, oṣuwọn bounce). Nọmba ti o tẹle n ṣe afihan apẹẹrẹ kan ninu eyiti, nigbati awọn oṣuwọn iyipada ba lọ silẹ, iyipada laarin awọn ẹka sọfitiwia waye.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDOṣuwọn iyipada ṣubu lẹhin yi pada laarin awọn ẹka sọfitiwia. Orisun

Awọn ọna ẹrọ fun wiwa iṣoro aifọwọyi

Nikẹhin, Emi yoo fun ọ ni apẹẹrẹ diẹ sii ti idi ti Mo fẹ Dynatrace julọ.

Ni apakan ti itan mi nipa adaṣe adaṣe awọn sọwedowo didara ti awọn apejọ ni agbegbe idanwo kan, a pinnu gbogbo awọn iye ala pẹlu ọwọ. Eyi jẹ deede fun agbegbe idanwo; oluyẹwo funrararẹ pinnu awọn itọkasi ṣaaju idanwo kọọkan da lori ẹru naa. Ni agbegbe iṣelọpọ, o jẹ iwunilori pe a rii awọn iṣoro laifọwọyi, ni akiyesi ọpọlọpọ awọn ilana ipilẹ.

Dynatrace ni awọn irinṣẹ itetisi atọwọda ti a ṣe sinu eyiti, ti o da lori awọn ilana fun ṣiṣe ipinnu awọn metiriki anomalous (baselining) ati kikọ maapu ibaraenisepo laarin gbogbo awọn paati, afiwera ati isọdọkan awọn iṣẹlẹ pẹlu ara wọn, pinnu awọn asemase ninu iṣẹ ti iṣẹ rẹ ati pese alaye. alaye lori kọọkan isoro ati root fa.

Nipa itupalẹ awọn igbẹkẹle laifọwọyi laarin awọn paati, Dynatrace pinnu kii ṣe boya iṣẹ iṣoro naa jẹ idi gbongbo, ṣugbọn igbẹkẹle rẹ lori awọn iṣẹ miiran. Ni apẹẹrẹ ti o wa ni isalẹ, Dynatrace ṣe abojuto laifọwọyi ati ṣe ayẹwo ilera ti iṣẹ kọọkan laarin ipaniyan iṣowo, idamo iṣẹ Golang gẹgẹbi idi ipilẹ.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDApeere ti ṣiṣe ipinnu idi ti ikuna kan. Orisun

Nọmba ti o tẹle n ṣe afihan ilana ti abojuto awọn iṣoro pẹlu ohun elo rẹ lati ibẹrẹ iṣẹlẹ kan.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDWiwo ti iṣoro ti o nyoju pẹlu ifihan gbogbo awọn paati ati awọn iṣẹlẹ lori wọn

Eto ibojuwo naa ṣajọ akoko-akọọlẹ pipe ti awọn iṣẹlẹ ti o jọmọ iṣoro ti o dide. Ni awọn window ni isalẹ awọn Ago ti a ba ri gbogbo awọn bọtini iṣẹlẹ lori kọọkan ninu awọn irinše. Da lori awọn iṣẹlẹ wọnyi, o le ṣeto awọn ilana fun atunṣe adaṣe ni irisi awọn iwe afọwọkọ koodu.

Ni afikun, Mo gba ọ ni imọran lati ṣepọ eto ibojuwo pẹlu Iduro Iṣẹ tabi olutọpa kokoro kan. Nigbati iṣoro kan ba waye, awọn olupilẹṣẹ yarayara gba alaye pipe lati ṣe itupalẹ rẹ ni ipele koodu ni agbegbe iṣelọpọ.

ipari

Bi abajade, a pari pẹlu opo gigun ti epo CI/CD pẹlu awọn sọwedowo didara sọfitiwia adaṣe adaṣe ni Pipeline. A dinku nọmba ti awọn apejọ didara kekere, mu igbẹkẹle ti eto naa pọ si, ati pe ti eto wa ba kuna, a ṣe ifilọlẹ awọn ọna ṣiṣe lati mu pada.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CD
Dajudaju o tọsi igbiyanju idoko-owo sinu adaṣe adaṣe didara sọfitiwia; kii ṣe ilana iyara nigbagbogbo, ṣugbọn ni akoko pupọ o yoo so eso. Mo ṣeduro pe lẹhin ipinnu iṣẹlẹ tuntun kan ni agbegbe iṣelọpọ, o lẹsẹkẹsẹ ronu nipa iru awọn diigi lati ṣafikun fun awọn sọwedowo ni agbegbe idanwo lati yago fun kikọ buburu lati wọle si iṣelọpọ, ati tun ṣẹda iwe afọwọkọ kan lati ṣatunṣe awọn iṣoro wọnyi laifọwọyi.

Mo nireti pe awọn apẹẹrẹ mi yoo ran ọ lọwọ ninu awọn igbiyanju rẹ. Emi yoo tun nifẹ lati rii awọn apẹẹrẹ rẹ ti awọn metiriki ti a lo lati ṣe awọn eto imularada ti ara ẹni.

Abojuto Ilọsiwaju – adaṣe ti awọn sọwedowo didara sọfitiwia ni Pipeline CI/CDOrisun

orisun: www.habr.com

Fi ọrọìwòye kun