Gwaji ta atomatik na microservices a Docker don ci gaba da haɗin kai

A cikin ayyukan da ke da alaƙa da haɓakar gine-ginen microservice, CI / CD yana motsawa daga nau'in dama mai daɗi zuwa nau'in larura na gaggawa. Gwajin sarrafa kansa wani sashe ne na ci gaba da haɗa kai, ingantaccen tsarin kula wanda zai iya ba ƙungiyar maraice masu daɗi da yawa tare da dangi da abokai. In ba haka ba, aikin yana da haɗari ba a kammala ba.

Yana yiwuwa a rufe dukan microservice code tare da naúrar gwaje-gwaje tare da izgili abubuwa, amma wannan kawai partially warware matsalar da barin da yawa tambayoyi da matsaloli, musamman a lokacin da gwajin aiki tare da bayanai. Kamar koyaushe, waɗanda suka fi matsawa suna gwada daidaiton bayanai a cikin bayanan alaƙa, aikin gwaji tare da sabis na girgije, da yin zato mara kyau lokacin rubuta abubuwan izgili.

Duk wannan da ɗan ƙari za a iya warware su ta hanyar gwada duk microservice a cikin akwati Docker. Fa'idar da babu shakka don tabbatar da ingancin gwaje-gwaje shine cewa an gwada hotunan Docker iri ɗaya waɗanda ke shiga samarwa.

Automation na wannan hanya yana gabatar da matsaloli da yawa, maganin da za a bayyana a ƙasa:

  • rikice-rikice na ayyuka masu kama da juna a cikin runduna guda ɗaya;
  • gano rikice-rikice a cikin ma'ajin bayanai a lokacin gwajin gwaji;
  • jiran microservices su kasance a shirye;
  • haɗawa da fitar da rajistan ayyukan zuwa tsarin waje;
  • gwada buƙatun HTTP masu fita;
  • Gwajin soket na gidan yanar gizo (ta amfani da SignalR);
  • gwada ingancin OAuth da izini.

Wannan labarin ya dogara ne akan maganata a SECR 2019. Don haka ga masu kasala da karatu. ga rikodin jawabin.

Gwaji ta atomatik na microservices a Docker don ci gaba da haɗin kai

A cikin wannan labarin zan gaya muku yadda ake amfani da rubutun don gudanar da sabis ɗin a ƙarƙashin gwaji, bayanan bayanai da sabis na Amazon AWS a Docker, sannan gwaje-gwaje akan Postman kuma, bayan an gama su, dakatar da share kwantena da aka ƙirƙira. Ana aiwatar da gwaje-gwaje a duk lokacin da lambar ta canza. Ta wannan hanyar, muna tabbatar da cewa kowace sigar tana aiki daidai tare da bayanan AWS da sabis.

Rubutun iri ɗaya ne masu haɓakawa da kansu suke gudanar da su akan kwamfutocin Windows ɗin su da kuma ta uwar garken Gitlab CI a ƙarƙashin Linux.

Don tabbatar da cewa, gabatar da sabbin gwaje-gwaje bai kamata ya buƙaci shigar da ƙarin kayan aikin ko dai a kan kwamfutar mai haɓakawa ko kuma a kan uwar garken inda ake gudanar da gwaje-gwajen akan alƙawarin ba. Docker yana magance wannan matsalar.

Dole ne gwajin ya gudana akan uwar garken gida saboda dalilai masu zuwa:

  • Cibiyar sadarwa ba ta da cikakken aminci. Daga cikin buƙatun dubu, ɗaya na iya gazawa;
    A wannan yanayin, gwajin atomatik ba zai yi aiki ba, aikin zai tsaya, kuma dole ne ku nemi dalili a cikin rajistan ayyukan;
  • Ba a yarda da buƙatun da yawa ta wasu sabis na ɓangare na uku.

Bugu da ƙari, ba a so a yi amfani da tsayawar saboda:

  • Za a iya karya tsayuwar ba kawai ta hanyar mummunan lambar da ke gudana a kanta ba, har ma da bayanan da madaidaicin lambar ba zai iya aiwatarwa ba;
  • Duk yadda muka yi ƙoƙari mu mayar da duk sauye-sauyen da gwajin ya yi yayin gwajin kansa, wani abu na iya faruwa ba daidai ba (in ba haka ba, me yasa gwaji?).

Game da aikin da tsarin tsari

