Programmers, devops uye Schrödinger katsi

Programmers, devops uye Schrödinger katsi
Chokwadi cheinjiniya wetiweki (ane ma noodles uye ... munyu?)

Munguva ichangopfuura, ndichikurukura zviitiko zvakasiyana-siyana nevainjiniya, ndakaona maitiro anonakidza.

Munhaurirano idzi, mubvunzo we "root cause" unogara unouya. Vaverengi vakatendeka pamwe vanoziva kuti ndine akawanda pfungwa pamusoro izvi about. Mumasangano mazhinji, kuongororwa kwezviitiko kwakavakirwa zvachose pane iyi pfungwa. Vanoshandisa nzira dzakasiyana dzekuziva chikonzero-uye-mhedzisiro hukama, senge "Nei Mashanu". Nzira idzi dzinotora iyo inonzi "mutsara wezviitiko" sedzidziso isingarambiki.

Paunopokana nepfungwa iyi uye uchiratidza kuti mutsara unonyengetedza zvinonyepedzera muhurongwa hwakaoma, nhaurirano inonakidza inozvarwa. Vanopokana vanosimbirira kuti ruzivo chete rwe "mudzi wechikonzero" runotibvumira kunzwisisa zviri kuitika.

Ndakaona maitiro anonakidza: vagadziri uye devops vanoita zvakasiyana kune iyi pfungwa. Mune ruzivo rwangu, vagadziri vanogona kukakavara kuti chisakiso chine nyaya uye kuti hukama-ne-effect hukama hunogona kugara hwakasimbiswa muzviitiko. Nekune rimwe divi, DevOps inowanzo bvuma kuti nyika yakaoma haiteerere mutsara nguva dzose.

Ndaigara ndichinetseka kuti sei izvi? Chii inoita vagadziri vepurogiramu kushoropodza pfungwa yekuti "chikonzero chikuru ingano" saizvozvi? Kufanana ne immune system inoziva mumiriri wekunze. Sei vachidaro seizvi, nepo ma devops asi akarerekera funga pfungwa iyi?

Handina chokwadi zvachose, asi ndine dzimwe pfungwa pamusoro peizvi. Inoenderana nemamiriro akasiyana ayo nyanzvi idzi dzinoita basa radzo remazuva ese.

Vagadziri vanowanzo shanda ne deterministic maturusi. Ehe, ma compilers, linkers, masisitimu anoshanda - ese aya akaomesesa masisitimu, asi isu takajaira kuti ivo vanopa mhedzisiro, uye isu tinofungidzira ivo seanotemerwa: kana isu tichipa yakafanana data data, saka isu tinowanzo kutarisira zvakafanana zvinobuda kubva kune aya masisitimu. Uye kana paine dambudziko nekubuda ("bug"), ipapo vanogadzira vanorigadzirisa nekuongorora iyo data yekuisa (zvichida kubva kumushandisi kana kubva kune seti yezvishandiso panguva yekuvandudza maitiro). Ivo vanotsvaga "kukanganisa" vobva vashandura data rekuisa. Izvi zvinogadzirisa "bug".

Programmers, devops uye Schrödinger katsi
Yekutanga fungidziro yekuvandudza software: iyo yakafanana yekuisa data yakavimbika uye inotemerwa inoburitsa zvakafanana kuburitsa.

Muchokwadi, iyo isiri-inotemerwa mhedzisiro inotorwa sebug: kana iyo isingatarisirwe kana isiriyo yakabuda ikasagadzirwazve, saka vanogadzira vanowanzo wedzera kuferefeta kune zvimwe zvikamu zve stack (operating system, network, nezvimwewo), izvo zvinozvibatawo. zvakanyanya kana zvishoma deterministically, kugadzira mhedzisiro yakafanana neiyo data yekupinza ... uye kana zvisiri izvo, zvino izvi zvichiri kutorwa sebug. Ingori ikozvino inoshanda sisitimu kana network bug.

Chero zvazvingava, determinism chinhu chakakosha, chinenge chatorwa-che-kupihwa fungidziro kune vazhinji vevagadziri vebasa vanoita.

Asi kune chero mukomana we devops akapedza zuva achirongedza Hardware kana kufunga gore API, iyo pfungwa yenyika inotemerwa zvizere (chero zvichikwanisika kumepu zvese zvinopinda!) ipfungwa inokurumidza kupfuura. Nyangwe ukaisa parutivi BOHF inoseka nezvemavara ezuva, mainjiniya agara nebasa akaona zvinhu zvinoshamisa munyika ino. Vanozviziva kunyange mhere yemunhu inogona kuderedza server, tisingadudzi mamiriyoni ezvimwe zvinhu zviri mumhoteredzo.

Saka zviri nyore kune mainjiniya ane ruzivo kukahadzika kuti zviitiko zvese zvine chisakiso chimwe chete, uye matekiniki akaita se "Five Whys" achaita nemazvo (uye achidzokorora!) Muchokwadi, izvi zvinopokana neruzivo rwavo, apo zvidimbu zvepuzzle hazvikwane zvakatsvinda mukuita. Nokudaro, vanogamuchira pfungwa iyi zviri nyore.

Ehe, handisi kutaura kuti vanogadzira havana njere, mapenzi, kana kuti havagone kunzwisisa kuti mutsara unogona kunyengera sei. Vane ruzivo vanogadzira mapurogiramu vangave vakaonawo yakawanda isiri-determinism munguva yavo.

Asi zvinoratidzika kwandiri kuti maitiro akajairika kubva kune vanogadzira mumakakatanwa aya kazhinji ane chekuita nenyaya yekuti pfungwa ye determinism. inovashumira zvakanaka zvachose mubasa remazuva ose. Ivo havasangane nekusaziva nguva zhinji sezvo mainjiniya anofanirwa kubata katsi dzeSchrödinger pazvivakwa zvavo.

Izvi zvinogona kunge zvisingatsanangure zvizere maitiro evagadziri, asi chiyeuchidzo chine simba chekuti maitiro edu musanganiswa wakaoma wezvinhu zvakawanda.

Izvo zvakakosha kuti tiyeuke kuomarara uku, kungave tiri kubata nechiitiko chimwe chete, kushandirapamwe pombi yekuendesa software, kana kuedza kuita pfungwa yepasirese.

Source: www.habr.com

Voeg