Dan l-aħħar bdejna proġett żgħir biex inaddfu kif partijiet mis-sistemi tagħna jikkomunikaw wara l-kwinti f’Buffer. nota m'għandhiex għalfejn tistenna għal rispons. Il-proġett tagħna kien li twettaq manutenzjoni ta 'rutina: aġġorna l-għodod li nużaw biex nittestjaw il-kjuwijiet lokalment u nnaddaf il-konfigurazzjoni tagħhom. Iżda waqt li konna qed nimmappaw liema kjuwijiet nużaw fil-fatt, sibna xi ħaġa li ma nistennewx: seba' proċessi differenti fl-isfond (jew impjiegi cron, li huma kompiti skedati li jimxu awtomatikament) u ħaddiema kollha ma ilhom jaħdmu b'mod siekta għal ħames snin utli. Hawn għaliex dan huwa importanti, kif sibnahom, u x'għamilna dwarha. Għaliex dan huwa importanti aktar milli inti taħseb Iva, tmexxija ta 'infrastruttura bla bżonn jiswa l-flus għamilt kalkolu malajr u għal wieħed minn dawk il-ħaddiema, konna nħallsu ~ $ 360-600 fuq 5 snin Dan huwa ammont modest fl-iskema kbira tal-finanzi tagħna definittivament ma kien għaddej xejn. tindif, nargumenta li l-ispiża finanzjarja hija fil-fatt l-iżgħar parti tal-problema. Kull darba li inġinier ġdid jingħaqad mat-tim u jesplora s-sistemi tagħna, jiltaqgħu ma 'dawn il-proċessi misterjużi "X'jagħmel dan il-ħaddiem isir mistoqsija li tiekol il-ħin ta' l-imbark u toħloq inċertezza - aħna kollha konna hemm - ħarsa lejn xi ħaġa importanti. Infrastruttura "minsija" kultant teħtieġ attenzjoni. Aġġornamenti tas-sigurtà, daqqiet ta' dipendenza meta tinbidel xi ħaġa oħra. Dan wassal biex it-tim tagħna jonfoq ċikli ta' manutenzjoni fuq mogħdijiet ta' kodiċi li ma servew għall-ebda skop. U maż-żmien, l-għarfien istituzzjonali kien kritiku. il-verità hija li dan jiġri b'mod naturali f'kull sistema ta' ħajja twila. Karatteristika tiġi deprecata, iżda l-impjieg ta' sfond li appoġġaha jibqa' jaħdem "temporanjament" biex jimmaniġġja migrazzjoni, u qatt ma jinqala 'Kompitu skedat isir superflu wara bidla arkitettonika, iżda ħadd ma jaħseb biex nibgħatu dan l-iskeda ta' għeluq database sħiħa għall-għeluq tad-data li taqbel mad-data attwali u bagħtet lill-klijenti email personalizzata Waqt refactor fl-2020, aħna qalbu l-għodda tal-email transazzjonali tagħna iżda insew inneħħu dan il-ħaddiem—li baqa’ jaħdem għal ħames snin oħra. moviment tal-mikroservizzi (approċċ popolari fejn il-kumpaniji qasmu l-kodiċi tagħhom f’ħafna servizzi żgħar u indipendenti) snin ilu. Qsimna l-monolitu tagħna f’servizzi separati, kull wieħed bir-repożitorju, il-pipeline tal-iskjerament u l-infrastruttura tiegħu stess. F’dak iż-żmien, kien jagħmel sens: kull servizz jista’ jiġi skjerat waħdu, b’konfini ċari bejn it-timijiet f'repożitorju wieħed b'ħafna servizzi. Is-servizzi għadhom jeżistu bħala konfini loġiċi, iżda jgħixu flimkien f'post wieħed. Dan irriżulta li kien dak li għamel l-iskoperta possibbli. Fid-dinja tal-mikroservizzi, kull repożitorju huwa l-gżira tiegħu stess. Fl-aħħar stajna naraw l-istampa sħiħa Stajna ntraċċaw kull kju għall-konsumaturi u l-produtturi tagħha. Stajna nsibu kjuwijiet mal-produtturi iżda l-ebda konsumaturi Stajna nsibu kjuwijiet li ma kinux għadhom jeżistu. Il-konsolidazzjoni ma kinitx iddisinjata biex tgħinna nsibu l-infrastruttura zombie.skoperta kważi inevitabbli.Dak li fil-fatt għamilnaLadarba identifikajna l-proċessi orfni, kellna niddeċiedu x’nagħmlu magħhom. Hawn kif avviċinawh. L-ewwel, intraċċajna kull wieħed sal-oriġini tiegħu. Aħna ħaffer permezz tal-istorja tal-git u dokumentazzjoni antika biex nifhmu għaliex kull ħaddiem inħoloq fl-ewwel lok. In most cases, the original purpose was clear: a one-time data migration, a feature that got sunset, a temporary workaround that outlived its usefulness.Then we confirmed they were truly unused. Qabel ma tneħħa xi ħaġa, żidna l-illoggjar biex nivverifikaw li dawn il-proċessi ma kinux qed jagħmlu xi ħaġa importanti li tlifna bil-kwiet. Aħna mmonitorjajna għal ftit jiem biex niżguraw li ma ssejħu xejn, u neħħejna b'mod inkrementali. Aħna ma ħassarx kollox f'daqqa. Neħħejna l-proċessi wieħed wieħed, waqt li nħarsu għal xi effetti sekondarji mhux mistennija. (Fortunament, ma kienx hemm.) Fl-aħħarnett, iddokumentajna dak li tgħallimna. We added notes to our internal docs about what each process had originally done and why it was removed, so future engineers wouldn't wonder if something important went missing.What changed after clean upWe're still early in measuring the full impact, but here's what we've seen so far.Our infrastructure inventory is now accurate. Meta xi ħadd jistaqsi, "X'ħaddiema nħaddmu?" nistgħu fil-fatt inwieġbu dik il-mistoqsija b'kunfidenza. Il-konversazzjonijiet ta 'l-onboarding saru aktar sempliċi, ukoll. Inġiniera ġodda mhumiex qed ifixklu proċessi misterjużi u jistaqsu jekk humiex nieqsa mill-kuntest. The codebase reflects what we actually do, not what we did five years ago.Treat refactors as archaeology and preventionMy biggest takeaway from this project: every significant refactor is an opportunity for archaeology.When you're deep in a system, really understanding how the pieces connect, you're in the perfect position to question what's still needed. Dak il-kju minn xi proġett antik? Il-ħaddiem li xi ħadd ħoloq għal migrazzjoni tad-dejta ta' darba? Il-kompitu skedat li jirreferi għal karatteristika li qatt ma smajt biha? They might still be running.Here's what we're building into our process going forward:During any refactor, ask: what else touches this system that we haven't looked at in a while?When deprecating a feature, trace it all the way to its background processes, not just the user-facing code.When someone leaves the team, document what they were in charge of, especially the stuff that runs in the background.We still have older parts of our codebase li għadhom ma ġewx emigrati għar-repożitorju uniku. Hekk kif inkomplu nikkonsolidaw, aħna kunfidenti li nsibu aktar minn dawn ir-relikwi moħbija. But now we're set up to catch them and prevent new ones from forming.When all your code lives in one place, orphaned infrastructure has nowhere to hide.
Dak Li Tgħallimna Wara li Sibna 7 Impjiegi Minsija Daqsam għal 5 Snin
By Social Media
·
·
6 min read
·
579 views
Read in:
aa
ace
af
ak
alz
am
ar
as
awa
ay
az
ba
ban
be
bew
+191 more
bg
bho
bik
bm
bn
brx
bs
bug
ca
ceb
cgg
ckb
co
crh
cs
cv
cy
da
de
din
doi
dv
dyu
dz
ee
el
en
eo
es
et
eu
fa
ff
fi
fj
fo
fr
fur
fy
ga
gd
gl
gom
gn
gu
ha
haw
he
hi
hil
hne
hmn
hr
hrx
ht
hu
hy
id
ig
ilo
is
it
ja
jam
jv
ka
kab
kbp
kg
kha
kk
kl
km
kn
ko
kri
ku
ktu
ky
la
lb
lg
li
lij
ln
lo
lmo
lt
ltg
lua
luo
lus
lv
mai
mak
mg
mi
min
mk
ml
mn
mni-mtei
mos
mr
ms
mt
my
nd
ne
nl
nn
no
nr
nso
nus
ny
oc
om
or
pa
pag
pam
pap
pl
ps
pt
pt-br
qu
rn
ro
ru
rw
sa
sah
sat
sc
scn
sg
si
sk
sl
sm
sn
so
sq
sr
ss
st
su
sus
sv
sw
szl
ta
tcy
te
tg
th
ti
tiv
tk
tl
tn
to
tpi
tr
trp
ts
tt
tum
ty
udm
ug
uk
ur
uz
ve
vec
vi
war
wo
xh
yi
yo
yua
yue
zap
zh
zh-hk
zh-tw
zu