Við byrjuðum nýlega á litlu verkefni til að hreinsa til hvernig hlutar kerfa okkar hafa samskipti á bak við tjöldin hjá Buffer. Eitthvað fljótlegt samhengi: við notum eitthvað sem kallast SQS (Amazon Simple Queue Service. Þessar biðraðir virka eins og biðstofur fyrir verkefni. Einn hluti kerfisins okkar skilar skilaboðum og annar tekur þau upp seinna. Hugsaðu um það eins og að skilja eftir minnismiða fyrir hey, vinnsluaðila, þegar þú færð tækifæri til að senda kerfið: ". athugið þarf ekki að bíða eftir svari. Verkefnið okkar var að framkvæma reglubundið viðhald: uppfæra verkfærin sem við notum til að prófa biðraðir á staðnum og hreinsa upp stillingar þeirra. En á meðan við vorum að kortleggja hvaða biðraðir við notum í raun og veru, fundum við eitthvað sem við áttum ekki von á: sjö mismunandi bakgrunnsferli (eða cron störf, sem eru áætluð verkefni sem hafa verið í gangi sjálfkrafa í fimm ár) og verkamenn sem hafa ekki verið í gangi sjálfkrafa í fimm ár gagnlegt.Hér er hvers vegna það skiptir máli, hvernig við fundum þá og hvað við gerðum við það.Af hverju þetta skiptir meira máli en þú myndir haldaJá, það kostar peninga að keyra óþarfa innviði og fyrir einn af þessum starfsmönnum hefðum við borgað ~$360-600 á 5 árum. hreinsun, ég myndi halda því fram að fjárhagskostnaðurinn sé minnsti hluti vandans. Í hvert skipti sem nýr verkfræðingur kemur til liðs við teymið og skoðar kerfin okkar lenda þeir í þessum dularfullu ferlum "Hvað gerir þessi starfsmaður að spurningu sem eyðir tíma um borð og skapar óvissu - við höfum öll verið til staðar til að snerta það, vegna þess að það er eitthvað mikilvægt. „gleymt“ innviði þarfnast öryggisuppfærslur, ósjálfstæðisuppfærslur, þegar eitthvað annað breytist. Sannleikurinn er að þetta gerist náttúrulega í hvaða langlífu kerfi sem er. Eiginleiki verður úreltur, en bakgrunnsvinnan sem styður það heldur áfram að keyra starfsmann "tímabundið" til að takast á við flutning, og það verður aldrei rifið niður eftir byggingarbreytingu, en enginn hugsar um að gera afmælisáætlun við Bufferran verkefni sem athugaði allan gagnagrunninn fyrir afmæli sem passaði við núverandi dagsetningu og sendi viðskiptavinum persónulegan tölvupóst Við endurnýjun árið 2020 skiptum við um viðskiptapóstverkfæri okkar en gleymdum að fjarlægja þennan starfsmann - það hélt áfram að keyra í fimm ár í viðbót. Ekkert af þessu er bilun hjá einstaklingum - það er bilun í ferlinu. tók við örþjónustuhreyfingunni (vinsæl nálgun þar sem fyrirtæki skiptu kóðanum sínum í margar litlar, óháðar þjónustur) fyrir mörgum árum. Við skiptum einliðanum okkar í aðskilda þjónustu, hver með sína eigin geymslu, dreifingarleiðslu og innviði. Á þeim tíma var það skynsamlegt: hverja þjónustu var hægt að beita fyrir sig, með skýrum mörkum á milli teyma. En í gegnum árin fundum við um fjöldann af geymslum okkar. Þannig að við sameinuðumst í einni geymslu fyrir marga þjónustuna. Þjónusturnar eru enn til sem rökrétt mörk, en þær búa saman á einum stað. Þetta reyndist vera það sem gerði uppgötvunina mögulega. Í smáþjónustuheiminum er hver geymslustaður hennar eigin eyja. Við gátum loksins séð alla biðröð til neytenda og framleiðenda.uppgötvun nánast óumflýjanleg. Það sem við gerðum í raun og veru Þegar við höfðum greint munaðarlausu ferlana urðum við að ákveða hvað við ættum að gera við þau. Svona nálguðumst við það. Í fyrsta lagi raktum við hvert og eitt til uppruna þess. Við grófum í gegnum git sögu og gömul skjöl til að skilja hvers vegna hver starfsmaður var búinn til í fyrsta lagi. Í flestum tilfellum var upphaflegi tilgangurinn skýr: gagnaflutningur í eitt skipti, eiginleiki sem varð sólsetur, tímabundin lausn sem lifði lengur yfir gagnsemi þess. Síðan staðfestum við að þeir væru sannarlega ónotaðir. Áður en eitthvað var fjarlægt bættum við við skráningu til að sannreyna að þessi ferli gerðu ekki hljóðlega eitthvað mikilvægt sem við höfðum misst af. Við fylgdumst með í nokkra daga til að ganga úr skugga um að það væri ekki hringt í þá og fjarlægðum þá smám saman. Við eyddum ekki öllu í einu. Við fjarlægðum ferla eitt af öðru og horfðum á óvæntar aukaverkanir. (Sem betur fer voru þær ekki til.) Að lokum skjalfestum við það sem við lærðum. Við bættum athugasemdum við innri skjölin okkar um hvað hvert ferli hafði upphaflega gert og hvers vegna það var fjarlægt, svo framtíðarverkfræðingar myndu ekki velta því fyrir sér hvort eitthvað mikilvægt hefði vantað.Hvað breyttist eftir hreinsunVið erum enn snemma að mæla áhrifin að fullu, en hér er það sem við höfum séð hingað til. Innviðaskráin okkar er nú nákvæm. Þegar einhver spyr: "Hvaða starfsmenn rekum við?" við getum í raun svarað þeirri spurningu með sjálfstrausti. Samtöl um borð hafa orðið einfaldari líka. Nýir verkfræðingar eru ekki að rekast á dularfulla ferla og velta því fyrir sér hvort þeir vanti samhengi. Kóðagrunnurinn endurspeglar það sem við gerum í raun og veru, ekki það sem við gerðum fyrir fimm árum síðan. Komdu fram við refactors sem fornleifafræði og forvarnir. Stærsta atriðið úr þessu verkefni: sérhver mikilvægur refactor er tækifæri fyrir fornleifafræði. Þegar þú ert djúpt í kerfi og skilur raunverulega hvernig verkin tengjast, ertu í fullkominni stöðu til að efast um hvað er enn þörf. Þessi röð frá einhverju gömlu verkefni? Starfsmaðurinn sem einhver bjó til fyrir gagnaflutning í eitt skipti? Áætluð verkefni sem vísar til eiginleika sem þú hefur aldrei heyrt um? Þeir gætu enn verið í gangi.Hér er það sem við erum að byggja inn í ferlið okkar framundan: Í hvaða refactor sem er, spyrðu: hvað annað snertir þetta kerfi sem við höfum ekki skoðað í nokkurn tíma? Þegar eiginleiki er úreltur skaltu rekja hann alla leið til bakgrunnsferla hans, ekki bara kóðans sem snýr að notendum. Þegar einhver yfirgefur teymið, skjalfestu það sem þeir höfðu umsjón með, sérstaklega í eldri hlutunum okkar. sem ekki hafa verið flutt yfir í eina geymsluna ennþá. Þegar við höldum áfram að sameinast, erum við þess fullviss að við munum finna fleiri af þessum földum minjum. En nú erum við sett upp til að ná þeim og koma í veg fyrir að nýir myndist. Þegar allur kóðinn þinn er á einum stað, hefur munaðarlaus innviði hvergi að fela sig.

You May Also Like

Enjoyed This Article?

Get weekly tips on growing your audience and monetizing your content — straight to your inbox.

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free