Kamfaninmu ya haɓaka aikace-aikacen gidan yanar gizo na microservice da ke gudana a Docker a cikin girgijen Amazon AWS. An riga an yi amfani da gwaje-gwaje na raka'a akan aikin, amma sau da yawa ana samun kurakurai waɗanda gwajin naúrar ba su gano ba. Ya zama dole don gwada duk microservice tare da bayanan bayanai da sabis na Amazon.

Aikin yana amfani da daidaitaccen tsarin haɗin kai mai ci gaba, wanda ya haɗa da gwada ƙananan sabis tare da kowane sadaukarwa. Bayan sanya wani ɗawainiya, mai haɓakawa yana yin canje-canje ga microservice, gwada shi da hannu kuma yana gudanar da duk gwaje-gwaje masu sarrafa kansa. Idan ya cancanta, mai haɓakawa yana canza gwaje-gwaje. Idan ba a sami matsala ba, za a yi alƙawari ga reshen wannan batu. Bayan kowane ƙaddamarwa, ana gudanar da gwaje-gwaje ta atomatik akan uwar garken. Haɗuwa cikin reshe na gama gari da ƙaddamar da gwaje-gwaje ta atomatik akansa yana faruwa bayan nazari mai nasara. Idan gwaje-gwajen da ke kan reshen reshen da aka raba sun wuce, ana sabunta sabis ɗin ta atomatik a cikin yanayin gwaji akan Sabis ɗin Kwantena na Elastic (benci). Tsayin ya zama dole ga duk masu haɓakawa da masu gwadawa, kuma ba a ba da shawarar karya shi ba. Masu gwadawa a cikin wannan mahallin suna duba gyara ko sabon fasali ta yin gwajin hannu.

Tsarin gine-gine

Gwaji ta atomatik na microservices a Docker don ci gaba da haɗin kai

Aikace-aikacen ya ƙunshi ayyuka fiye da goma. Wasu daga cikinsu an rubuta su a cikin NET Core wasu kuma a cikin NodeJs. Kowane sabis yana gudana a cikin akwati Docker a cikin Sabis ɗin Kwantena na Elastic na Amazon. Kowane yana da nasa bayanan Postgres, wasu kuma suna da Redis. Babu gama gari bayanan bayanai. Idan ayyuka da yawa suna buƙatar bayanai iri ɗaya, to, wannan bayanan, lokacin da ya canza, ana aika shi zuwa kowane ɗayan waɗannan sabis ta hanyar SNS (Sabis ɗin Faɗakarwa Mai Sauƙi) da SQS (Sabis ɗin Sauƙaƙan Sauƙaƙe na Amazon), kuma sabis ɗin yana adana shi a cikin nasu rumbun adana bayanai daban-daban.

SQS da SNS

SQS yana ba ku damar saka saƙonni a cikin jerin gwano da karanta saƙon daga layin ta amfani da ka'idar HTTPS.

Idan ayyuka da yawa sun karanta layi ɗaya, to kowane saƙo yana zuwa ga ɗayansu kawai. Wannan yana da amfani yayin gudanar da ayyuka da yawa na sabis iri ɗaya don rarraba kaya tsakanin su.

Idan kuna son a isar da kowane saƙo zuwa ayyuka da yawa, kowane mai karɓa dole ne ya kasance yana da nasa jerin gwano, kuma ana buƙatar SNS don kwafi saƙonni zuwa cikin layukan da yawa.

A cikin SNS kuna ƙirƙira wani jigo kuma ku yi rajista da shi, misali, layin SQS. Kuna iya aika saƙonni zuwa batu. A wannan yanayin, ana aika saƙon zuwa kowane jerin gwano da aka yi rajista ga wannan batu. SNS bashi da hanyar karanta saƙonni. Idan yayin gyara ko gwaji kuna buƙatar gano abin da aka aika zuwa SNS, zaku iya ƙirƙirar jerin gwano na SQS, biyan kuɗi zuwa taken da ake so kuma karanta jerin gwano.

Gwaji ta atomatik na microservices a Docker don ci gaba da haɗin kai

APIofar API

Yawancin ayyuka ba sa samun damar kai tsaye daga Intanet. Samun shiga yana ta hanyar Ƙofar API, wanda ke bincika haƙƙin shiga. Wannan ma sabis ɗinmu ne, kuma akwai gwaje-gwaje don shi ma.

Sanarwa na ainihi

