La High Availability(HA) o Alta Affidabilità( il concetto di availability viene inteso non solo come disponibilità in senso lato di un servizio ma anche come completa operatività e funzionalità, per un approfondimento puoi leggere il seguente articolo ) è un aspetto fondamentale per le applicazioni Business Critical che si traduce spesso in ridondanze, nel caso delle applicazioni software, di container, Database, Web Service, ecc… ed in costi elevati di operatività.
La High Availability viene espressa comunemente in percentuale ed inserita in Service Level Agreement(SLA). In tabella la disponibilità ed il relativo massimo downtime previsto per un servizio:
Availability(%) | Downtime per year | Downtime per day(24 hours) |
99.95%(“three nines five”) | 4.38 hours | 43.20 seconds |
99.99%(“four nines”) | 52.60 minutes | 8.64 seconds |
99.995%(“four nines five”) | 26.30 minutes | 4.32 seconds |
99.999%(“five nines”) | 5.26 minutes | 864 milliseconds |
Ogni servizio ha la sua disponibilità, spesso contrattualizzata, che ne garantisce il funzionamento in linea con le specifiche esigenze di business, ma come possiamo fare ad aumentare la disponibilità di un Database senza aggiungere risorse aumentandone i costi?
Contattaci subito e senza impegno per migliorare la disponibilità dei tuoi servizi.
Migliorare l’Alta Affidabilità di un DataBase con il cache delle query a livello Web Service
Un Database è un elemento essenziale di qualsiasi applicativo e quando si interrompe la connessione, oppure non è disponibile per un qualsiasi motivo, la nostra applicazione si blocca e va in errore. Ciò capita anche con Database multipli e ridondanti perchè gli errori di connessione possono essere relativi a numerose variabili soprattutto nel caso di applicazioni complesse e con un’architettura ampia.
Quando un Database non è disponibile non è possibile eseguire richieste e quindi il servizio perde l’alta affidabilità. Però attraverso la nostra soluzione di “DB Failure Interceptor” è possibile far si che il Web Service, che ha il compito di inviare e richiedere dati al Database, riesca a:
- capire che il DataBase non è disponibile;
- tenere in pending, attraverso meccanismi di caching, scheduling e queueing, le richieste;
- verificare quando il DataBase ritorna disponibile;
- eseguire le query in pending e quindi inviare i dati di risposta all’utente o ad un altro servizio.
In pratica attraverso questa soluzione si aggiunge un Layer logico al Back-End. Tale layer aumenta la disponibilità del servizio in generale e quella specifica del Database grazie ad un algoritmo di “attesa intelligente”. Per esempio in caso di incidenti informatici classici come errori di configurazione, di sviluppo o di corruzione di qualche elemento, l’indisponibilità del DataBase normalmente è di pochi secondi e può essere gestita correttamente “trasformando” di fatto un’eventuale disponibilità del 99% anche fino al 100%.
Una soluzione modulare, scalabile e configurabile in base alle tue specifiche esigenze che permette di superare errori classici come HTTP 500 “Internal Server Error” o similari e fornire una User Experience(UX) sempre in linea con le tue esigenze di business.
Contattaci subito e senza impegno per integrare questa soluzione nella tua architettura.
Glue Labs e l’Alta Affidabilità
Gestiamo applicazioni Business Critical ed abbiamo progettato ed implementato architetture complesse ed integrate grazie a Cloud Engineer e Solution Architect in ambienti Offline, On-Premise e Cloud.
Grazie alle competenze specialistiche maturate in tantissimi settori e con numerosi Clienti ti forniamo assistenza e supporto nella realizziamo di architetture e soluzioni che ti permettono di gestire i tuoi dati in maniera resiliente, efficiente e con garanzia 12 mesi da qualsiasi bug. Contattaci subito e senza impegno per maggiori informazioni.