Programer, devops lan kucing Schrödinger

Programer, devops lan kucing Schrödinger
Kasunyatan insinyur jaringan (karo mie lan ... uyah?)

Bubar, nalika ngrembug macem-macem kedadean karo insinyur, aku weruh pola menarik.

Ing diskusi kasebut, pitakonan "oyot sabab" mesthi muncul. Pembaca sing setya mbokmenawa ngerti yen aku duwe sawetara pikirane ing iki babagan. Ing pirang-pirang organisasi, analisis kedadeyan adhedhasar konsep iki. Dheweke nggunakake macem-macem teknik kanggo ngenali hubungan sebab-akibat, kayata "Lima kok". Cara kasebut nganggep sing diarani "linearitas acara" minangka dogma sing ora bisa dibantah.

Nalika sampeyan nantang gagasan iki lan nuduhake manawa linearitas bisa ngapusi ing sistem sing rumit, diskusi sing menarik bakal diwiwiti. Disputants passionately nandheske sing mung kawruh saka "root sabab" ngidini kita kanggo ngerti apa mengkono.

Aku weruh pola menarik: pangembang lan devops reaksi beda kanggo idea iki. Ing pengalamanku, pangembang luwih seneng mbantah manawa panyebab oyod penting lan hubungan sebab-akibat bisa tansah ditetepake ing acara. Ing sisih liya, DevOps luwih asring setuju manawa jagad sing kompleks ora mesthi nuruti linearitas.

Aku tansah kepingin weruh apa iki? apa ndadekake programer kanggo mada idea "panyebab ROOT iku mitos" kaya sing? Kaya sistem kekebalan sing ngenali agen asing. Apa padha nanggepi cara iki, nalika devops rodo condhong nimbang gagasan iki?

Aku ora tanggung yakin, nanging aku duwe sawetara pikirane babagan iki. Iki ana gandhengane karo macem-macem konteks ing ngendi para profesional iki nindakake pakaryan saben dinane.

Pangembang asring nggarap alat deterministik. Mesthine, compiler, linker, sistem operasi kabeh sistem rumit, nanging kita wis biasa karo kasunyatan sing menehi asil deterministik, lan kita mbayangno minangka deterministik: yen kita nyedhiyakake data input sing padha, mula biasane kita ngarepake output sing padha. saka sistem kasebut. Lan yen ana masalah karo output ("bug"), para pangembang ngrampungake kanthi nganalisa data input (saka pangguna utawa saka set alat sajrone proses pangembangan). Dheweke nggoleki "kesalahan" banjur ngganti data input. Iki ndandani "bug".

Programer, devops lan kucing Schrödinger
Asumsi dhasar pangembangan piranti lunak: data input sing padha andal lan deterministik ngasilake output sing padha.

Nyatane, asil non-deterministik dhewe dianggep minangka bug: yen output sing ora dikarepke utawa salah ora direproduksi, mula pangembang cenderung ngluwihi investigasi menyang bagean liya saka tumpukan (sistem operasi, jaringan, lan liya-liyane) sing uga tumindak luwih akeh. utawa kurang deterministik, ngasilake asil sing padha karo data input sing padha ... lan yen ora ngono, banjur iki isih dianggep bug. Saiki mung sistem operasi utawa bug jaringan.

Ing kasus apa wae, determinisme minangka asumsi dhasar sing meh bisa ditindakake kanggo akeh programer kerja.

Nanging kanggo sapa wae wong sing wis ngentekake sedina muput hardware utawa ngerteni API maya, ide babagan jagad sing wis ditemtokake (anggere bisa menehi peta kabeh input!) Malah yen sampeyan sijine iku aside BOHF guyon babagan bintik srengenge, insinyur sing berpengalaman wis ndeleng perkara sing paling aneh ing jagad iki. Padha ngerti malah njerit manungsa bisa alon mudhun server, ora kanggo sebutno yuta faktor liyane ing lingkungan.

Dadi luwih gampang kanggo insinyur sing berpengalaman kanggo mangu-mangu manawa kabeh kedadeyan duwe sebab siji, lan teknik kaya "Lima Whys" bakal bener (lan bola-bali!) ndadékaké sabab kasebut. Nyatane, iki mbantah pengalaman dhewe, ing ngendi potongan-potongan teka-teki ora pas banget ing praktik. Mulane, dheweke luwih gampang nampa gagasan iki.

Mesthi wae, aku ora ujar manawa pangembang iku naif, bodho, utawa ora bisa ngerti kepiye linearitas bisa ngapusi. Programer sing berpengalaman bisa uga ndeleng akeh non-determinisme ing jamane.

Nanging misale jek aku reaksi umum saka pangembang ing debat kasebut asring ana hubungane karo konsep determinisme. serves wong uga sakabèhé ing padintenan. Dheweke ora nemoni nondeterminisme kaya asring insinyur kudu nyekel kucing Schrödinger ing infrastrukture.

Iki bisa uga ora nerangake kanthi lengkap reaksi pangembang sing diamati, nanging iki minangka pangeling sing kuat yen reaksi kita minangka campuran kompleks saka akeh faktor.

Penting kanggo ngelingi kerumitan iki, manawa kita lagi ngatasi kedadeyan siji, kolaborasi ing pipa pangiriman piranti lunak, utawa nyoba ngerteni jagad sing luwih jembar.

Source: www.habr.com

Add a comment