Aikace-aikacen yana amfani Alamar Rdon nuna sanarwa na ainihi ga mai amfani. Ana aiwatar da wannan a cikin sabis ɗin sanarwa. Ana iya samun damar kai tsaye daga Intanet kuma ita kanta tana aiki tare da OAuth, saboda ya zama mara amfani don gina goyan bayan soket ɗin Yanar Gizo zuwa Gateway, idan aka kwatanta da haɗa OAuth da sabis na sanarwa.

Hanyar Gwaji Sananniya

Gwajin raka'a suna maye gurbin abubuwa kamar ma'ajin bayanai tare da abubuwan izgili. Idan microservice, alal misali, yayi ƙoƙarin ƙirƙirar rikodin a cikin tebur tare da maɓalli na waje, kuma rikodin da wannan maɓalli ya yi magana ba ya wanzu, to ba za a iya kammala buƙatar ba. Gwajin raka'a ba zai iya gano wannan ba.

В labarin daga Microsoft An ba da shawarar yin amfani da bayanan ƙwaƙwalwar ajiya da aiwatar da abubuwan izgili.

Database na cikin ƙwaƙwalwar ajiya ɗaya ne daga cikin DBMSs masu goyan bayan Tsarin Mahalli. An halicce shi musamman don gwaji. Ana adana bayanai a cikin irin wannan ma'ajin bayanai ne kawai har sai tsarin amfani da shi ya ƙare. Ba ya buƙatar ƙirƙirar tebur kuma baya duba amincin bayanai.

Abubuwan izgili suna yin ƙirar ajin da suke maye gurbinsu kawai har maginin gwajin ya fahimci yadda yake aiki.

Yadda ake samun Postgres don farawa ta atomatik da yin ƙaura lokacin da kuke yin gwaji ba a ƙayyade ba a cikin labarin Microsoft. Maganina yana yin wannan kuma, ƙari, baya ƙara kowane lamba musamman don gwaje-gwaje ga microservice kanta.

Mu ci gaba zuwa ga mafita

A lokacin tsarin ci gaba, ya bayyana a fili cewa gwaje-gwajen naúrar ba su isa ba don gano duk matsalolin a kan lokaci, don haka an yanke shawarar tuntuɓar wannan batu ta wani kusurwa.

Kafa yanayin gwaji

Ayyukan farko shine ƙaddamar da yanayin gwaji. Matakan da ake buƙata don gudanar da microservice:

  • Sanya sabis ɗin a ƙarƙashin gwaji don yanayin gida, ƙayyade cikakkun bayanai don haɗawa zuwa bayanan bayanai da AWS a cikin masu canjin yanayi;
  • Fara Postgres kuma yi ƙaura ta hanyar gudanar da Liquibase.
    A cikin DBMSs masu dangantaka, kafin rubuta bayanai a cikin bayanan, kuna buƙatar ƙirƙirar tsarin bayanai, a wasu kalmomi, tebur. Lokacin sabunta aikace-aikacen, dole ne a kawo tebur zuwa fom ɗin da sabon sigar ke amfani da shi, kuma, zai fi dacewa, ba tare da rasa bayanai ba. Wannan shi ake kira hijira. Ƙirƙirar teburi a cikin bayanan da ba komai a farko lamari ne na ƙaura. Ana iya gina ƙaura a cikin aikace-aikacen kanta. Dukansu .NET da NodeJS suna da tsarin ƙaura. A cikin yanayinmu, saboda dalilai na tsaro, ana hana microservices haƙƙin canza tsarin bayanai, kuma ana yin ƙaura ta amfani da Liquibase.
  • Kaddamar da Amazon LocalStack. Wannan shine aiwatar da ayyukan AWS don gudana a gida. Akwai shirye-shiryen da aka yi don LocalStack akan Docker Hub.
  • Gudanar da rubutun don ƙirƙirar abubuwan da suka dace a LocalStack. Rubutun Shell suna amfani da AWS CLI.

An yi amfani da shi don gwaji akan aikin Wasikun Postman. Ya wanzu a da, amma an ƙaddamar da shi da hannu kuma an gwada aikace-aikacen da aka riga aka tura a wurin tsayawa. Wannan kayan aikin yana ba ku damar yin buƙatun HTTP(S) na sabani kuma duba ko martanin ya dace da tsammanin. An haɗa tambayoyin cikin tarin, kuma ana iya gudanar da duka tarin.

Gwaji ta atomatik na microservices a Docker don ci gaba da haɗin kai

Ta yaya gwajin atomatik ke aiki?

