Nedávno jsme zahájili malý projekt na vyčištění toho, jak části našich systémů komunikují v zákulisí ve vyrovnávací paměti. Několik rychlých souvislostí: používáme něco, co se nazývá SQS (Amazon Simple Queue Service. Tyto fronty fungují jako čekárny na úkoly. Jedna část našeho systému odešle zprávu a druhá ji vyzvedne později. Představte si to jako zanechání poznámky pro spolupracovníka: "Hej, zpracujte, když systém dostane příležitost." Odpověď. Naším projektem bylo provádět běžnou údržbu: aktualizovat nástroje, které používáme k místnímu testování front a čištění jejich konfigurace. Ale když jsme mapovali, jaké fronty skutečně používáme, našli jsme něco, co jsme nečekali: sedm různých procesů na pozadí (neboli úlohy cron, což jsou naplánované úlohy, které se spouštějí automaticky) a pracovníci, kteří tiše běželi až pět let, a proč jsme na nich vůbec nic nedělali. na tom záleží víc, než byste si mysleliAno, provozování zbytečné infrastruktury stojí peníze. Provedl jsem rychlý výpočet a za jednoho z těchto pracovníků bychom zaplatili přibližně 360–600 $ v průběhu 5 let, ale rozhodně je to čisté plýtvání za proces, který nic nedělá. Nicméně po tomto vyčištění bych se domníval, že finanční náklady našeho týmu jsou ve skutečnosti tou nejmenší částí času a času prozkoumání našeho týmu. procesy. „Co dělá tento pracovník?“ se stává otázkou, která zabírá čas při nástupu a vytváří nejistotu. Všichni jsme tam byli – zírali jsme na kus kódu, protože možná dělá něco důležitého. I „zapomenutá“ infrastruktura občas potřebuje pozornost, když se něco jiného nezmění. Byla to dočasná oprava, která se stala trvalou? Osoba, která ji vytvořila, opustila společnost před lety a zůstal s ní kontext. Jak se to vůbec stalo? Je snadné ukazovat prstem, ale pravdou je, že se to děje přirozeně v jakémkoli systému s dlouhou životností. Funkce je zastaralá, ale úloha na pozadí, která ji podporovala, stále běží, ale nikdo ji po migraci nezmění a nezmění Zkontrolovali jsme. Ve službě Buffer jsme zasílali e-maily k narozeninám. K tomu jsme spustili naplánovanou úlohu, která zkontrolovala celou databázi na narozeniny odpovídající aktuálnímu datu a odeslala zákazníkům personalizovaný e-mail pomohl nám to najít Stejně jako mnoho společností i Buffer před lety přijal hnutí mikroslužeb (oblíbený přístup, kdy společnosti rozdělují svůj kód do mnoha malých, nezávislých služeb). Rozdělili jsme náš monolit na samostatné služby, z nichž každá měla své vlastní úložiště, potrubí pro nasazení a infrastrukturu. V té době to dávalo smysl: každá služba mohla být nasazena sama o sobě, s jasnými hranicemi mezi našimi týmy. Převyšovali jsme však nad hlavou výhody správy jednotlivých týmů, díky čemuž jsme zjistili, že celá řada výhod. Sjednotili jsme se do jediného úložiště s více službami, ale žijí společně na jednom místě. Ukázalo se, že to bylo to, co umožnilo objevování. Ve světě mikroslužeb je každý repozitář svým vlastním ostrovem Zapomenutý pracovník v jednom úložišti si technici pracující v jiném nikdy nevšimnou. zobrazit úplný obrázek Mohli jsme vysledovat každou frontu k jejím spotřebitelům a výrobcům. Mohli jsme najít fronty s výrobci, ale žádné zákazníky. Našli jsme pracovníky, kteří odkazovali na fronty, které již neexistovaly. Konsolidace nebyla navržena tak, aby nám pomohla najít infrastrukturu zombie.objev téměř nevyhnutelný. Co jsme vlastně udělali Jakmile jsme identifikovali osiřelé procesy, museli jsme se rozhodnout, co s nimi uděláme. Zde je návod, jak jsme k tomu přistoupili. Nejprve jsme u každého vystopovali jeho původ. Prokopali jsme historii git a starou dokumentaci, abychom pochopili, proč byl každý pracovník vůbec vytvořen. Ve většině případů byl původní účel jasný: jednorázová migrace dat, funkce, která přestala fungovat, dočasné řešení, které přežilo svou užitečnost. Pak jsme potvrdili, že se skutečně nepoužívají. Před odstraněním čehokoli jsme přidali protokolování, abychom ověřili, že tyto procesy nedělají potichu něco důležitého, co jsme přehlédli. Několik dní jsme monitorovali, abychom se ujistili, že nebyli vůbec voláni, a postupně jsme je odstraňovali. Nesmazali jsme všechno najednou. Procesy jsme odebírali jeden po druhém a sledovali jsme jakékoli neočekávané vedlejší účinky. (Naštěstí žádné nebyly.) Nakonec jsme zdokumentovali, co jsme se naučili. Do našich interních dokumentů jsme přidali poznámky o tom, co jednotlivé procesy původně dělaly a proč byly odstraněny, aby se budoucí technici nedivili, že něco důležitého zmizelo. Co se změnilo po vyčištění Stále jsme na začátku měření plného dopadu, ale zde je to, co jsme zatím viděli. Náš inventář infrastruktury je nyní přesný. Když se někdo zeptá: "Jaké pracovníky provozujeme?" můžeme na tuto otázku skutečně odpovědět s důvěrou. Také konverzace na palubě se zjednodušily. Noví inženýři nenarazí na záhadné procesy a nepřemýšlejí, zda jim nechybí kontext. Kódová základna odráží to, co skutečně děláme, ne to, co jsme dělali před pěti lety. Považujte refaktory za archeologii a prevenci Můj největší přínos z tohoto projektu: každý významný refaktor je příležitostí pro archeologii. Když jste hluboko v systému a skutečně rozumíte tomu, jak se jednotlivé části spojují, jste v perfektní pozici, kdy můžete zpochybnit, co je ještě potřeba. Ta fronta z nějakého starého projektu? Pracovník, který někdo vytvořil pro jednorázovou migraci dat? Naplánovaná úloha, která odkazuje na funkci, o které jste nikdy neslyšeli? Mohou být stále spuštěny. Zde je to, co zabudováváme do našeho procesu v budoucnu: Při jakémkoli refaktorování se zeptejte: co dalšího se tohoto systému dotýká, na co jsme se dlouho nedívali? Když zavrhujete funkci, sledujte ji celou cestu k jejím procesům na pozadí, ne pouze ke kódu pro uživatele. Když někdo opustí tým, zdokumentujte, co měl na starosti naši kódovou základnu, zejména ty části, které jsme dosud spouštěli na pozadí, které máme v migraci. zatím jediné úložiště. Jak pokračujeme v konsolidaci, jsme si jisti, že najdeme více těchto skrytých relikvií. Ale teď jsme připraveni je zachytit a zabránit vytváření nových. Když je celý váš kód na jednom místě, osiřelá infrastruktura se nemá kam schovat.
Co jsme se naučili poté, co jsme našli 7 zapomenutých pracovních míst běžících 5 let
By Social Media
·
·
6 min read
·
562 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