News

Co je samoléčivý software a jaké jsou hlavní principy?

DATE:
July 2, 2021
READING TIME:
10min

Co je samoléčivý software a jaké jsou hlavní principy?

Když jsou lidé zraněni, jejich těla se zotavují sama. Co kdyby technologie dokázala totéž? Co kdybychom vám řekli, že může?

Společnosti se snaží vybudovat samoléčivé systémy, které mají potenciál zvýšit kvalitu, ušetřit náklady a zvýšit důvěru spotřebitelů. Například, IBM experimentuje se samokonfigurujícími, samo-ochrannými a samoléčebnými zařízeními právě kvůli tomu.

Obsah

Co je samoléčebný systém?

Samoléčivý software může detekovat poruchy ve svém provozu a přizpůsobit se bez lidského zapojení a vrátit se do funkčnějšího stavu.

Samoléčivé aplikace fungují na základě následujících mechanismů:

  1. Detekce poruch: Systém neustále sleduje neobvyklé chování a sleduje, když se něco pokazí. Tento dohled zahrnuje celý systém a zajišťuje, že žádné anomálie neuniknou detekci.
  2. Izolace poruch: Jakmile je zjištěno neobvyklé chování, dalším zásadním krokem je určení jeho hlavní příčiny. Mechanismus izolace poruch dělá přesně to - identifikuje původ nebo spouštěč chyby.
  3. Obnova závad: Po identifikaci zdroje poruchy přichází do hry nedílnější součást samoléčebného systému - mechanismus obnovy. Zde software autonomně přijímá nápravná opatření. Nejde jen o vyřešení problému, ale spíše, cílem je obnovit normální provoz co nejrychleji.

Samoléčivé systémy jsou rozděleny do tří úrovní, z nichž každá má svou vlastní velikost a požadavky na zdroje:

Úroveň aplikace

Problémy jsou často zaznamenány v „protokolu výjimek“ pro budoucí vyšetřování. Většina problémů je malá a může být přehlížena. Vážné problémy mohou vyžadovat ukončení aplikace (například neschopnost připojení k databázi, která byla převedena do režimu offline).

Samoléčivé aplikace na druhé straně zahrnují designové aspekty, které pomáhají řešit problémy. Aplikace, které používají Akka, například uspořádat prvky v hierarchii a přidělit problémy aktéra jeho nadřízenému. Mnoho z těchto nástrojů a rámců pomáhá aplikacím, které jsou navrženy tak, aby se samy léčily.

Úroveň systému

Samoléčení na úrovni systému, na rozdíl od samoléčení na úrovni aplikace, je nezávislé na programovacím jazyce nebo jednotlivých komponentách. Spíše, bez ohledu na jejich základní komponenty, mohou být zobecněny a použity pro jakékoli služby a aplikace.

Poruchy procesů (obvykle řešené přerozmístěním nebo restartováním) a potíže s dobou odezvy jsou nejčastějšími chybami na systémové úrovni (často řešeny škálováním a odstraňováním vodního kamene). Samoléčivé systémy monitorují zdraví různých komponent a zkoušejí opravy (například přemístění), aby je obnovili do jejich ideálního stavu.

Úroveň hardwaru

Samoléčení na hardwarové úrovni přesouvá služby z nestabilního uzlu na zdravý. Provádí také zdravotní prohlídky různých komponent. Stávající řešení na úrovni hardwaru jsou primárně řešení na úrovni systému, protože skutečné samoléčení na úrovni hardwaru (například počítač, který dokáže léčit problémy s pamětí nebo opravit poškozený pevný disk) neexistuje.

Typy samoléčebných procesů: Reaktivní vs. preventivní

Pokud jde o samoléčení, můžeme hovořit o reaktivním a preventivním léčení:

Reaktivní samoléčení

Léčení, ke kterému dochází v reakci na chybu, je známé jako reaktivní léčení a již se používá. Reaktivní léčení například zahrnuje přesunutí aplikace do nového fyzického uzlu v reakci na chybu, čímž se zabrání prostojům.

Množství nebezpečí, které může systém snášet, určuje úroveň reaktivního hojení, které je žádoucí. Pokud se systém spoléhá na jediné datové centrum, šance, že celé datové centrum ztratí energii a všechny uzly selžou, jsou tak vzdálené, že vytvoření systému, který by reagoval na tuto možnost, je zbytečné a nákladné. Pokud je však systém důležitý, může mít smysl jej sestavit tak, aby se v případě poruchy automaticky obnovil.

Preventivní samoléčení

V tomto typu scénáře se chybám proaktivně vyhýbá. Vezměme si například použití dat v reálném čase k proaktivnímu zabránění problémům s dobou zpracování. Chcete-li sledovat stav služby a lépe využívat zdroje, vydáte požadavek HTTP. Systém sestavíte tak, aby se škáloval, pokud reakce trvá více než 500 milisekund, a navrhnete systém tak, aby odvápňoval, pokud odpověď trvá méně než 100 milisekund.

Pokud však reakční časy často kolísají, použití dat v reálném čase může být problematické, protože systém bude neustále škálovat a odstraňovat vodní kámen (to může použít mnoho zdrojů v rigidní architektuře a menší množství zdrojů v architektuře mikroslužeb).