A lokacin gwajin, komai yana aiki a Docker: sabis ɗin da ke ƙarƙashin gwaji, Postgres, kayan ƙaura, da Postman, ko kuma sigar wasan bidiyo - Newman.

Docker yana magance matsaloli da yawa:

  • Independence daga runduna sanyi;
  • Shigar da abubuwan dogaro: Docker yana zazzage hotuna daga Docker Hub;
  • Mayar da tsarin zuwa matsayinsa na asali: kawai cire kwantena.

Docker - rubuta yana haɗa kwantena zuwa cibiyar sadarwa mai kama-da-wane, keɓe daga Intanet, inda kwantena ke samun juna ta sunayen yanki.

Ana sarrafa gwajin ta hanyar rubutun harsashi. Don gudanar da gwajin akan Windows muna amfani da git-bash. Don haka, rubutun ɗaya ya isa duka Windows da Linux. Git da Docker an shigar dasu ta duk masu haɓakawa akan aikin. Lokacin shigar da Git akan Windows, an shigar da git-bash, don haka kowa yana da wannan ma.

Rubutun yana aiwatar da matakai masu zuwa:

  • Hotunan ginin docker
    docker-compose build
  • Ƙaddamar da bayanai da kuma LocalStack
    docker-compose up -d <контейнер>
  • Shigewar Database da shirye-shiryen LocalStack
    docker-compose run <контейнер>
  • Ƙaddamar da sabis a ƙarƙashin gwaji
    docker-compose up -d <сервис>
  • Gudun gwajin (Newman)
  • Tsayawa duk kwantena
    docker-compose down
  • Buga sakamako a cikin Slack
    Muna da taɗi inda saƙonni tare da alamar koren duba ko jajayen giciye da hanyar haɗi zuwa log ɗin tafi.

Hotunan Docker masu zuwa suna shiga cikin waɗannan matakan:

  • Sabis ɗin da ake gwada hoto ɗaya ne da na samarwa. Tsarin gwajin ya kasance ta hanyar masu canjin yanayi.
  • Don Postgres, Redis da LocalStack, ana amfani da shirye-shiryen hotuna daga Docker Hub. Hakanan akwai shirye-shiryen hotuna don Liquibase da Newman. Muna gina namu akan kwarangwal, muna ƙara fayilolin mu a can.
  • Don shirya LocalStack, kuna amfani da hoton AWS CLI da aka shirya kuma ƙirƙirar hoto mai ɗauke da rubutun dangane da shi.

Amfani kundin, Ba dole ba ne ka gina hoton Docker kawai don ƙara fayiloli a cikin akwati. Koyaya, kundin bai dace da yanayin mu ba saboda ayyukan Gitlab CI da kansu suna gudana a cikin kwantena. Kuna iya sarrafa Docker daga irin wannan akwati, amma kundin kawai yana hawa manyan fayiloli daga tsarin runduna, kuma ba daga wani akwati ba.

Matsalolin da za ku iya fuskanta

Jiran shiri

Lokacin da kwantena tare da sabis ke gudana, wannan baya nufin cewa a shirye yake don karɓar haɗi. Dole ne ku jira haɗin don ci gaba.

Ana magance wannan matsalar a wasu lokuta ta hanyar amfani da rubutun jira-shi.sh, wanda ke jiran dama don kafa haɗin TCP. Koyaya, LocalStack na iya jefa kuskuren 502 Bad Gateway. Bugu da ƙari, ya ƙunshi ayyuka da yawa, kuma idan ɗaya daga cikinsu ya shirya, wannan ba ya ce komai game da sauran.

yanke shawara: Rubutun samar da LocalStack waɗanda ke jiran amsa 200 daga duka SQS da SNS.

Rikicin Aiki Daidaitacce

Gwaje-gwaje da yawa na iya gudana lokaci guda akan mai masaukin Docker iri ɗaya, don haka ganga da sunayen cibiyar sadarwa dole ne su zama na musamman. Haka kuma, gwaje-gwaje daga rassa daban-daban na sabis ɗaya kuma na iya gudana lokaci guda, don haka bai isa a rubuta sunayensu a cikin kowane fayil ɗin da aka tsara ba.

yanke shawara: Rubutun yana saita canjin COMPOSE_PROJECT_NAME zuwa ƙima ta musamman.

Fasalolin Windows

