Duela gutxi, proiektu txiki bat hasi dugu Buffer-en gure sistemen zatiak atzean nola komunikatzen diren garbitzeko. Testuinguru bizkor batzuk: SQS (Amazon Simple Queue Service) izeneko zerbait erabiltzen dugu. Ilara hauek zereginetarako itxaron-gelak bezala jokatzen dute. Gure sistemaren zati batek mezu bat uzten du, eta beste batek geroago jasotzen du. Pentsa ezazu "Aukera, lankidea sistema hori bidaltzen duzunean" datuak bidaltzen dituzunean. oharrak ez du erantzun bat itxaron behar. Gure proiektua ohiko mantentze-lanak egitea zen: lokalean ilarak probatzeko erabiltzen ditugun tresnak eguneratu eta haien konfigurazioa garbitzeko. Baina benetan erabiltzen ditugun ilarak mapatzen ari ginen bitartean, espero ez genuen zerbait aurkitu genuen: atzeko planoko zazpi prozesu ezberdin (edo cron-lanak, automatikoki exekutatzen diren zeregin programatuak dira) eta bost urtez ez zuten ezer egin behar erabilgarria. Hona hemen zergatik garrantzitsua den, nola aurkitu ditugun eta zer egin dugu horri buruz. Zergatik uste duzu baino garrantzitsuagoa den horiBai, beharrezkoak ez diren azpiegiturak martxan jartzeak dirua kostatzen du eta kalkulu azkar bat egin nuen eta langile horietako batengatik, 360-600 $ ordainduko genituzke 5 urtetan. Garbiketa, finantza-kostua benetan arazoaren zatirik txikiena dela esango nuke. Ingeniari berri bat taldean sartzen den eta gure sistemak aztertzen dituen bakoitzean, prozesu misteriotsu hauekin egiten dute topo. "Ahaztutako" azpiegiturak arreta behar dute noizean behin. Segurtasun-eguneratzeak, mendekotasun-konponketak, beste zerbait aldatzen denean, gure taldeak ez zuten ezertarako balioko mantentze-zikloak gastatu. Eta denborarekin, ezagutza instituzionala desagertzen al zen behin-behineko konponketa bat izan zen, baina, orain dela urte batzuk erraz utzi zuen hori? Egia da, hori modu naturalean gertatzen da iraupen luzeko edozein sistematan. Ezaugarri bat zaharkituta geratzen da, baina hura onartzen duen atzeko lana exekutatzen jarraitzen du. Norbaitek migrazio bat kudeatzen du "aldi baterako" eta ez da inoiz desegiten. Programatutako zeregin bat erredundante bihurtzen da aldaketa arkitektoniko baten ondoren, baina inork ez du pentsatzen urtebetetze-zerbitzua egiaztatzea Uneko datarekin bat datozen urtebetetzeen datu-base osoa eta bezeroei posta elektroniko pertsonalizatua bidali 2020an birfaktorean, gure posta elektronikoko tresna transakzionala aldatu genuen, baina langile hau kentzea ahaztu genuen; beste bost urtez jarraitu zuen martxan. Horietako bat ere ez da gizabanakoen hutsegiteak; lan egiten dugun moduan nahita garbitu gabe, gure arkitektura askok lagundu zuten. mikrozerbitzuen mugimendua (enpresek beren kodea zerbitzu txiki eta independente askotan banatzen zuten) duela urte batzuk. Gure monolitoa zerbitzu bereizietan banatu genuen, bakoitza bere biltegiarekin, inplementazio kanalarekin eta azpiegiturarekin. Garai hartan, zentzuzkoa zen: zerbitzu bakoitza bere kabuz heda zitekeen, taldeen arteko muga argiekin. Baina urteen poderioz, gure biltegien tamaina gainditzen genuen Zerbitzu anitzeko biltegi bakar batean. Zerbitzuak muga logiko gisa existitzen dira, baina leku batean elkarrekin bizi dira. Hau izan zen aurkikuntza posible egin zuena. Mikrozerbitzuen munduan, biltegi bakoitza bere uhartea da, agian, beste batean lan egiten duten ingeniariek ez dute inondik inora ikusten, den-dena exekutatzen den izenik. Azkenean, argazki osoa ikusi ahal izan genuen. Ilara bakoitza bere kontsumitzaileen eta ekoizleen artean aurkitu genezakeen ilarak, baina kontsumitzailerik gabe, jada existitzen ez ziren ilarak aurki genitzake.aurkikuntza ia saihestezina.Egiaz egin genuenaUmezurtz prozesuak identifikatu ondoren, haiekin zer egin erabaki behar genuen. Hona hemen nola hurbildu garen.Lehenik eta behin, bakoitza bere jatorritik jarraitu genuen. Git historia eta dokumentazio zaharra zulatu genuen langile bakoitza zergatik sortu zen lehenik ulertzeko. Kasu gehienetan, jatorrizko helburua argia zen: datuen migrazio bakarrekoa, ilunabarra lortu zuen eginbide bat, bere erabilgarritasuna gainditzen zuen aldi baterako konponbidea. Orduan, benetan erabiltzen ez zirela baieztatu genuen. Ezer kendu aurretik, erregistroa gehitu dugu prozesu hauek ez zutela lasai-lasai galdutako zerbait garrantzitsua egiten egiaztatzeko. Egun batzuk kontrolatu genituen ez zituztela batere deitzen ziurtatzeko, eta pixkanaka kendu genituen. Ez dugu dena ezabatu aldi berean. Prozesuak banan-banan kendu genituen, ustekabeko albo-ondorioei begira. (Zorionez, ez zegoen.)Azkenik, ikasitakoa dokumentatu genuen. Prozesu bakoitzak jatorrian zer egin zuen eta zergatik kendu zenari buruzko oharrak gehitu ditugu gure barne-dokumentuetan, etorkizuneko ingeniariek ez lukete galdetuko garrantzitsua den zerbait galdu ote zen. Garbiketaren ondoren aldatu zena Oraindik goiz gara inpaktu osoa neurtzen, baina hona hemen orain arte ikusi duguna. Gure azpiegituren inbentarioa zehatza da orain. Norbaitek galdetzen duenean: "Zein langile ditugu martxan?" egia esan, galdera horri konfiantzaz erantzun diezaiokegu. Onartzeko elkarrizketak erraztu egin dira, gainera. Ingeniari berriak ez dira prozesu misteriotsuekin topo egiten ari eta testuingurua falta ote duten galdetzen dute. Kode-baseak benetan egiten duguna islatzen du, ez duela bost urte egiten genuena. Errefaktorea arkeologia eta prebentzio gisa tratatu Nire proiektu honetatik ateratako ondoriorik handiena: birfaktorea esanguratsu bakoitza arkeologiarako aukera bat da. Sistema batean sakonduz gero, piezak nola lotzen diren benetan ulertzen baduzu, posizio ezin hobean zaude oraindik behar dena zalantzan jartzeko. Proiektu zaharren bateko ilara hori? Norbaitek datuen migrazio bakarrerako sortu duen langilea? Inoiz entzun ez duzun eginbide bati erreferentzia egiten dion zeregin programatua? Baliteke oraindik martxan egotea. Hona hemen gure prozesuan eraikitzen ari garen aurrerantzean: edozein birfaktorizaziotan, galdetu: zerk ukitzen du sistema hau aspaldian aztertu ez duguna? Ezaugarri bat zaharkitzean, jarraitu atzeko prozesuetara, ez erabiltzaileari begirako kodea bakarrik. Norbaitek taldea uzten duenean, dokumentatu zer arduratzen zen oraindik exekutatzen ditugun ataletan, batez ere, exekutatzen ditugun ataletan. Oraindik biltegi bakarrera migratu ez diren kode-basea. Finkatzen jarraitzen dugun heinean, ezkutuko erlikia horietako gehiago aurkituko ditugula ziur gaude. Baina orain konfiguratuta gaude haiek harrapatzeko eta berriak sortzea saihesteko. Zure kode guztia leku batean bizi denean, umezurtz azpiegiturak ez du inon ezkutatu.

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