Principi fondamentali di Azure Well-Architected Framework

Completato

Il cloud ha rivoluzionato il modo in cui le organizzazioni risolvono le problematiche e ha cambiato la modalità di progettazione di applicazioni e sistemi. Il ruolo di un progettista di soluzioni non si limita allo sviluppo dei requisiti funzionali dell'applicazione per offrire valore di business. È anche necessario assicurare che la soluzione sia progettata in modo scalabile, resiliente, efficiente e sicuro.

L'architettura della soluzione si occupa della pianificazione, della progettazione, dell'implementazione e del miglioramento continuo di un sistema IT. L'architettura di un sistema deve bilanciare e allineare i requisiti aziendali con le funzionalità tecniche necessarie per soddisfare tali requisiti. L'architettura finale è un compromesso tra costi, rischi e funzionalità nell'intero sistema e nei rispettivi componenti.

Azure Well-Architected Framework

Azure Well-Architected Framework è un set di linee guida per la creazione di soluzioni di alta qualità in Azure. Benché non sia disponibile un approccio unico per la progettazione di un'architettura, esistono alcuni concetti universali applicabili indipendentemente dall’architettura, dalla tecnologia o dal provider di servizi cloud.

Benché non siano esaustivi, concentrandosi su questi concetti sarà possibile creare una base affidabile, sicura e flessibile per l'applicazione.

Azure Well-Architected Framework comprende cinque principi fondamentali:

  • Ottimizzazione dei costi
  • Eccellenza operativa
  • Efficienza prestazionale
  • Affidabilità
  • Sicurezza

An illustration that shows the pillars of the Azure Well-Architected Framework.

Ottimizzazione dei costi

È consigliabile progettare l'ambiente cloud in modo da ottimizzare i costi di gestione e sviluppo. Identificare gli aspetti poco efficienti e gli sprechi nella spesa per il cloud, in modo da assicurare che gli investimenti vengano sfruttati al meglio.

An illustration that shows increasing quality, speed, and efficiency while maintaining decreasing costs.

Eccellenza operativa

Usando le moderne procedure di sviluppo come DevOps, è possibile eseguire cicli di sviluppo e distribuzione più veloci. È importante avere a disposizione un'architettura di monitoraggio valida, che consenta di rilevare errori e problemi prima che si verifichino o almeno prima che vengano rilevati dai clienti. L'aspetto principale di questo fondamento è l'automazione, che consente di rimuovere la varianza e gli errori, aumentando la flessibilità operativa.

Efficienza prestazionale

Per assicurare prestazioni eccellenti e scalabilità per un'architettura, è necessaria una corrispondenza corretta tra le capacità delle risorse e la domanda. Le architetture cloud ottengono in genere questo equilibrio ridimensionando le applicazioni in modo dinamico in base alle attività nell'applicazione. La domanda per i servizi è variabile, quindi è importante che l'architettura sia in grado di adattarsi. Una progettazione dell'architettura incentrata su prestazioni e scalabilità consentirà di offrire un'esperienza ottimale ai clienti, risultando al tempo stesso economicamente conveniente.

An illustration that shows how resources in the cloud scale dynamically based on demand, resulting in highly efficient usage. When resources are implemented at a fixed level, it results in inefficient usage during low demand and shortage during high demand.

Affidabilità

La paura maggiore di ogni progettista sono i problemi irreversibili dell'architettura. Un ambiente cloud ottimale è progettato in modo da anticipare gli errori a qualunque livello. A tale scopo, è necessario progettare un sistema che possa essere ripristinato in caso di errore entro i tempi richiesti da stakeholder e clienti.

An illustration that shows two virtual machines in a virtual network. One of the machines is shown as failed, while the other is working to service customer requests.

Sicurezza