Akwai abubuwa da yawa da nake so in nuna lokacin amfani da Docker akan Windows, saboda waɗannan abubuwan suna da mahimmanci don fahimtar dalilin da yasa kurakurai ke faruwa.

  1. Rubutun Shell a cikin akwati dole ne su kasance da ƙarshen layin Linux.
    Alamar harsashi CR kuskuren daidaitawa ne. Yana da wuya a gane daga saƙon kuskure cewa haka lamarin yake. Lokacin gyara irin waɗannan rubutun akan Windows, kuna buƙatar ingantaccen editan rubutu. Bugu da kari, dole ne a daidaita tsarin sarrafa sigar da kyau.

Wannan shine yadda ake saita git:

git config core.autocrlf input

  1. Git-bash yana kwaikwayon daidaitattun manyan fayilolin Linux kuma, lokacin kiran fayil ɗin exe (gami da docker.exe), yana maye gurbin cikakkun hanyoyin Linux tare da hanyoyin Windows. Koyaya, wannan baya da ma'ana ga hanyoyin da ba akan injin gida ba (ko hanyoyin cikin akwati). Ba za a iya kashe wannan hali ba.

yanke shawara: ƙara ƙarin slash zuwa farkon hanyar: //bin maimakon / bin. Linux ya fahimci irin waɗannan hanyoyin; don shi, slash da yawa iri ɗaya ne. Amma git-bash bai gane irin waɗannan hanyoyin ba kuma baya ƙoƙarin canza su.

Fitar da shiga

Lokacin gudanar da gwaje-gwaje, Ina so in ga rajistan ayyukan daga Newman da kuma sabis ɗin da ake gwadawa. Tunda abubuwan da suka faru na waɗannan rajistan ayyukan suna haɗe-haɗe, haɗa su a cikin na'ura wasan bidiyo ɗaya ya fi dacewa fiye da fayiloli guda biyu daban. Newman ya ƙaddamar ta hanyar docker-compose run, don haka fitowar sa ta ƙare a cikin na'ura mai kwakwalwa. Abin da ya rage shi ne tabbatar da cewa fitar da sabis ɗin ma yana zuwa can.

Maganin asali shine yayi docker-tsara sama ba tuta -d, amma ta amfani da damar harsashi, aika wannan tsari zuwa bango:

docker-compose up <service> &

Wannan ya yi aiki har sai da ya zama dole don aika rajistan ayyukan daga Docker zuwa sabis na ɓangare na uku. docker-tsara sama dakatar da fitar da rajistan ayyukan zuwa na'ura wasan bidiyo. Koyaya, ƙungiyar ta yi aiki docker hašawa.

yanke shawara:

docker attach --no-stdin ${COMPOSE_PROJECT_NAME}_<сервис>_1 &

Gano rikici yayin maimaita gwajin gwaji

Ana gudanar da gwaje-gwaje a cikin maimaitawa da yawa. Ba a share bayanan ba. Rubuce-rubucen da ke cikin bayanan suna da ID na musamman. Idan muka rubuta takamaiman ID a cikin buƙatun, za mu sami rikici a karo na biyu.

Don guje wa hakan, ko dai ID ɗin ya zama na musamman, ko kuma duk abubuwan da gwajin ya ƙirƙira dole ne a goge su. Wasu abubuwa ba za a iya share su ba saboda buƙatu.

yanke shawara: samar da GUIDs ta amfani da rubutun Postman.

var uuid = require('uuid');
var myid = uuid.v4();
pm.environment.set('myUUID', myid);

Sannan yi amfani da alamar a cikin tambaya {{myUUID}}, wanda za a maye gurbinsa da ƙimar ma'auni.

Haɗin kai ta hanyar LocalStack

Idan sabis ɗin da ake gwadawa ya karanta ko ya rubuta zuwa jerin gwano na SQS, to don tabbatar da wannan, gwajin da kansa dole ne yayi aiki da wannan jerin gwano.

yanke shawara: buƙatun daga Postman zuwa LocalStack.

API ɗin sabis na AWS an rubuta shi, yana ba da damar yin tambayoyi ba tare da SDK ba.

Idan sabis ya rubuta zuwa jerin gwano, to muna karanta shi kuma mu bincika abin da ke cikin saƙon.

Idan sabis ɗin yana aika saƙonni zuwa SNS, a matakin shiri LocalStack shima yana ƙirƙira jerin gwano da biyan kuɗi zuwa wannan batu na SNS. Sa'an nan duk ya zo zuwa ga abin da aka bayyana a sama.

