Opazljivost: sledljivost za porazdeljene sisteme

Opazljivost: sledljivost za porazdeljene sisteme

Izvorno vozlišče: 1990640

Ste že kdaj čakali na tisto drago pošiljko, na kateri piše »odposlano«, pa nimate pojma, kje je? Zgodovina sledenja se je prenehala posodabljati pred petimi dnevi in ​​skoraj ste izgubili upanje. Toda počakajte, 11 dni kasneje ga imate na pragu. Želeli ste si, da bi bila sledljivost boljša, da bi vas razbremenila vsega nestrpnega čakanja. Tu nastopi "opazljivost".

V tehničnem okolju bi se želeli izogniti temu, da bi se to zgodilo vaši programski opremi ali podatkovnim sistemom. S tem sprejmete orodja za spremljanje, ki zbirajo dnevnike in meritve vaših sistemov ter vas obveščajo o njihovem notranjem stanju. Spremljanje deluje najbolje, če želite, da vas sistem obvesti o tem, kakšna je napaka, kje in kdaj se je zgodila, vendar vam ne pove, kako odpraviti napako.

Pred več kot desetletjem je orodjem za spremljanje manjkal kontekst in predvidevanje osnovnih sistemskih težav, zato so bile ekipe omejene na odpravljanje napak pri vsakodnevnem delovanju. Danes delamo in živimo v porazdeljenem svetu mikrostoritev in podatkovnih cevovodov; celo uporaba več orodij za spremljanje vam ne bo pomagala odgovoriti na poslovna vprašanja, kot je "Zakaj je moja aplikacija vedno počasna?" ali "Na kateri stopnji je prišlo do težave in kako globoko je v skladu?" ali "Kako lahko izboljšam splošno delovanje okolja?" Pri sprejemanju teh odločitev je potrebno biti proaktiven in imeti splošen vpogled v svoje sisteme, aplikacije in podatke.

Ta blog post Etsy je bil objavljen pred desetletjem in v drugem odstavku navaja samo dejstvo:

»Meritve aplikacij so običajno najtežje, a najpomembnejše od treh. So zelo specifični za vaše podjetje in se spreminjajo, ko se spreminjajo vaše aplikacije (in Etsy se zelo spreminja).«

Torej, kako merimo vse in nič? Začnemo z opazljivostjo.

Kaj je opazljivost?

Izraz »opazljivost« je bil skoval Rudolf Emil Kálmán leta 1960 v svojem inženirskem članku za opis matematičnih nadzornih sistemov. Opredelil ga je kot merilo, kako dobro je mogoče notranje stanje sistema sklepati iz poznavanja njegovih zunanjih rezultatov. Ampak ali ne zveni kot spremljanje? V bistvu ja, spremljanje je.

V teh dneh je opazljivost postala zelo vroča tema. Po več tržnih raziskavah gre za milijardo dolarjev vredno platformo. Številne organizacije so sprejele koncept in ga uporabile kot okvir za vidnost svojih porazdeljenih sistemov in cevovodov od konca do konca. Vendar se opazovanje zamenjuje s spremljanjem. Zaenkrat lahko rečem, da je monitoring podvrsta opazljivosti, kjer je opazljivost en velik krovni izraz. 

Opazljivost omogoča porazdeljeno sledenje z zbiranjem in združevanjem sledi, dnevnikov in metrik. Poglejmo, kaj ti sklepajo:

  • Sledi: Ko sistem prejme zahtevo, vam sledi povedo, kako ta zahteva teče v celotnem življenjskem ciklu od vira do cilja. Sledi so predstavljene z "razponi". Sled je drevo razponov, razpon pa je ena sama operacija znotraj sledi. Pomagajo vam poiskati napake, zakasnitve ali ozka grla v sistemu.
  • Dnevniki: To so strojno ustvarjeni dogodki s časovnim žigom, ki vam povedo o operacijah ali spremembah, ki so se zgodile v sistemu. Dnevniki se pogosto uporabljajo za poizvedovanje o teh napakah ali spremembah v sistemu.
  • Meritve: Ti zagotavljajo kvantitativne vpoglede v CPE, pomnilnik, uporabo diska in delovanje sistema v določenem časovnem obdobju.

Ti atributi izboljšajo okvir spremljanja s sledljivostjo. Sledljivost vam nudi leče za sledenje zahtevi, ki opravi klic v vaš sistem, koliko časa traja prehod od ene komponente do druge, katere druge storitve prikliče, ali sproži kakšno napako, katere dnevnike ustvari, v kakšnem stanju je v, kdaj se je začelo in končalo, kakšna je časovna os, ko je ostal v vašem sistemu itd. Ko zbirate, združujete in analizirate te sledi, lahko sprejemate dragocene informirane odločitve, kot je časovnica strank na spletnem mestu e-trgovine. , kako dolgo so iskali izdelek, kako dolgo so si ogledali izdelek, ali je stran HTML naložila vse podrobnosti, kot so slike ali vdelani videoposnetki, koliko časa je sistem potreboval za preverjanje pristnosti in obdelavo plačila itd.

Kaj dosežemo z opazljivostjo v porazdeljenem okolju?

