När människor skadas återhämtar sig deras kroppar på egen hand. Tänk om tekniken kunde göra samma sak? Tänk om vi sa till dig att det kan?
Företag tävlar för att bygga självläkande system, som har potential att förbättra kvaliteten, spara kostnader och öka konsumenternas förtroende. Till exempel, IBM experimenterar med självkonfigurerande, självskyddande och självläkande enheter just på grund av detta.
En självläkande programvara kan upptäcka funktionsfel i dess funktion och anpassa sig utan mänsklig inblandning, vilket återgår till ett mer funktionellt tillstånd.
Självläkande applikationer fungerar baserat på följande mekanismer:
Självläkande system är indelade i tre nivåer, var och en med sin egen storlek och resurskrav:
Problem noteras ofta i en ”undantagslogg” för framtida utredning. Majoriteten av frågorna är små och kan förbises. Allvarliga problem kan kräva att programmet avslutas (till exempel oförmåga att ansluta till en databas som har tagits offline).
Självläkande appar, å andra sidan, inkluderar designaspekter som hjälper till att lösa problem. Applikationer som använder Akka, till exempel organisera element i en hierarki och fördela en aktörs frågor till sin handledare. Många av dessa verktyg och ramverk hjälper appar som är utformade för att självläka.
Självläkning på systemnivå, till skillnad från självläkning på applikationsnivå, är oberoende av ett programmeringsspråk eller enskilda komponenter. Snarare, oavsett deras underliggande komponenter, kan de generaliseras och användas till alla tjänster och applikationer.
Processfel (vanligtvis åtgärdas genom omfördelning eller omstart) och svarstidsproblem är de vanligaste felen på systemnivå (löses ofta genom skalning och avkalkning). Självläkande system övervakar hälsan hos olika komponenter och försöker reparationer (som omfördelning) för att återställa dem till deras ideala tillstånd.
Självläkning på hårdvarunivå omdistribuerar tjänster från en instabil nod till en frisk. Det utför också hälsokontroller på olika komponenter. Befintliga lösningar på maskinvarunivå är främst lösningar på systemnivå eftersom verklig självläkning på hårdvarunivå (till exempel en dator som kan läka minnesproblem eller reparera en trasig hårddisk) inte existerar.
När det gäller självläkning kan vi prata om reaktiv och förebyggande läkning:
Läkningen som sker som reaktion på ett misstag kallas reaktiv läkning, och den används redan. Reaktiv läkning innebär till exempel omfördelning av en applikation till en ny fysisk nod som reaktion på ett fel, vilket undviker stillestånd.
Mängden fara som ett system kan uthärda bestämmer nivån av reaktiv läkning som är önskvärd. Om ett system förlitar sig på ett enda datacenter är chansen att hela datacentret förlorar ström och att alla noder misslyckas så avlägsna att det är både värdelöst och kostsamt att skapa ett system för att svara på denna möjlighet. Men om systemet är viktigt kan det vara vettigt att bygga det för att återhämta sig automatiskt i händelse av ett fel.
I denna typ av scenario undviks fel proaktivt. Ta till exempel att använda realtidsdata för att proaktivt förhindra problem med bearbetningstiden. För att övervaka tjänstens hälsa och utnyttja resurserna bättre utfärdar du en HTTP-förfrågan. Du bygger systemet för att skalas om det tar mer än 500 millisekunder att reagera, och du utformar systemet för att avkalka om det tar mindre än 100 millisekunder att svara.
Men om reaktionstiderna fluktuerar ofta kan det vara problematiskt att använda realtidsdata eftersom systemet kontinuerligt kommer att skala och avkalka (detta kan använda mycket resurser i stel arkitektur och en mindre mängd resurser i en mikrotjänstarkitektur).
Bland många andra är dessa de konkreta fördelarna med självläkande appar:
Självläkande system och applikationer (eller, ännu bättre, system och appar som automatiskt upptäcker och undviker misstag) kan förbättra kvaliteten, sänka kostnaderna och öka konsumenternas förtroende. Även de största systemen kräver mänsklig interaktion, men de kan vara utformade för att vara lätta och enkla för människan att göra. Det kan lika gärna vara det Självläkande kod är framtiden för programvara.
Även om fördelarna med självläkande programvara är imponerande, måste du vara medveten om att implementeringen av dessa avancerade system inte är utan utmaningar. Men SnapStack kan hjälpa till!

Det vetenskapliga samfundet uppmärksammar begränsningarna hos moderna superdatorer och konsekvenserna för akademiker och institutioner över hela världen. Forskare kan till exempel använda den nuvarande tekniken för att köra mer komplexa simuleringar, till exempel de som fokuserar på kemi och de reaktiva egenskaperna hos varje element. Men när komplexiteten i dessa interaktioner växer blir de mycket svårare för nuvarande superdatorer att hantera. På grund av dessa enheters begränsade bearbetningskapacitet är det nästan omöjligt att slutföra dessa typer av beräkningar, vilket tvingar forskare att välja mellan hastighet och precision när de utför dessa studier.
Läs mer
Hej allihopa, jag hoppas att det goda vädret ger er så positiva vibbar som det gör för mig. Det här är Jordan från SnapStack Solutions och den här veckan går jag med dig igen för att dela en annan artikel med dig. Den här veckan är vi på ett konstnärligt humör, så jag ville skriva om den kreativa delen av IT-världen. Att använda fördelarna med bra UI/UX-design är viktigare än de flesta inser.
Läs merI en värld som drunknar i data är det inte precis en promenad i parken att extrahera meningsfulla insikter. Du har säkert hört att digital transformation är värt investeringen, men låt oss inse det - prat är billigt. Den verkliga magin händer när du kan kvantifiera effekterna av dessa digitala initiativ. Det är där ROI för digital transformation kommer in.
Läs mer