Idan sabis ɗin yana buƙatar karanta saƙo daga jerin gwano, to a matakin gwajin da ya gabata mun rubuta wannan sakon zuwa jerin gwano.

Gwajin buƙatun HTTP waɗanda suka samo asali daga microservice da ke ƙarƙashin gwaji

Wasu ayyuka suna aiki akan HTTP tare da wani abu banda AWS, kuma ba a aiwatar da wasu fasalulluka na AWS a LocalStack.

yanke shawara: a cikin waɗannan lokuta yana iya taimakawa MockServer, wanda ke da hoton da aka shirya a ciki Filin Docker. Buƙatun da ake tsammani da martani gare su ana saita su ta buƙatun HTTP. API ɗin an rubuta shi, don haka muna yin buƙatu daga mai aikawa.

Gwajin Tabbatar da OAuth da izini

Muna amfani da OAuth da JSON Yanar Gizo Token (JWT). Gwajin yana buƙatar mai ba da OAuth wanda za mu iya gudanarwa a cikin gida.

Duk hulɗa tsakanin sabis da mai bada OAuth ya zo ƙasa zuwa buƙatun biyu: na farko, ana buƙatar daidaitawa /.well-known/bude-configuration, sa'an nan kuma ana buƙatar maɓallin jama'a (JWKS) a adireshin daga tsarin. Duk wannan abun ciki ne a tsaye.

yanke shawara: Mai ba da gwajin mu na OAuth sabar abun ciki ce a tsaye da fayiloli guda biyu akansa. Ana samar da alamar sau ɗaya kuma an ƙaddamar da Git.

Fasalolin gwajin SignalR

Ma'aikacin gidan waya baya aiki tare da shafukan yanar gizo. An ƙirƙiri kayan aiki na musamman don gwada SignalR.

Abokin ciniki na SignalR na iya zama fiye da mai bincike kawai. Akwai ɗakin karatu na abokin ciniki a ƙarƙashin NET Core. Abokin ciniki, wanda aka rubuta a cikin NET Core, yana kafa haɗi, an inganta shi, kuma yana jiran takamaiman jerin saƙonni. Idan an karɓi saƙon da ba zato ba ko haɗin haɗin gwiwa ya ɓace, abokin ciniki zai fita tare da lambar 1. Idan an karɓi saƙon ƙarshe da ake tsammani, abokin ciniki ya fita tare da lambar 0.

Newman yana aiki lokaci guda tare da abokin ciniki. An ƙaddamar da abokan ciniki da yawa don duba cewa ana isar da saƙon ga duk wanda yake buƙatar su.

Gwaji ta atomatik na microservices a Docker don ci gaba da haɗin kai

Don gudanar da abokan ciniki da yawa yi amfani da zaɓin --ma'auni akan layin umarni na docker-compose.

Kafin gudu, rubutun Postman yana jiran duk abokan ciniki don kafa haɗin gwiwa.
Mun riga mun ci karo da matsalar jiran haɗin gwiwa. Amma akwai sabobin, kuma ga abokin ciniki. Ana buƙatar hanya ta daban.

yanke shawara: abokin ciniki a cikin akwati yana amfani da tsarin HealthCheckdon sanar da rubutun akan mai watsa shiri game da matsayinsa. Abokin ciniki yana ƙirƙira fayil a wata takamaiman hanya, faɗi / duba lafiya, da zaran an kafa haɗin. Rubutun HealthCheck a cikin fayil ɗin docker yayi kama da haka:

HEALTHCHECK --interval=3s CMD if [ ! -e /healthcheck ]; then false; fi

tawagar docker duba Yana nuna matsayi na yau da kullun, matsayin lafiya da lambar fita na akwati.

Bayan Newman ya kammala, rubutun ya bincika cewa duk kwantena tare da abokin ciniki sun ƙare, tare da lambar 0.

Akwai farin ciki

Bayan mun shawo kan matsalolin da aka kwatanta a sama, muna da tsarin gwajin gwagwarmaya. A cikin gwaje-gwaje, kowane sabis yana aiki azaman raka'a ɗaya, yana hulɗa tare da bayanan bayanai da Amazon LocalStack.

Waɗannan gwaje-gwajen suna kare ƙungiyar masu haɓakawa 30+ daga kurakurai a cikin aikace-aikacen tare da hadaddun hulɗar microservices 10+ tare da turawa akai-akai.

source: www.habr.com

Add a comment