Неодамна започнавме мал проект за да го исчистиме начинот на кој делови од нашите системи комуницираат зад сцената во Buffer. Некој брз контекст: користиме нешто што се нарекува SQS (Amazon Simple Queue Service. Овие редици делуваат како чекални за задачи. Еден дел од нашиот систем испушта порака, а друг ја зема подоцна. Сметајте на тоа како да му оставите белешка на колегата, кога ќе добиете шанса, кога ќе добиете шанса, тој ќе го обработи системот. не мора да чекаме наоколу за одговор. Нашиот проект беше да извршиме рутинско одржување: ажурирање на алатките што ги користиме за локално тестирање на редиците и чистење на нивната конфигурација Корисно. Еве зошто е тоа важно, како ги најдовме и што направивме во врска со тоа. Зошто ова е повеќе важно отколку што мислите Да, водењето на непотребната инфраструктура чини пари. Чистење, би рекол дека финансискиот трошок е всушност најмалиот дел од проблемот. Секој пат кога нов инженер се придружува на тимот и ги истражува нашите системи, тие се среќаваат со овие мистериозни процеси. Повремено има потреба од ажурирања за безбедност, поправки на компатибилност кога нешто друго се менува. Се случува природно во кој било долготраен систем. Функцијата е застарена, но работата во заднина што ја поддржуваше продолжува да работи Целата база на податоци за родендени што одговара на тековниот датум и им испративме на клиентите персонализирана е-пошта за време на рефактор во 2020 година, ја сменивме нашата трансакциска алатка за е-пошта, но заборавивме да го отстраниме овој работник - тој продолжи да работи уште пет години. движење (популарен пристап каде што компаниите го поделија својот код на многу мали, независни услуги). Консолидирано во едно складиште со повеќе услуги. Услугите сè уште постојат како логични граници. Во едно складиште, конечно, можевме да ја видиме секоја редица до нејзините потрошувачи и производители.Откритието е речиси неизбежно. Што всушност направивме Откако ги идентификувавме процесите без родители, требаше да одлучиме што да правиме со нив. Еве како му пристапивме. Прво, го проследивме секој до неговото потекло. Копавме низ историјата на git и старата документација за да разбереме зошто секој работник е создаден на прво место. Во повеќето случаи, првичната цел беше јасна: еднократна миграција на податоци, функција која доби зајдисонце, привремен начин за заобиколување што ја надживеа својата корисност. Потоа потврдивме дека тие се навистина неискористени. Пред да отстраниме нешто, додадовме евиденција за да потврдиме дека овие процеси тивко не прават нешто важно што сме го пропуштиле. Набљудувавме неколку дена за да се увериме дека воопшто не се повикани и постепено ги отстранувавме. Не избришавме сè одеднаш. Ги отстранивме процесите еден по еден, внимавајќи на какви било неочекувани несакани ефекти. (За среќа, ги немаше.) Конечно, го документиравме она што го научивме. Додадовме белешки во нашите внатрешни документи за тоа што првично направил секој процес и зошто е отстранет, така што идните инженери нема да се прашуваат дали исчезнало нешто важно. Што се смени по чистењето Сè уште сме рано во мерењето на целосното влијание, но еве што видовме досега. Нашиот инфраструктурен инвентар сега е точен. Кога некој ќе праша: „Кои работници трчаме? ние всушност можеме да одговориме на тоа прашање со сигурност. Разговорите за влез во авионот исто така станаа поедноставни. Новите инженери не се сопнуваат низ мистериозни процеси и не се прашуваат дали им недостасува контекст. Базата на кодови го рефлектира она што всушност го правиме, а не она што го правевме пред пет години. Третирај ги рефакторите како археологија и превенција Мојот најголем дел од овој проект: секој значаен рефактор е можност за археологија. Кога сте длабоко во системот, навистина разбирате како се поврзуваат парчињата, вие сте во совршена позиција да се запрашате што сè уште е потребно. Тој ред од некој стар проект? Работникот кој некој го создал за еднократна миграција на податоци? Закажаната задача што упатува на функција за која никогаш не сте слушнале? Тие можеби сè уште работат. Еве што вградуваме во нашиот процес понатаму: за време на кој било рефактор, прашајте: што друго го допира овој систем што не сме го погледнале подолго време? Кога ја отфрлате функцијата, следете ја до нејзините процеси во заднина, а не само кодот свртен кон корисникот. Кога некој ќе го напушти тимот, документи кои сè уште не се мигрирани во единственото складиште. Како што продолжуваме да се консолидираме, уверени сме дека ќе најдеме повеќе од овие скриени реликвии. Но, сега сме подготвени да ги фатиме и да спречиме да се формираат нови. Кога целиот ваш код живее на едно место, инфраструктурата сираче нема каде да се сокрие.

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