I dati costituiscono l'aspetto più prezioso del footprint tecnico di un'organizzazione. Per garantire questo principio fondamentale, è necessario proteggere l'accesso all'architettura tramite l'autenticazione, nonché proteggere l'applicazione e i dati dalle vulnerabilità di rete. È necessario proteggere anche l'integrità dei dati, usando strumenti come la crittografia.

La sicurezza deve essere tenuta in considerazione durante l'intero ciclo di vita di un'applicazione, dalla progettazione e implementazione alla distribuzione e alle operazioni. Il cloud fornisce protezione da una varietà di minacce, come le intrusioni nella rete e gli attacchi DDoS. La sicurezza deve comunque essere integrata nell'applicazione, nei processi e nella cultura dell'organizzazione.

An illustration that shows the types of security threats and attacks that might affect your data in the cloud.

Principi di progettazione generali

Oltre a questi elementi fondamentali, nell'architettura è necessario tenere conto anche di altri principi di coerenza della progettazione.

  • Abilitare l'evoluzione dell'architettura: nessuna architettura è statica. È importante consentire l'evoluzione dell'architettura sfruttando i servizi, gli strumenti e le tecnologie non appena vengono resi disponibili.

  • Usare i dati per prendere decisioni: raccogliere dati, analizzarli e usarli per prendere decisioni relative all'architettura. Dai dati sui costi alle prestazioni, fino ai carichi utente, questi dati consentono di effettuare scelte appropriate per il proprio ambiente.

  • Educare e abilitare: la tecnologia cloud si evolve rapidamente. Formando adeguatamente i team responsabili dello sviluppo, delle operazioni e delle procedure aziendali, sarà possibile assicurarsi che prendano le decisioni appropriate e creino soluzioni in grado di risolvere i problemi aziendali. Documentare e condividere le configurazioni, le decisioni e le procedure consigliate all'interno dell'organizzazione.

  • Automatizzare: l'automazione delle attività manuali riduce i costi operativi, riduce al minimo gli errori introdotti dai passaggi manuali e garantisce coerenza tra gli ambienti.

Responsabilità condivisa

Il passaggio al cloud introduce un modello di responsabilità condivisa. In questo modello il provider di servizi cloud gestisce determinati aspetti dell'applicazione, lasciando all'organizzazione le responsabilità rimanenti.

In un ambiente locale la responsabilità è totalmente dell'organizzazione. Man mano che si passa all'infrastruttura distribuita come servizio (IaaS), poi alla piattaforma distribuita come servizio (PaaS) e infine al software come un servizio (SaaS), il provider di servizi cloud si assume una responsabilità sempre maggiore.

Questa responsabilità condivisa rivestirà un ruolo nelle decisioni relative all'architettura, che hanno implicazioni su costi, sicurezza e funzionalità tecniche e operative dell'applicazione. Passando queste responsabilità al provider, si possono abbandonare le attività non fondamentali per l'organizzazione e ci si potrà concentrare su come creare valore aggiunto per l'azienda.

An illustration that shows the level of shared responsibilities in each type of cloud-service model.

Scelte di progettazione

In un'architettura ideale si crea l'ambiente più sicuro, con le prestazioni e la disponibilità più elevate e la maggiore efficienza possibile. Come in qualsiasi altra situazione, è tuttavia necessario scendere a compromessi.

La creazione di un ambiente con i livelli più elevati per tutti questi principi fondamentali comporta determinati costi. Tali costi sono da sostenere in denaro, tempo di distribuzione o flessibilità operativa. Ogni organizzazione ha priorità diverse che influiscono sulle scelte di progettazione relative a ogni principio fondamentale. In fase di progettazione dell'architettura è importante determinare quali compromessi sono accettabili e quali non lo sono.

Quando si crea un'architettura di Azure, è necessario tenere in considerazione diversi aspetti. Si vuole ottenere un'architettura sicura, scalabile, disponibile e ripristinabile. Per ottenere questo risultato, sarà necessario prendere decisioni basate sui costi, sulle priorità dell'organizzazione e sui rischi.