Un ghid pentru deviația configurației și cum să o preveniți

Derivarea configurației este o preocupare importantă pentru toți dezvoltatorii IAAC. Această postare va învăța despre gestionarea derivei configurației, importanța sa, cauzele și soluțiile potențiale.

Ce este Configuration Drift?

Proprietarii de aplicații trebuie să își schimbe aplicațiile și infrastructura de bază în timp pentru a îmbunătăți în mod continuu experiența clienților. Acești clienți pot fi fie din interiorul, fie din exteriorul companiei.

Configurația aplicațiilor și a infrastructurii se modifică ca urmare a acestor actualizări și modificări. Aceste modificări ar putea fi benefice sau pot degrada starea de întărire a sistemelor. Deriva de configurare este termenul pentru aceasta.

Cum funcționează Configuration Drift

Potențialul de deviere a configurației crește odată cu complexitatea sistemelor de producție și livrare de software. Codul este, în general, transferat de la o stație de lucru a dezvoltatorului într-un mediu de dezvoltare partajat, în medii de testare și QA și, eventual, în medii de realizare și producție.

Impactul potențial crește odată cu cât de departe are loc deriva de-a lungul conductei. Chiar și variațiile minore între versiunea unui pachet instalată pe laptopul unui dezvoltator și versiunea instalată pe un server de testare pot întârzia depanarea problemelor. În mod obișnuit, doar punerea în scenă și producția sunt de așteptat să fie replici una ale celeilalte. Tensiunea este intensă, deoarece multe companii implementează cod nou de multe ori pe zi.

Cauze comune ale derivei configurației

Lipsa de comunicare

Uneori, echipele din amonte nu reușesc să comunice cu partenerii din aval despre modificările făcute de aceștia, ceea ce, ca urmare, defectează întregul sistem din aval.

Remedieri rapide

Remedierile rapide sunt modificări aduse codului pentru a rezolva o problemă critică care nu poate aștepta până la următoarea actualizare planificată a aplicației. Uneori, inginerii care lucrează la rezolvarea problemei nu reușesc să facă modificări sau să documenteze aceeași remediere în alte medii din conductă, ceea ce, ca rezultat, duce la derive. Adesea, reintroducerea problemei inițiale va rezolva această deriva.

Actualizări critice ale pachetelor

Actualizările critice ale pachetelor sunt oarecum similare cu remedierile rapide. Ambele sunt realizate într-un ritm rapid. Principala diferență este că actualizările critice ale pachetelor sunt aplicate în speranța de a evita incidentele viitoare. Așadar, astfel de actualizări pot provoca derive în același mod ca remedierile rapide.

Lipsa automatizării

Automatizarea nu va elimina cu totul șansele de deviere a configurației. Pur și simplu își va reduce șansele.

  Stiva Web3: Referință pentru dezvoltatori

Schimbări de confort

Uneori, modificările făcute de dezvoltatori sunt temporare. De exemplu, deviația apare dacă un dezvoltator instalează un pachet nou pe un server de testare pentru a testa unele funcționalități și uită să-l revină la starea inițială.

De ce este important managementul configurației?

Unul dintre motivele pentru care deviația configurației poate fi atât de dăunătoare este că, dacă nimeni nu o caută în mod continuu, deriva poate rămâne nedescoperită, deoarece subminează treptat baza infrastructurii dvs., la fel ca o mică scurgere într-o casă în spatele unui perete.

Când este descoperită deviația de configurare, găsirea motivului de bază pentru deviația de configurare care a determinat totul să se întâmple necesită timp, ceea ce este o resursă valoroasă în caz de urgență.

În dezvoltarea software-ului, deriva este o cauză semnificativă a ciclurilor de lansare lente. Poate provoca o muncă inutilă și poate împiedica productivitatea dezvoltatorului.

Costuri mai mici

Puteți reduce suma totală necesară identificând dublările sau supraprovizionarea atunci când aveți o imagine detaliată a infrastructurii dvs. IT.

Productivitate mai mare

Clusterele cu configurații stabile și binecunoscute permit gestionarea loturilor și construirea infrastructurii. În plus, cerința pentru gestionarea manuală a setărilor individuale este redusă prin limitarea serverelor unice (sau fulg de zăpadă).

Depanare mai rapidă

Configurațiile consistente permit echipelor de depanare să excludă greșelile de configurare. Echipele se pot concentra asupra altor cauze potențiale, rezolvând biletele mai rapid, deoarece nu vor trebui să caute discrepanțe de configurare între servere, clustere de servere sau medii.

Probleme cauzate din cauza variației configurației

Probleme de securitate

Configurațiile nesigure sunt una dintre cele mai frecvente cauze ale încălcărilor de securitate. Derivarea configurației poate face mai probabil alte atacuri și breșe de rețea, chiar dacă începeți cu o configurație protejată.