Razvoj porazdeljenih sistemov se je začel, ko so se organizacije začele odmikati od svoje centralizirane monolitne arhitekture k porazdeljeni in decentralizirani mikrostoritveni arhitekturi. In to je še vedno v teku, saj številne organizacije sprejemajo mikrostoritveno naravo sistemov in aplikacij. In vse to je mogoče pripisati velika podatki in skaliranje. Upravljanje porazdeljenega okolja zahteva nenehno učenje, dodatno delovno silo, spremembe v okvirih in politikah, upravljanje z IT ipd. To je res velika sprememba.

Prej, v omejenem monolitnem okolju, so strojna oprema, programska oprema, podatki in baze podatkov vse živele pod eno streho. S pojavom velikih podatkov v 2000-ih so sistemi spremljanja in skaliranja začeli postajati velika skrb. Organizacije so pogosto uporabljale različna orodja za spremljanje, da bi zadovoljile potrebe svojih različnih aplikacij. Posledično je kmalu postal operativni strošek s slabo odpornostjo, vidljivostjo in zanesljivostjo.

Vsa ta vprašanja so povzročila sprejetje opazljivosti. Danes obstaja več orodij za opazovanje za varnost, omrežja, aplikacije in podatkovne cevovode za porazdeljeno sledenje v kompleksnem okolju. Soobstajajo s svojim bratrancem, orodji za spremljanje, in prevzemajo moč zbiranja informacij od svojega bratranca in združujejo dodatne informacije iz lastnih podatkov sledenja.

V vseh teh sistemih je veliko gibljivih komponent, katerih sledi, ko jih zajamemo, lahko ponazorijo zgodbo o 5 W: kdaj, kje, zakaj, kaj in kako. Na primer, ob 1:43 obiščete spletno stran DATAVERSITY in preberete nekaj objav v spletnem dnevniku. Ko kliknete dataversity.net, se zahteva HTTP prijavi v sistem. Začnete iskati objavo v spletnem dnevniku in odprete objavo o upravljanju podatkov, kjer porabite 17 minut za branje te objave in nato zaprete zavihek ob 2:00.

Opravljeni bodo tudi drugi klici v omrežni sistem za zajem omrežnih paketov. Orodja za opazovanje zberejo vse razpone in jih združijo v sled ali sledove, kar vam omogoča, da vidite pot, ki jo je oblikovala v svojem življenjskem ciklu. Če imate težavo, kot je zakasnitev omrežja ali sistemska napaka, je zdaj lažje secirati (olupite čebulo) in odpraviti napako (napaka v kateri plasti).

Zdaj v velikem porazdeljenem okolju, ko vaše aplikacije prejmejo na milijone zahtev, podatki o sledenju rastejo v ogromni količini. Zbiranje in analiziranje teh sledi je drago zaradi porabe prostora za shranjevanje in prenosa podatkov. Da bi prihranili stroške, so podatki o sledenju vzorčeni, saj v večini primerov inženirske ekipe potrebujejo le nekatere dele, da raziščejo, kaj je šlo narobe ali kakšen je vzorec napake.

S tem majhnim primerom razumemo, da dobimo veliko globlji vpogled v naše sisteme. Če torej upoštevamo večji obseg sistemov, lahko inženirske ekipe zajamejo in delajo na vzorčenih podatkih, da izboljšajo trenutno strukturo sistema, uporabijo ali umaknejo nove komponente, dodajo še en varnostni sloj, odstranijo ozka grla itd. 

Ali naj organizacije izberejo opazljivost?

Vsi bi morali razumeti, da sta končna cilja boljša uporabniška izkušnja in večje zadovoljstvo uporabnikov. In pot do doseganja teh ciljev je lahko lažja z avtomatiziranim in proaktivnim okvirom opazovanja. Vzpostavitev kulture nenehnih izboljšav in optimizacij velja za optimalen poslovni in vodstveni pristop. 

V tej dobi digitalne preobrazbe je opazljivost postala obvezna oprema podjetja, da bo uspešno na svoji digitalni poti. Opazljivost vam omogoča vpogled v sledenje in vam omogoča, da ste obveščeni s podatki in ne le na podlagi podatkov.

zaključek

Čeprav smo izraza spremljanje in opazljivost uporabljali zamenljivo, smo videli, da vam spremljanje pomaga pri informacijah o zdravju sistema in dogodkih, ki se v njem dogajajo, opazljivost pa vam olajša sklepanje na podlagi dokazov, zbranih iz globljih plasti končnega cilja. okolje do konca.

Opazljivost je in jo je mogoče dojemati tudi kot sestavni del okvira za upravljanje podatkov. V tej generaciji, kjer se vedno večja količina podatkov nahaja v omrežju standardne strojne opreme, je bistvenega pomena ohraniti čim bolj preprosto arhitekturo. In očitno postane nemogoča naloga upravljati okolje po vrsti. Zato uvedba ustreznih in avtomatiziranih politik in pravil upravljanja, da bo vaša velika mreža sistemov, cevovodov in podatkov razčiščena, zahteva ukrepanje prej kot slej.

Časovni žig:

Več od PODATKOVNOST