Tři principy samoléčebných systémů

  1. Pochopte svůj systém. Samozřejmě, pokud důkladně rozumíte svému systému, budete lépe připraveni předvídat, kde problém nastane a jak budete reagovat. Jaké jsou nejčastější scénáře? Jaká je závažnost chyb, které se mohou vyskytnout?
  2. Stavět pro prevenci. Díky automatizaci, distribuovanému úložišti, výpočtům a analýzám jsou preventivní opatření jednoduchá a nákladově efektivní. Chybám se lze vyhnout, pokud zaujmete proaktivní a preventivní přístup.
  3. Usnadněte věci zúčastněným lidem. Samoléčivé systémy snižují pracovní zátěž údržby vašeho týmu. I když chyby nebo potenciální chyby vyžadují lidský zásah, udělejte proces co nejjednodušší a nejpřímější. Vaši zaměstnanci vám budou vděční.

Pětibodový plán pro samoléčivé systémy

  1. Považujte neměnnou infrastrukturu jako kód
  2. Automatizujte testování pro efektivní kódovou základnu
  3. Instalace komplexních monitorovacích systémů
  4. Začleňte do své strategie špičková inteligentní upozornění, spouštěče a prediktivní analýzy.
  5. Zvažte, jak může systém zlepšit samoučení

Výhody samoléčebného softwaru

Mezi mnoha dalšími jsou to hmatatelné výhody, které samoléčivé aplikace přinášejí:

  • Snížení prostojů: Samoléčivé aplikace jsou navrženy tak, aby detekovaly, diagnostikovaly a řešily problémy bez lidského zásahu. To výrazně snižuje prostoje a zvyšuje výkon, což podnikům umožňuje hladce provozovat své operace.
  • Inovativní uživatelská zkušenost: S menším přerušením v důsledku selhání systému si uživatelé užívají plynulejší a pohodlnější prostředí, zvláště důležité v kritických aplikacích.
  • Důraz na neustálé zlepšování: Implementace samoléčebného softwaru není jednorázovým procesem. Místo toho nabízí příležitost k neustálému učení, zlepšování a zlepšování mechanismů samoléčení, což zajišťuje odolný a robustní systém.
  • Potenciál pro automatizaci: Samoléčivé aplikace zahrnují automatizace, s cílem vytvořit autonomnější, soběstačné systémy. To zase snižuje nutnost lidského zásahu, minimalizuje potenciální lidské chyby a zvyšuje efektivitu.
  • Odolnost vůči neúspěchům: Díky schopnosti plánovat potenciální selhání může samoléčivý software účinně detekovat, reagovat a zotavit se z těchto poruch automaticky a zajistit integritu systému.
  • Vliv AI a strojového učení: Dopad pokročilých technologií, jako je umělá inteligence a strojové učení, významně obohacuje samoléčivé aplikace a posouvá je do nových výšin účinnosti a efektivity.

Samoléčivé systémy: Klíčové poznatky

Samoléčivé systémy a aplikace (nebo ještě lépe systémy a aplikace, které automaticky detekují chyby a vyhýbají se jim) mohou zlepšit kvalitu, snížit náklady a zvýšit důvěru spotřebitelů. Dokonce i ty největší systémy vyžadují lidskou interakci, ale mohou být navrženy tak, aby byly lehké a pro člověka jednoduché. Mohlo by to být také samoléčivý kód je budoucnost softwaru.

I když jsou výhody samoléčebného softwaru působivé, musíte si být vědomi toho, že implementace těchto pokročilých systémů není bez problémů. Ale SnapStack může pomoci!

READ MORE ON OUR BLOG
Discover similar posts
Co jsou NFT a jak mohou pomoci vašemu podnikání zůstat relevantní?

Přátelé, rád bych vás srdečně přivítal. Jsem Jordan ze SnapStack Solutions a jako každý pátek s vámi chodím a mluvím o nejdůležitějších oblastech IT oblasti. Tento týden mluvíme o NFT, jak název napovídá. Pojďme se na to podívat a uvidíme, jak to funguje.

Read More
Rozhodování řízené umělou inteligencí: Jak stroje dělají chytřejší rozhodnutí (pro vás)

V tomto článku se podíváme na rozhodování založené na umělé inteligenci, prozkoumáme jeho základní komponenty, výhody, klíčové aplikace a budoucí trendy. Ať už jste obchodní profesionál, výkonný ředitel na úrovni C nebo technologický nadšenec, najdete cenné poznatky o tom, jak může umělá inteligence zlepšit vaši rozhodovací hru a nasměrovat vaše podnikání na cestu k úspěchu.

Read More
A-Z digitální transformace v bankovním průmyslu

Finanční průmysl prochází hlubokou transformací, poháněnou rychlým vývojem digitálních technologií. Digitální transformace ve finančním průmyslu již není futuristickým konceptem - děje se nyní a přináší revoluci v tom, jak jsou finanční služby poskytovány a spotřebovány, což má dopad i na bankovní sektor.

Read More