Timp de nefuncţionare

Perioada de nefuncționare semnificativă poate rezulta dintr-o eroare de configurare care permite unui atacator să utilizeze un defect DoS sau să compromită un server crucial. Asta nu e tot, totuși. Să presupunem că modificați configurația unui dispozitiv de rețea, afectând performanța. Puteți reveni oricând la „configurația de aur”, nu? Va dura mult mai mult pentru a restabili serviciul dacă acea configurație este defectuoasă.

Căderea în neconformitate

Sunt necesare controale stricte de securitate pentru conformitatea cu reglementări precum ISO 27001, PCI-DSS și HIPAA. Derivarea configurației vă poate determina să încălcați conformitatea dacă nu este oprită.

Performanță degradată

O configurație se află de obicei în starea sa cea mai optimă atunci când este în starea dorită. Modificările ad-hoc pot împiedica încercările de optimizare a rețelei provocând blocaje și conflicte.

Timp pierdut

Poate dura mult timp pentru a depana o rețea pe care nu o înțelegeți bine sau nu se potrivește cu documentația dvs. de rețea. Aceasta înseamnă că deviația de configurare ar putea duce la probleme de depanare IT care ar fi putut să nu fi existat sau ar fi fost mai ușor de rezolvat dacă rețeaua ar fi fost în starea dorită, în plus față de generarea timpului de nefuncționare pentru utilizatori.

Greșeli frecvente de care trebuie să fiți atenți atunci când monitorizați deviația configurației

Într-o lume perfectă, toate serverele de mediu pentru dezvoltatori (Dev/QA/Staging/Prod) ar avea aceleași configurații. Din păcate, lucrurile nu funcționează așa în lumea „reală”. În setările comerciale, proprietarii de aplicații modifică frecvent infrastructura atunci când noi capabilități sunt introduse în software.

  Fonduri și ETF-uri Crypto Index: Ce sunt acestea?

Monitorizarea variației configurației este crucială pentru a ne asigura că mediile software sunt cât mai omogene posibil. Configurarea managementului reduce cheltuielile, crește productivitatea și timpul de depanare și îmbunătățește experiența utilizatorului.

Pentru a avea cât mai mult succes posibil cu monitorizarea, organizațiile trebuie să evite greșelile chiar și atunci când folosesc gestionarea configurației și să își monitorizeze evoluția configurației.

Greșelile comune sunt enumerate mai jos:

Nu menține un CMDB

Menținerea la zi a unei baze de date de gestionare a configurației (CMDB) este un element semnificativ al gestionării configurației. Informațiile despre instalațiile hardware și software ale unei rețele pot fi examinate într-un singur loc, furnizate de o bază de date de gestionare a configurației. Datele sunt colectate pentru fiecare activ sau element de configurare, oferind vizibilitate și transparență la locul de muncă.

Eșecul menținerii unui CMDB expune companiile la pericolul de a nu înțelege pe deplin modul în care configurația unui articol afectează un alt articol. Organizațiile riscă să-și deterioreze infrastructura și securitatea fără a înțelege consecințele.

CMDB-urile pot fi dificil de administrat, în special pe măsură ce numărul de active crește, dar organizarea și gestionarea eficientă a bazelor de date sunt cruciale pentru urmărirea cu succes a derivei configurației și înțelegerea infrastructurii.

Nu aveți un plan despre cum să monitorizați deviația configurației

Organizațiile au adesea infrastructuri masive și complicate care trebuie supravegheate. Determinarea componentelor care trebuie monitorizate cel mai mult este crucială. În caz contrar, managementul configurației poate deveni rapid de negestionat și haotic.

Organizațiile trebuie să specifice care sunt activele esențiale pentru monitorizarea companiei și anumite unități de afaceri. Vor fi urmărite cele mai importante sisteme, care vor diferi de la unitate la unitate și de la industrie la industrie.

Nu se monitorizează automat

Organizațiile pot monitoriza variația configurației în mai multe moduri. Cu toate acestea, unele abordări sunt mai rafinate și de succes decât altele.

Monitorizarea manuală a variației configurației este costisitoare și consumatoare de timp. Monitorizarea manuală expune, de asemenea, posibilitatea unei erori umane. Aceasta nu este cea mai bună tehnică pentru a monitoriza deviația configurației, cu excepția cazului în care compania dvs. are o amprentă de infrastructură foarte mică.

Monitorizarea automată este cea mai dezvoltată și eficientă modalitate de a menține configurațiile în starea dorită. Sistemele dedicate de monitorizare a configurației pot detecta deviația instantaneu și oferă frecvent soluții, inclusiv corecție rapidă. Acest lucru garantează că infrastructura afacerii este readusă la starea dorită cât mai repede posibil și cu efecte minime.

