AES_4 2023
FOCUS Approfondimenti 42 Maggio 2023 n Automazione e Strumentazione tipologie di architettura dell’applicazione software. Una di queste è la classica architettura client-server, in cui i server si occupano della gestione delle richie- ste provenienti dai vari computer client. Il maggior limite del sistema client-server è rappresentato dalle situazioni di sovraccarico del server, che, ricevendo troppe richieste contemporanee, finisce per rallentare i processi di comunicazione ed elaborazione dati. Per ovviare a questo inconveniente, è stata ideata un’altra soluzione architetturale, la cosiddetta architettura a tre livelli (three-tier architecture). In sostanza, un primo livello (presentation tier) viene tipicamente implementato nell’infrastruttura a livello di client, la macchina che interagisce con l’utente tramite web browser o altra interfaccia grafica (GUI - graphical user interface). Può trattarsi di un client di qualsiasi tipo, come un PC desktop, un dispositivo mobile o uno smartphone, che ha il compito princi- pale di visualizzare le informazioni destinate all’u- tente e raccogliere i dati in fase di input. Un secondo livello dell’architettura (application tier), chiamato anche ‘middle tier’, viene realizzato inte- grando nell’infrastruttura server applicativi (appli- cation server) che gestiscono la logica di business dell’applicazione. Il terzo livello (data tier) è costruito inserendo nell’in- frastruttura server dedicati alla gestione dei data- base, di tipo open source o proprietari (PostgreSQL, MariaDB, MySQL, NoSQL, MongoDB, Oracle Database, Microsoft SQL Server, DB2), utilizzati per l’archiviazione dei dati gestiti dall’applicazione stessa. Sempre in relazione alle tipologie architetturali, quando si parla di architettura a ‘n livelli’ (N-tier), o di ‘multi-tier architecture’, si fa essenzialmente riferi- mento a qualsiasi architettura applicativa costituita da più di un livello, e in particolare all’architettura three- tier, che è quella più diffusa nei sistemi distribuiti. Molti dei sistemi di calcolo distribuito three-tier sono anche in genere oggetto delle odierne strategie di modernizzazione applicativa, che puntano a far evolvere le applicazioni tradizionali, da un’architettura software monolitica, verso un’architettura basata su microser- vizi, tecnologia container e applicazioni cloud-native. Sempre più, inoltre, le varie organizzazioni tendono a far migrare alcune applicazioni, dagli ambienti IT on- premise, verso il cloud, e ad amministrare architetture software e infrastrutture IT ibride (cloud ibrido). L’architettura three-tier Il vantaggio principale dell’architettura a tre livelli deriva dalla separazione logica e fisica delle funzio- nalità. Ciò significa che ciascuno livello (tier) dell’ar- chitettura software, per funzionare, utilizza il proprio sistema operativo e piattaforma server, oltre a un ser- ver hardware o virtuale dedicato. Disponendo di server dedicati a diverse funzioni, è possibile ridurre i colli di bottiglia nei processi di comunicazione, e quindi migliorare l’efficienza e le performance nelle opera- zioni di calcolo distribuito. Dal punto di vista dei processi di sviluppo software, le attività di progettazione di ciascun tier possono proce- dere in parallelo, con maggior rapidità e riducendo il time-to-market. Inoltre, quando occorre intervenire sui servizi di un tier, ad esempio per eseguire operazioni di ottimizzazione o personalizzazione, tali attività non impattano sul funzionamento degli altri tier. Anche l’affidabilità dell’infrastruttura può migliorare, in quanto, nel caso di un’interruzione dei servizi su un tier, è meno probabile che tale blocco possa influenzare negativamente la disponibilità o le prestazioni delle funzionalità e servizi sugli altri tier. Sotto il profilo della scalabilità, la capacità di ciascun tier può essere espansa in funzione delle esigenze di business, in maniera indipendente dagli altri tier. Ambienti applicativi nel cloud distribuito Attualizzato nell’era della trasformazione digitale e della nuvola, il calcolo distribuito può assumere l’ac- cezione di cloud computing distribuito, o cloud distri- buito. Con questo termine si fa riferimento ad ambienti IT applicativi che possono risultare distribuiti su diversi data center, molteplici cloud privati, differenti cloud pubblici, infrastrutture edge. Il mercato globale del cloud distribuito è previsto in forte espansione. Nel 2021, questo comparto valeva 2,3 miliardi di dollari, secondo le stime della società di ricerca e consulenza Le architetture di edge computing spostano l’elaborazione dati più vicino alle fonti che li generano (fonte: Pixabay)
Made with FlippingBook
RkJQdWJsaXNoZXIy Mzg4NjYz