Cum se monitorizează deviația configurației:

Devine evident de ce detectarea Derivei de configurare ar trebui să fie o preocupare principală odată ce vă dați seama de daunele pe care le poate provoca. A ști ce să păstrezi și de ce a fost prezentat ca o schimbare care a creat o derivă este primul pas în acest proces.

Află ce cauți

Vă puteți tria organizația prin identificarea componentelor cruciale pentru organizație în ansamblu și pe cele cruciale pentru fiecare unitate de afaceri.

  Cum să utilizați fluxurile RSS

Acest lucru variază în funcție de unitate și poate fi extins în industriile foarte reglementate sau se poate concentra exclusiv pe fișiere/aplicații critice pentru sistem. Importanța sistemului va determina frecvența și seriozitatea sistemelor de monitorizare.

Setați o linie de bază

Vor exista întotdeauna variații între un mediu de producție și etapele de testare din cauza diferitelor setări. Linia de bază pentru a verifica deviația este creată prin definirea a ceea ce ar trebui să fie fiecare pas și a tipurilor de abateri care sunt permise.

Etapele timpurii de testare ar putea fi mai potrivite pentru o alocație de derive mai mare decât o setare de testare de acceptare a utilizatorului sau o etapă de fabricație cu deviere zero.

Monitorizați-vă sistemul

Nivelul de monitorizare necesar va varia în funcție de maturitatea organizației, sistemele sale actuale, instrumente, numărul total de configurații care trebuie verificate și nivelul de control necesar. În funcție de cerințe și de conformitate, monitorizarea poate diferi pentru fiecare unitate din cadrul unei organizații.

Cum să preveniți deviația configurației

Monitorizarea trebuie să asigure că infrastructura este menținută în configurația corespunzătoare după ce au fost definite o linie de bază de configurații și decalajele admisibile. Fără o strategie de monitorizare, construirea planurilor de configurare și a documentației pierde timp.

Pot fi utilizate diverse abordări pentru a monitoriza deviația configurației, iar multe companii vor combina metodologii și instrumente în funcție de maturitatea și cerințele lor de conformitate.

Monitorizare manuală constantă

Configurațiile individuale ale mașinii pot fi revizuite manual și comparate cu un fișier de configurare cunoscut. Datorită aspectului uman, acest proces este încă predispus la erori și costisitor în ceea ce privește orele angajaților. Ar trebui să fiu folosit doar la scară mică pentru câteva clustere de servere particulare sau o companie cu o amprentă de infrastructură modestă.

Audituri

O echipă examinează manual configurațiile serverului ca parte a auditurilor de configurare, comparându-le cu un model specificat. Aceste audituri pot fi costisitoare, deoarece necesită cunoștințe de specialitate pentru a determina cum ar trebui construit un sistem și apoi o investigație amănunțită a oricărei șanse nedocumentate pentru a decide dacă ar trebui sau nu păstrat.

Echipa de audit efectuează, de asemenea, ajustările necesare la documentele de configurare care vor fi aplicate în timpul următorului audit. Auditurile sunt de obicei reținute pentru clustere cu valoare ridicată sau cu o mare conformitate și sunt executate în mod regulat, în general de mai multe ori pe an, din cauza considerentelor de timp și cost.

Auditul garantează o configurare consecventă și repetabilă a serverului într-un program predeterminat.

Cu toate acestea, până la următorul audit, setările vor varia și vor rămâne din ce în ce mai mult.

Monitorizare automată în timp real

Monitorizarea automată în timp real este cea mai sofisticată modalitate de a menține configurațiile în starea dorită. Pentru a face acest lucru, serverele sau grupurile de servere trebuie create împreună cu o descriere a modului în care ar trebui să fie configurate utilizând instrumente dedicate de configurare a serverului.

Aceste programe vor folosi un agent ușor pentru a monitoriza configurația unui server din acel grup și pentru a o compara cu definiția acestuia.

Acest proces automat avertizează instantaneu despre deviația și oferă de obicei mai multe opțiuni pentru a corecta deviația serverului.

Cuvinte finale:

Elementele de configurare (CI) inconsecvente între computere sau dispozitive sunt cauza principală a derivei configurației. Derivarea configurației are loc în mod natural în mediile centrelor de date, când modificările software și hardware sunt efectuate din mers, fără a fi documentate sau urmărite temeinic.

Multe defecțiuni ale sistemului de înaltă disponibilitate și recuperare în caz de dezastru sunt atribuite derapajului configurației. Administratorii ar trebui să păstreze înregistrări meticuloase asupra adreselor de rețea ale dispozitivelor hardware, împreună cu versiunile software instalate pe acestea și cu upgrade-urile care au fost efectuate, pentru a minimiza deviația de configurare.