Scaffold Azure enterprise: governance prescrittiva per le sottoscrizioni

Nota

Scaffold enterprise di Azure è stato integrato in Microsoft Cloud Adoption Framework. Il contenuto di questo articolo è ora presente nell'articolo sulla metodologia Ready del framework. Questo articolo verrà deprecato all'inizio del 2020. Per iniziare a usare il nuovo processo, vedere Panoramica della metodologia Ready, Zone di destinazione di Azure e Considerazioni sulle zone di destinazione.

Le organizzazioni stanno adottando sempre di più il cloud pubblico per la sua agilità e la sua flessibilità. Si affidano ai punti di forza del cloud per generare ricavi e ottimizzare l'uso delle risorse per l'azienda. Microsoft Azure fornisce numerosi servizi e funzionalità che le organizzazioni assemblano come blocchi predefiniti per affrontare le esigenze di una vasta gamma di applicazioni e carichi di lavoro.

L'unico punto di partenza per ottenere i vantaggi del cloud è decidere di usare Microsoft Azure. Il secondo passaggio è comprendere come l'azienda può usare Azure in modo efficace e identificare le funzionalità di base da adottare per rispondere a domande come:

  • "Mi preoccupa la sovranità dei dati. Come è possibile assicurarsi che i dati e i sistemi soddisfino i requisiti normativi?"
  • "Come è possibile determinare cosa è supportato da ogni risorsa, in modo da poterlo giustificare e fatturare con precisione?"
  • "Vorrei avere la certezza che tutto ciò che viene distribuito o eseguito nel cloud pubblico abbia come priorità la sicurezza. Come posso fare?"

La prospettiva di una sottoscrizione vuota e senza protezioni è scoraggiante. Questo spazio vuoto può ostacolare la migrazione ad Azure.

Questo articolo offre un punto di partenza per i professionisti tecnici, in modo da aiutarli a soddisfare le esigenze in termini di governance e bilanciarle con la richiesta di agilità. Introduce il concetto di un scaffold enterprise per guidare le organizzazioni nell'implementazione e nella gestione degli ambienti Azure in un modo sicuro. Fornisce il framework per sviluppare controlli efficienti ed efficaci.

Esigenza di governance

Durante il passaggio ad Azure, è necessario affrontare in anticipo l'argomento della governance per garantire il corretto uso del cloud all'interno dell'organizzazione. Purtroppo, il tempo necessario e le procedure per creare un sistema di governance completo implicano che alcuni gruppi aziendali si rivolgano direttamente ai provider senza coinvolgere l'IT aziendale. Se le risorse non vengono gestite correttamente, questo approccio rischia di lasciare l'azienda in balia dei compromessi. Le caratteristiche del cloud pubblico, ovvero agilità, flessibilità e prezzi in base al consumo, sono importanti per i gruppi aziendali che devono soddisfare rapidamente le richieste dei clienti (interni ed esterni). Il reparto IT aziendale, tuttavia, deve assicurarsi che i dati e i sistemi siano protetti in modo efficace.

Quando si costruisce un edificio, viene usata un'impalcatura (in inglese scaffold) per creare l'intelaiatura della struttura. Questa impalcatura descrive la struttura generale e fornisce punti di ancoraggio per il montaggio di sistemi più permanenti. Un scaffold enterprise è lo stesso: un set di controlli flessibili e funzionalità di Azure che forniscono la struttura per l'ambiente e punti di ancoraggio per servizi basati su cloud pubblico. Fornisce ai generatori (IT e gruppi aziendali) una base per creare e collegare nuovi servizi, tenendo a mente l'importanza della velocità di distribuzione.

Lo scaffold si basa su procedure raccolte attraverso le varie interazioni con i client di diverse dimensioni. Tali client spaziano da organizzazioni di piccole dimensioni che sviluppano soluzioni nel cloud a grandi aziende e fornitori di software indipendenti che eseguono la migrazione dei carichi di lavoro e sviluppando soluzioni con cloud nativo. Lo scaffold enterprise è costruito appositamente in modo da essere flessibile e supportare i carichi di lavoro IT tradizionali e flessibili, ad esempio gli sviluppatori che creano applicazioni software come servizio (SaaS, Software as a Service) in base alle funzionalità della piattaforma Azure.

Lo scaffold enterprise può essere usato come base di ogni nuova sottoscrizione in Azure. Consente agli amministratori di verificare che i carichi di lavoro soddisfino i requisiti minimi di governance di un'organizzazione senza impedire che i gruppi e gli sviluppatori aziendali soddisfino i propri obiettivi. La nostra esperienza mostra che questo accelera notevolmente la crescita del cloud pubblico anziché ostacolarla.

Nota

Microsoft ha rilasciato in anteprima una nuova funzionalità denominata Azure Blueprint che consentirà di creare pacchetti, gestire e distribuire immagini, modelli, criteri e script comuni tra le sottoscrizioni e i gruppi di gestione. Questa funzionalità fa da ponte tra lo scopo dello scaffold come modello di riferimento e la distribuzione di tale modello all'organizzazione.

L'immagine seguente mostra i componenti dello scaffold. Le fondamenta sono rappresentate da un saldo piano per la gerarchia di gestione e le sottoscrizioni. Le colonne sono i criteri di Resource Manager e saldi standard di denominazione. Il resto dello scaffold è rappresentato dalle principali funzionalità di Azure e dalle funzioni che garantiscono e connettono un ambiente protetto e gestibile.

Enterprise scaffold

Definire la gerarchia

Le basi dello scaffold sono rappresentate dalla gerarchia e dalla relazione tra l'iscrizione al Contratto Enterprise (EA, Enteprise Agreement) e le sottoscrizioni e i gruppi di risorse. L'iscrizione definisce la forma e l'uso dei servizi Azure all'interno di una società da un punto di vista contrattuale. All'interno del Contratto Enterprise, è possibile suddividere ulteriormente l'ambiente in reparti, account, sottoscrizioni e gruppi di risorse che corrispondano alla struttura dell'organizzazione.

Hierarchy

Una sottoscrizione Azure è l'unità di base che contiene tutte le risorse. Definisce anche diversi limiti all'interno di Azure, ad esempio il numero di memorie centrali, reti virtuali e altre risorse. I gruppi di risorse vengono usati per perfezionare il modello di sottoscrizione e consentire un raggruppamento di risorse più naturale.

Ogni azienda è diversa e la gerarchia nell'immagine sopra consente una notevole flessibilità nell'organizzazione di Azure all'interno della società. La creazione di un modello della gerarchia per riflettere le esigenze della società in termini di fatturazione, gestione delle risorse e accesso alle risorse è la prima e più importante decisione da prendere quando si inizia a usare il cloud pubblico.

Reparti e account

I tre modelli comuni per le iscrizioni al Contratto Enterprise sono i seguenti:

  • Modello funzionale

    Diagram of the functional pattern.

  • Modello Business unit

    Diagram of the business unit pattern.

  • Modello geografico

    Diagram of the geographic pattern.

Anche se questi modelli hanno una loro collocazione, il modello Business unit viene adottato sempre più spesso per la sua flessibilità nella creazione di modelli di costo dell'organizzazione e per riflettere l'ambito in cui eseguire i controlli. Il gruppo Microsoft Core Engineering and Operations ha creato un subset efficace del modello Business unit su base Federale, Statale e Locale. Per altre informazioni, vedere Organizzazione di sottoscrizioni e gruppi di risorse.

Gruppi di gestione di Azure

Microsoft offre ora un altro modo per modellare la gerarchia, ovvero i gruppi di gestione di Azure. I gruppi di gestione sono molto più flessibili rispetto a reparti e account e possono essere annidati fino a sei livelli. Tali gruppi consentono anche di creare una gerarchia separata dalla gerarchia di fatturazione, esclusivamente per la gestione efficiente delle risorse. I gruppi di gestione possono eseguire il mirroring della gerarchia di fatturazione e spesso le aziende iniziano in questo modo. La potenza dei gruppi di gestione, tuttavia, si afferma quando vengono usati per creare un modello per l'organizzazione, raggruppando le sottoscrizioni correlate (indipendentemente dalla loro posizione nella gerarchia di fatturazione) e assegnando ruoli, criteri e iniziative comuni. Alcuni esempi includono:

  • Ambiente di produzione e non di produzione. Alcune organizzazioni creano gruppi di gestione per identificare le sottoscrizioni di produzione e non di produzione. I gruppi di gestione consentono a questi clienti di gestire più facilmente ruoli e criteri. Una sottoscrizione non di produzione, ad esempio, può consentire agli sviluppatori l'accesso come collaboratori, mentre nell'ambiente di produzione dispongono solo dell'accesso come lettori.
  • Servizi interni e esterni. Nelle aziende sono spesso presenti requisiti, criteri e ruoli diversi per i servizi interni rispetto a quelli destinati ai clienti.

I gruppi di gestione ben congegnati rappresentano, insieme a Criteri di Azure e alle relative iniziative, la base di una governance efficiente di Azure.

Sottoscrizioni

Quando si prendono decisioni su reparti e account (o sui gruppi di gestione), si valuta principalmente come organizzare l'ambiente Azure per farlo corrispondere alla propria organizzazione. Le sottoscrizioni, tuttavia, sono i punti in cui viene eseguito il lavoro reale e le decisioni che le riguardano influiscono su sicurezza, scalabilità e fatturazione. Molte organizzazioni usano come guide i criteri seguenti:

  • Applicazione/servizio: le sottoscrizioni rappresentano un'applicazione o un servizio (un portfolio di applicazioni)
  • Ciclo di vita: le sottoscrizioni rappresentano il ciclo di vita di un servizio, ad esempio Production o Development.
  • Reparto: le sottoscrizioni rappresentano reparti nell'organizzazione.

I primi due criteri, quelli più usati, sono entrambi vivamente consigliati. L'approccio "ciclo di vita" è appropriato per la maggior parte delle organizzazioni. In questo caso, la raccomandazione generale è quella di usare due sottoscrizioni di base, Production e Nonproduction, e quindi usare i gruppi di risorse per separare ulteriormente gli ambienti.

Gruppi di risorse

Azure Resource Manager consente di organizzare le risorse in gruppi significativi per gestione, fatturazione o affinità naturale. I gruppi di risorse sono contenitori di risorse che hanno un ciclo di vita comune o condividono un attributo, ad esempio All SQL servers o Application A.

I gruppi di risorse non possono essere nidificati e le risorse possono appartenere a un solo gruppo di risorse. Alcune azioni possono essere applicate a tutte le risorse di un gruppo di risorse. Ad esempio, l'eliminazione di un gruppo di risorse comporta la rimozione di tutte le risorse all'interno del gruppo di risorse. Come per le sottoscrizioni, sono presenti criteri comuni durante la creazione di gruppi di risorse, che variano da carichi di lavoro di tipo IT tradizionale a gruppi di tipo IT agile:

  • I carichi di lavoro di tipo IT tradizionale sono in genere raggruppati in base agli elementi all'interno di uno stesso ciclo di vita, ad esempio un'applicazione. Il raggruppamento in base all'applicazione consente la gestione di singole applicazioni.
  • I carichi di lavoro IT agile tendono a concentrarsi su applicazioni cloud orientate ai clienti esterni. I gruppi di risorse spesso riflettono i livelli di distribuzione (ad esempio livello Web o livello applicazione) e di gestione.

Nota

Conoscere il carico di lavoro aiuta a sviluppare una strategia di gruppo di risorse. Questi modelli possono essere mischiati e combinati. Un gruppo di risorse di servizi condivisi, ad esempio, può risiedere nella stessa sottoscrizione come gruppo di risorse di un carico di lavoro agile.

Standard di denominazione

Il primo pilastro dello scaffolding è uno standard di denominazione coerente. Standard di denominazione ben progettati consentono di identificare le risorse nel portale, in una fattura e all'interno degli script. È probabile che si disponga già di standard di denominazione per l'infrastruttura locale. Quando si aggiunge Azure all'ambiente, è opportuno estendere tali standard di denominazione alle risorse di Azure.

Suggerimento

Per le convenzioni di denominazione:

Occorre tenere presente che è difficile modificare i nomi in un secondo momento, pertanto spendere alcuni minuti a farlo a questo punto consentiranno di non dover affrontare problemi più avanti.

È necessario concentrare gli standard di denominazione sulle risorse usate e cercate più comunemente. Ad esempio, tutti i gruppi di risorse devono seguire uno standard sicuro per maggiore chiarezza.

Tag delle risorse

I tag delle risorse sono strettamente allineati agli standard di denominazione. Man mano che le risorse vengono aggiunte alle sottoscrizioni, diventa sempre più importante categorizzarle in maniera logica a scopo di fatturazione, gestione e svolgimento delle operazioni. Per altre informazioni, vedere Usare tag per organizzare le risorse di Azure.

Importante

I tag possono contenere informazioni personali ed essere sottoposti alle normative del GDPR. Pianificare con attenzione la gestione dei tag. Per informazioni generali sul Regolamento sulle protezione dei dati, vedere la sezione relativa in Microsoft Service Trust Portal.

I tag vengono usati in molti modi, oltre a fatturazione e gestione. Spesso vengono usati nell'ambito dell'automazione (vedere la sezione successiva). Se non affrontati in anticipo, possono verificarsi conflitti. La procedura consigliata prevede di identificare tutti i tag comuni a livello aziendale, ad esempio ApplicationOwner e CostCenter, e applicarli in modo coerente quando si distribuiscono risorse tramite l'automazione.

Criteri di Azure e iniziative

Il secondo pilastro dello scaffold comporta l'uso di Criteri di Azure e iniziative per gestire i rischi con l'applicazione di regole (con effetti) su risorse e servizi nelle sottoscrizioni in uso. Le iniziative di Criteri di Azure sono raccolte di criteri progettati per raggiungere un unico obiettivo. I criteri e le iniziative vengono quindi assegnati a un ambito di risorse per iniziare l'applicazione dei criteri specifici.

I criteri e le iniziative sono ancora più potenti quando usati con i gruppi di gestione indicati in precedenza. I gruppi di gestione consentono l'assegnazione di un'iniziativa o dei criteri a un intero set di sottoscrizioni.

Uso comune dei criteri di Resource Manager

I criteri e le iniziative sono strumenti di Azure potenti. I criteri consentono alle aziende di offrire controlli per i carichi di lavoro IT tradizionali che garantiscono stabilità per le applicazioni line-of-business, consentendo al contempo anche uno sviluppo di carichi di lavoro più agili, come lo sviluppo di applicazioni dei clienti senza esporre l'azienda a rischi aggiuntivi. I modelli più diffusi per i criteri sono i seguenti:

  • Conformità geografica e sovranità dei dati. Azure dispone di un elenco sempre crescente di aree geografiche in tutto il mondo. Le aziende spesso devono garantire che le risorse in un ambito specifico restino in un'area geografica per soddisfare i requisiti normativi.
  • Evitare di esporre pubblicamente i server. Criteri di Azure può impedire la distribuzione di determinati tipi di risorse. È comune creare un criterio per impedire la creazione di un indirizzo IP pubblico un determinato ambito, evitando l'esposizione non prevista di un server a Internet.
  • Gestione dei costi e metadati. I tag delle risorse vengono spesso usati per aggiungere dati di fatturazione importanti a risorse e gruppi di risorse, ad esempio CostCenter e Owner. Questi tag hanno un'importanza inestimabile per fatturare e gestire con precisione le risorse. I criteri possono imporre l'applicazione di tag a tutte le risorse distribuite, rendendole più facili da gestire.

Usi comuni delle iniziative

Le iniziative offrono alle aziende la possibilità di raggruppare i criteri logici e di tenerne traccia come singola entità. Le iniziative consentono anche all'azienda di soddisfare le esigenze in termini di carichi di lavoro di tipo agili e tradizionali. Gli usi comuni delle iniziative includono:

  • Abilitare il monitoraggio in Microsoft Defender for Cloud. Si tratta di un'iniziativa predefinita in Criteri di Azure e di un esempio eccellente delle iniziative stesse. Vengono abilitate i criteri che identificano i database SQL non crittografati, le vulnerabilità delle macchine virtuali e le esigenze più comuni legate alla sicurezza.
  • Iniziativa specifica in base ai requisiti normativi. Spesso le aziende raggruppano i criteri comuni a un requisito normativo (ad esempio HIPAA) in modo che i controlli e la conformità a tali controlli vengano monitorati in modo efficiente.
  • SKU e tipi di risorse. La creazione di un'iniziativa che limita i tipi di risorse che possono essere distribuite, nonché gli SKU che possono essere distribuiti, può contribuire a controllare i costi e a garantire che l'organizzazione distribuisca solo le risorse per le quali il team dispone del set di competenze e delle procedure.

Suggerimento

È consigliabile usare sempre le definizioni delle iniziative invece di quelle dei criteri. Dopo aver assegnato un'iniziativa a un ambito, ad esempio una sottoscrizione o un gruppo di gestione, è possibile aggiungere facilmente un altro criterio all'iniziativa senza dover modificare le assegnazioni. In questo modo si semplificano la comprensione di ciò che viene applicato e il monitoraggio della conformità.

Assegnazioni di criteri e iniziative

Dopo aver creato le politiche e aver raggruppate in iniziative logiche, è necessario assegnare i criteri a un ambito, ad esempio un gruppo di gestione, una sottoscrizione o un gruppo di risorse. Le assegnazioni consentono anche di escludere un ambito secondario dall'assegnazione dei criteri. Ad esempio, se si nega la creazione di indirizzi IP pubblici in una sottoscrizione, è possibile creare un'assegnazione con un'esclusione per un gruppo di risorse connesso alla rete perimetrale protetta.

Esempi che mostrano come i criteri e le iniziative possono essere applicati a risorse in Azure sono disponibili nel azure-policy repository GitHub.

Gestione delle identità e dell'accesso

Le domande chiave da porre quando si adotta il cloud pubblico sono "Chi dovrebbe avere accesso alle risorse?" e "Come controllare l'accesso?" Il controllo dell'accesso alle risorse e al portale di Azure è fondamentale per la sicurezza a lungo termine degli asset nel cloud.

Per proteggere l'accesso alle risorse, è necessario per prima cosa configurare il provider di identità, quindi configurare ruoli e accessi. Microsoft Entra ID, connesso al Active Directory locale, è la base dell'identità in Azure. Tuttavia, Microsoft Entra ID non è uguale a Active Directory locale ed è importante comprendere qual è il tenant di Microsoft Entra e come si riferisce alla registrazione. Esaminare la gestione degli accessi alle risorse in Azure per acquisire una conoscenza approfondita dell'ID e dell'Active Directory locale Microsoft Entra. Per connettersi e sincronizzare la directory locale con Microsoft Entra ID, installare e configurare lo strumento Microsoft Entra Connessione locale.

Diagram of an architecture that includes both Microsoft Entra ID and an on-premises Active Directory instance.

Quando Azure è stato originariamente rilasciato, i controlli di accesso a una sottoscrizione erano solo di base e agli utenti era possibile assegnare un ruolo di amministratore o coamministratore. L'accesso a una sottoscrizione nel modello classico implicava l'accesso a tutte le risorse del portale. Questa mancanza di un controllo granulare ha portato alla proliferazione di sottoscrizioni per offrire un livello ragionevole di controllo degli accessi per un'iscrizione. La proliferazione di sottoscrizioni non è più necessaria. Con il controllo degli accessi in base al ruolo, è possibile assegnare utenti ai ruoli standard, ad esempio "proprietario", "collaboratore" o "lettore", e anche creare ruoli personalizzati.

Quando si implementa il controllo degli accessi in base al ruolo di Azure, è consigliabile seguire queste procedure:

  • Controllare i ruoli di amministratore e coamministratore di una sottoscrizione, perché questi ruoli dispongono delle autorizzazioni complete. È necessario aggiungere il proprietario della sottoscrizione come coamministratore solo se deve gestire distribuzioni classiche di Azure.
  • Usare i gruppi di gestione per assegnare i ruoli in più sottoscrizioni e ridurre il carico derivante dalla gestione a livello di sottoscrizione.
  • Aggiungere utenti di Azure a un gruppo (ad esempio Application X Owners) in Active Directory. Usare il gruppo sincronizzato per concedere ai membri del gruppo i diritti appropriati per gestire il gruppo di risorse contenente l'applicazione.
  • Seguire il principio di concedere il privilegio minimo necessario per svolgere il lavoro previsto.

Importante

Prendere in considerazione l'uso di Microsoft Entra Privileged Identity Management, l'autenticazione a più fattori di Azure e le funzionalità di accesso condizionale di Microsoft Entra per offrire maggiore sicurezza e maggiore visibilità alle azioni amministrative nelle sottoscrizioni di Azure. Queste funzionalità provengono da una licenza valida di Microsoft Entra ID P1 o P2 (a seconda della funzionalità) per proteggere e gestire ulteriormente l'identità. Microsoft Entra PIM consente l'accesso amministrativo JUST-In-Time con il flusso di lavoro di approvazione, nonché un controllo completo delle attivazioni e delle attività dell'amministratore. L'autenticazione a più fattori di Azure è un'altra funzionalità fondamentale e consente la verifica in due passaggi per l'accesso al portale di Azure. In combinazione con i controlli di accesso condizionale di Microsoft Entra, è possibile gestire in modo efficace il rischio di compromissione.

Una delle migliori strategie per mitigare i rischi che è possibile adottare e che è consigliabile considerare obbligatoria per ogni distribuzione consiste nel pianificare e preparare l'identità e i controlli degli accessi e nel seguire le procedure consigliate per la gestione delle identità di Azure.

Sicurezza

Uno dei principali ostacoli per l'adozione del cloud è generalmente rappresentato dalle preoccupazioni legate alla sicurezza. I responsabili della gestione dei costi dell'IT e i reparti della sicurezza devono assicurarsi che le risorse in Azure siano al sicuro e protette per impostazione predefinita. In Azure sono disponibili funzionalità che consentono di proteggere le risorse durante il rilevamento e l'eliminazione delle minacce contro tali risorse.

Microsoft Defender for Cloud

Microsoft Defender for Cloud offre una visualizzazione unificata dello stato della sicurezza delle risorse nell'intero ambiente, oltre alla protezione avanzata dalle minacce. Defender for Cloud è una piattaforma aperta che consente ai partner Microsoft di creare un software che si inserisce al suo interno e ne migliora le funzionalità. Le funzionalità di base di Defender for Cloud (livello gratuito) offrono opzioni di valutazione e consigli che migliorano lo stato di sicurezza dell'ambiente in uso. I livelli a pagamento consentono funzionalità aggiuntive e preziose, ad esempio l'accesso con privilegi JIT e i controlli applicazioni adattivi (allowlist).

Suggerimento

Defender for Cloud è uno strumento potente che viene regolarmente migliorato con nuove funzionalità e che è possibile usare per rilevare le minacce e proteggere l'azienda. È consigliabile abilitare sempre Defender for Cloud.

Blocchi per le risorse di Azure

Con la continua aggiunta di servizi di base alle sottoscrizioni da parte delle organizzazioni, diventa sempre più importante evitare l'interruzione delle attività aziendali. Un'interruzione comune si verifica quando uno script o uno strumento in esecuzione in una sottoscrizione di Azure elimina involontariamente una risorsa. I blocchi consentono di limitare le operazioni sulle risorse di valore elevato in cui la modifica o l'eliminazione potrebbe avere un impatto significativo. È possibile applicare blocchi a sottoscrizioni, gruppi di risorse o singole risorse. È consigliabile applicare blocchi a risorse fondamentali come reti virtuali, gateway, gruppi di sicurezza di rete e account di archiviazione delle chiavi.

Secure DevOps Kit per Azure

Secure DevOps Kit for Azure (AzSK) è una raccolta di script, tool, estensioni e funzionalità di automazione creati dal team IT di Microsoft e rilasciata in modalità open source tramite GitHub. AzSK soddisfa le esigenze di sicurezza delle risorse e delle sottoscrizioni end-to-end di Azure per i team usando un'automazione completa e integrando perfettamente la sicurezza nei flussi di lavoro DevOps nativi per aiutare a eseguire operazioni DevOps sicure in queste 6 aree:

  • Proteggere la sottoscrizione
  • Offrire uno sviluppo sicuro
  • Integrazione della sicurezza nelle procedure CI/CD
  • Controllo continuo
  • Invio di avvisi e monitoraggio
  • Governance dei rischi per il cloud

Overview diagram of the Secure DevOps Kit for Azure

AzSK è un set completo di strumenti, script e informazioni importanti per un piano di governance di Azure completo e la sua integrazione nello scaffold è fondamentale per supportare gli obiettivi di gestione dei rischi delle organizzazioni.

Gestione aggiornamenti di Azure

Una delle attività principali da eseguire per proteggere l'ambiente è garantire che i server vengano protetti con gli aggiornamenti più recenti. Sebbene vi siano molti strumenti per eseguire questa operazione, Azure offre la soluzione Gestione aggiornamenti di Azure per risolvere l'identificazione e l'implementazione di patch critiche per il sistema operativo. Usa Automazione di Azure, di cui nella sezione Automatizzare, più avanti in questa guida.

Monitoraggio e avvisi

Raccogliere e analizzare i dati di telemetria che forniscono una visuale sulle attività, le metriche delle prestazioni, l'integrità e la disponibilità dei servizi in uso in tutte le sottoscrizioni di Azure sono attività essenziali per gestire in modo proattivo le applicazioni e l'infrastruttura e anche un'esigenza fondamentale per ogni sottoscrizione di Azure. Ogni servizio di Azure genera dati di telemetria in forma di log attività, metriche e log di diagnostica.

  • I log attività descrivono tutte le operazioni eseguite sulle risorse nelle sottoscrizioni.
  • Le metriche sono informazioni numeriche generate da una risorsa che ne descrivono le prestazioni e l'integrità.
  • I log di diagnostica sono generati da un servizio di Azure e offrono dati completi e frequenti sul funzionamento del servizio stesso.

È possibile visualizzare e intervenire su queste informazioni su più livelli e migliorarle costantemente. Azure offre funzionalità di monitoraggio condivise, importanti e approfondite sulle risorse di Azure tramite i servizi descritti nel diagramma seguente.

Diagram that depicts deep application monitoring, deep infrastructure monitoring, core monitoring, and shared capabilities.

Funzionalità condivise

  • Avvisi: è possibile raccogliere ogni log, evento e metrica dalle risorse di Azure, ma, senza la possibilità di ricevere comunicazioni sulle condizioni critiche e agire, i dati sono utili solo a scopi statistici e di indagine. Gli avvisi di Azure comunicano in modo proattivo le condizioni definite dall'utente in tutte le applicazioni e nell'infrastruttura. Le regole di avviso vengono create in log, eventi e metriche che usano gruppi di azioni per comunicare a gruppi di destinatari. I gruppi di azioni offrono anche la possibilità di automatizzare la correzione tramite azioni esterne, ad esempio i webhook per eseguire i runbook di Automazione di Azure e Funzioni di Azure.

  • Dashboard: i dashboard consentono di aggregare le viste di monitoraggio e combinare i dati all'interno di risorse e sottoscrizioni per offrire una visualizzazione a livello aziendale dei dati di telemetria delle risorse di Azure. È possibile creare e configurare le proprie visualizzazioni e condividerle con altri utenti. Ad esempio, è possibile creare un dashboard costituito da diversi riquadri per fare in modo che gli amministratori di database offrano informazioni in tutti i servizi di database di Azure, tra cui database SQL di Azure, Database di Azure per PostgreSQL e Database di Azure per MySQL.

  • Esplora metriche: le metriche sono valori numerici generati dalle risorse di Azure (ad esempio percentuale della CPU o metriche I/O del disco), che consentono di comprendere il funzionamento e le prestazioni delle risorse. Esplora metriche permette di definire e inviare a Log Analytics le metriche pertinenti per l'aggregazione e l'analisi.

Monitoraggio di base

  • Monitoraggio di Azure: è il servizio di piattaforma di base che mette a disposizione un'unica origine per monitorare le risorse di Azure. L'interfaccia del portale di Azure per Monitoraggio di Azure rappresenta un punto di partenza centralizzato per tutte le funzioni di monitoraggio in Azure, incluse le funzionalità di monitoraggio approfondito garantite da Application Insights, Log Analytics, monitoraggio della rete, soluzioni di gestione e mapping dei servizi. Con Monitoraggio di Azure è possibile visualizzare, eseguire query, instradare, archiviare ed effettuare operazioni sulle metriche e sui log provenienti dalle risorse di Azure nell'intero cloud. Oltre che con il portale, è possibile recuperare i dati tramite i cmdlet di PowerShell di Monitoraggio di Azure, l'interfaccia della riga di comando tra piattaforme o le API REST di Monitoraggio di Azure.

  • Azure Advisor: monitora costantemente i dati di telemetria nelle sottoscrizioni e negli ambienti. Consiglia anche le procedure per ottimizzare i costi delle risorse di Azure e migliorare le prestazioni, la sicurezza e la disponibilità delle risorse dell'applicazione.

  • Integrità dei servizi di Azure: identifica eventuali problemi con i servizi di Azure che possono influire sulle applicazioni e assistere nella programmazione delle finestre di manutenzione pianificata.

  • Log attività: descrive tutte le operazioni eseguite sulle risorse nelle sottoscrizioni. Offre un audit trail per determinare gli aspetti cosa, chi e quando di qualsiasi operazione di creazione, aggiornamento ed eliminazione eseguita sulle risorse. Gli eventi del log attività vengono archiviati nella piattaforma e sono disponibili per le query per 90 giorni. È possibile inserire i log attività in Log Analytics per periodi di conservazione più lunghi ed eseguire query e analisi più approfondite in varie risorse.

Monitoraggio avanzato delle applicazioni

  • Application Insights: consente di raccogliere dati di telemetria specifici delle applicazioni e monitorare prestazioni, disponibilità e uso delle applicazioni nel cloud o in locale. È possibile instrumentare l'applicazione con SDK supportati per più linguaggi, tra cui .NET, JavaScript, Java, Node. js, Ruby e Python. Gli eventi di Application Insights vengono inseriti nello stesso archivio dati di Log Analytics che supporta l'infrastruttura e il monitoraggio della protezione per consentire di correlare e aggregare gli eventi nel tempo grazie a un linguaggio di query avanzato.

Monitoraggio avanzato dell'infrastruttura

  • Log Analytics: svolge un ruolo essenziale nel monitoraggio di Azure, raccogliendo dati di telemetria e di altro tipo da diverse origini e fornendo un linguaggio di query e un motore di analisi che offrono informazioni dettagliate sul funzionamento delle applicazioni e delle risorse. È possibile interagire direttamente con i dati di Log Analytics tramite rapide ricerche e visualizzazioni nei log oppure è possibile usare gli strumenti di analisi in altri servizi di Azure che archiviano i rispettivi dati in Log Analytics, ad esempio Application Insights o Microsoft Defender for Cloud.

  • Monitoraggio di rete: i servizi di monitoraggio di rete di Azure consentono di acquisire informazioni su flusso, prestazioni, sicurezza, connettività e colli di bottiglia del traffico di rete. Una rete ben progettata deve includere la configurazione di servizi di monitoraggio di rete di Azure, ad esempio Network Watcher ed ExpressRoute Monitor.

  • Soluzioni di gestione: sono pacchetti di set di logica, informazioni e query di Log Analytics predefinite per un'applicazione o un servizio. Si basano su Log Analytics per archiviare e analizzare i dati dell'evento. Esempi di soluzioni di gestione includono il monitoraggio dei contenitori e l'analisi dl database SQL di Azure.

  • Mapping dei servizi: offre una panoramica grafica dei componenti dell'infrastruttura, dei relativi processi e delle interconnessioni con altri computer e processi esterni. Integra eventi, dati sulle prestazioni e soluzioni di gestione in Log Analytics.

Suggerimento

Prima di creare singoli avvisi, creare e gestire un insieme di gruppi di azioni condivisi che possano essere usati negli avvisi di Azure. Questo consentirà di gestire a livello centrale il ciclo di vita degli elenchi di destinatari, i metodi di recapito delle notifiche (indirizzi di posta elettronica, numeri di telefono per gli SMS) e i webhook per le azioni esterne (runbook di Automazione di Azure, Funzioni di Azure, App per la logica e Gestione dei servizi IT).

Gestione costi

Una delle principali modifiche che si dovranno affrontare al momento del passaggio dal cloud locale al cloud pubblico è il passaggio da CAPEX (acquisto dell'hardware) a OPEX (pagamento per il servizio in base all'uso). Questa opzione richiede anche una gestione più attenta dei costi. Il vantaggio del cloud è quello di influire in modo significativo e positivo sul costo di un servizio in uso, semplicemente disabilitandolo o ridimensionandolo quando non serve. La gestione deliberata dei costi nel cloud è una procedura consigliata che i clienti più accorti eseguono ogni giorno.

Microsoft offre diversi strumenti che consentono di visualizzare, monitorare e gestire i costi. Viene inoltre offerto un set completo di API per personalizzare e integrare la gestione dei costi negli strumenti e nei dahsboard degli utenti. Tali strumenti sono raggruppati in modo generico in funzionalità del portale di Azure e funzionalità esterne.

Funzionalità del portale di Azure

Si tratta di strumenti per offrire informazioni immediate sul costo e per dare la possibilità di eseguire azioni.

  • Costo delle risorse di sottoscrizione: la visualizzazione Gestione dei costi e fatturazione di Azure consente di osservare rapidamente i costi e le informazioni sulla spesa giornaliera in base alla risorsa o al gruppo di risorse.
  • Gestione dei costi e fatturazione di Azure: consente di gestire e analizzare le spese di Azure e quelle per gli altri provider di servizi cloud pubblico. Sono disponibili sia livelli gratuiti che a pagamento, con un'ampia gamma di funzionalità.
  • Budget di Azure e gruppi di azioni: conoscere i costi di un prodotto o un servizio e intervenire per controllarli sono, finora, attività manuali. Con l'introduzione dei budget di Azure e delle relativi API, è ora possibile creare azioni eseguite quando i costi raggiungono superano una soglia. È possibile ad esempio arrestare un gruppo di risorse di test quando il suo consumo raggiunge il 100% del relativo budget.
  • Azure Advisor: conoscere i costi di un prodotto o un servizio è solo uno dei punti fondamentali, l'altro è sapere a quale scopo usare tali informazioni. Azure Advisor offre consigli su come intervenire per risparmiare denaro, migliorare l'affidabilità o perfino aumentare la sicurezza.

Strumenti esterni per la gestione dei costi

  • Informazioni dettagliate sul consumo di Azure per Power BI: si intendono creare visualizzazioni personalizzate per l'organizzazione? In tal caso, il pacchetto di contenuto Informazioni dettagliate sul consumo di Azure per Power BI è lo strumento da scegliere. Grazie a questo pacchetto di contenuto e a Power BI, è possibile creare visualizzazioni personalizzate per rappresentare l'organizzazione, eseguire un'analisi più approfondita sui costi e aggiungere altre origini dati per un ulteriore arricchimento.

  • API sul consumo di Azure: le API sul consumo offrono l'accesso programmatico ai dati su costi e uso, nonché informazioni su budget, istanze riservate e addebiti sul marketplace. Tali API sono accessibili solo per le iscrizioni al Contratto Enterprise e per alcune sottoscrizioni dirette sul Web, tuttavia offrono la possibilità di integrare i dati dei costi nei propri strumenti e nei propri data warehouse. È anche possibile accedere a queste API tramite l'interfaccia della riga di comando di Azure.

I clienti che sono utenti cloud maturi e di lunga data seguono determinate procedure consigliate:

  • Monitorare attivamente i costi. Le organizzazioni che hanno familiarità con Azure monitorano costantemente i costi e intraprendono azioni quando necessario. Alcune organizzazioni dispongono perfino di persone dedicate a effettuare analisi e suggerire modifiche all'uso; il costo di queste persone per l'organizzazione viene ammortizzato già dalla prima volta che trovano un cluster HDInsight inutilizzato in uso da mesi.
  • Usare istanze di macchina virtuale riservate di Azure. Un altro principio chiave per gestire i costi nel cloud consiste nell'usare lo strumento appropriato per il processo. Se si dispone di una macchina virtuale IaaS che deve restare attiva 24 ore al giorno, 7 giorni la settimana, l'uso di un'istanza riservata garantisce un risparmio significativo. Per trovare il giusto equilibrio tra l'automazione dell'arresto delle macchine virtuali e l'uso delle istanze riservate, sono necessarie analisi ed esperienza.
  • Usare l'automazione in modo efficace. Molti carichi di lavoro non devono essere eseguiti ogni giorno. La disattivazione di una macchina virtuale per un periodo di quattro ore ogni giorno può garantire un risparmio del 15% dei costi. I costi dell'automazione verranno ammortizzati rapidamente.
  • Usare i tag delle risorse ai fini della visibilità. come descritto in un altro punto di questo documento, l'uso dei tag delle risorse supporta una migliore analisi dei costi.

La gestione costi è una disciplina fondamentale per eseguire un cloud pubblico in modo efficiente ed efficace. Le aziende che raggiungono il successo possono controllare i costi e associarli alla domanda effettiva anziché effettuare acquisti in eccesso e sperare che arrivino richieste.

Automatizza

Una delle molte funzionalità che distinguono la familiarità delle organizzazioni con l'uso di provider cloud è il livello di automazione incorporato. L'automazione è un processo senza fine e quando l'organizzazione passa al cloud, è necessario investire risorse e tempo per realizzarla. L'automazione viene usata per molti scopi, tra cui l'implementazione costante di risorse (con una correlazione diretta a un altro concetto di base dello scaffolding, ovvero modelli e DevOps) per la correzione dei problemi. L'automazione riunisce ogni area dello scaffold di Azure.

Sono disponibili diversi strumenti per sviluppare questa funzionalità, da strumenti Microsoft, come Automazione di Azure, Griglia di eventi e interfaccia della riga di comando di Azure, fino a un'ampia gamma di strumenti di terze parti come Terraform, Jenkins, Chef e Puppet. Gli strumenti di automazione di base includono Automazione di Azure, Griglia di eventi e Azure Cloud Shell.

  • Automazione di Azure consente di creare runbook in PowerShell o Python che automatizzano i processi, configurano le risorse e applicano patch. Automazione di Azure dispone di un'ampia gamma di funzionalità multipiattaforma che sono parte integrante della distribuzione ma sono troppo vaste per essere descritte in modo approfondito in questo articolo.
  • Griglia di eventi è un sistema per il routing di eventi completamente gestito che consente di rispondere agli eventi nell'ambiente di Azure. Proprio come Automazione di Azure è il tessuto connettivo delle organizzazioni con esperienza nel cloud, Griglia di eventi lo è per una buona automazione. Con Griglia di eventi, è possibile creare un'azione semplice e serverless per inviare un messaggio di posta elettronica a un amministratore ogni volta che viene creata una nuova risorsa e registrare tale risorsa in un database. Questa stessa griglia di eventi può comunicare quando una risorsa viene eliminata e rimuovere l'elemento dal database.
  • Azure Cloud Shell è una shell interattiva e basata sul browser per gestire le risorse in Azure. Offre un ambiente completo per PowerShell o Bash, che viene avviato quando serve (ed è gestito per l'utente), in modo da disporre di un ambiente coerente da cui eseguire gli script. Azure Cloud Shell offre accesso a strumenti chiave aggiuntivi (già installati) per automatizzare l'ambiente, tra cui interfaccia della riga di comando di Azure, Terraform e un elenco sempre crescente di altri strumenti per gestire contenitori, database (sqlcmd) e altro ancora.

L'automazione è un processo a tempo pieno e diventerà rapidamente una delle attività operative più importanti per il team dedicato al cloud. Le organizzazioni che adottano l'approccio "automatizzare prima di tutto" hanno più successo quando usano Azure:

  • Gestione dei costi: ricerca attiva di opportunità e creazione di automazione al fine di ridimensionare le risorse, aumentare/ridurre le prestazioni e disabilitare le risorse inutilizzate.
  • Flessibilità operativa: con l'automazione (insieme a modelli e DevOps) si ottiene un livello di ripetibilità che aumenta la disponibilità, incrementa la sicurezza e consente al team di concentrarsi sulla risoluzione dei problemi aziendali.

Modelli e DevOps

Come evidenziato in precedenza, l'obiettivo in qualità di organizzazione dovrebbe essere effettuare il provisioning delle risorse tramite script e modelli controllati attraverso il codice sorgente e ridurre al minimo la configurazione interattiva degli ambienti. Questo approccio, denominato di "infrastruttura come codice", insieme a un processo DevOps disciplinato per la distribuzione continua può garantire la coerenza e ridurre le differenze nei vari ambienti. Quasi tutte le risorse di Azure possono essere distribuite tramite modelli JSON di Azure Resource Manager in combinazione con PowerShell o con l'interfaccia della riga di comando multipiattaforma di Azure e strumenti come Terraform di Hashicorp, che garantisce supporto e integrazioni eccellenti in Azure Cloud Shell.

Articoli come Procedure consigliate per usare modelli di Azure Resource Manager offrono ottime opportunità di discussione sulle procedure consigliate e sulle lezioni apprese applicando un approccio DevOps a modelli di Azure Resource Manager con la toolchain Azure DevOps. È necessario dedicare un po' di tempo e di impegno a sviluppare un set di base di modelli specifici per i requisiti dell'organizzazione e a sviluppare pipeline per il recapito continuo con le toolchain DevOps (ad esempio Azure DevOps, Jenkins, Bamboo, TeamCity e Concourse), in particolare per gli ambienti di produzione e controllo di qualità. In GitHub è disponibile una grande libreria di modelli di avvio rapido di Azure che è possibile usare come punto di partenza per i modelli ed è possibile creare rapidamente pipeline di distribuzione basate sul cloud con Azure DevOps.

Come procedura consigliata per le sottoscrizioni di produzione o i gruppi di risorse, l'obiettivo dovrebbe essere l'uso della sicurezza con controllo degli accessi in base al ruolo di Azure per impedire gli utenti interattivi per impostazione predefinita e l'uso di pipeline automatizzate di recapito continuo basate su entità servizio per effettuare il provisioning di tutte le risorse e distribuire tutto il codice dell'applicazione. Nessun amministratore o sviluppatore deve accedere al portale di Azure per configurare le risorse in modo interattivo. Questo livello di DevOps richiede un impegno congiunto e usa tutti i concetti dello scaffold di Azure e offre un ambiente coerente e più sicuro che soddisferà le esigenze di scalabilità dell'organizzazione.

Suggerimento

Durante la progettazione e lo sviluppo di modelli di Azure Resource Manager complessi, usare modelli collegati per organizzare ed effettuare il refactoring di relazioni complesse di risorse da file JSON compatti. Ciò consentirà di gestire le risorse singolarmente e di rendere i modelli più leggibili, testabili e riutilizzabili.

Azure è un provider di servizi cloud con iperscalabilità. Quando si sposta l'organizzazione dai server locali al cloud, l'uso degli stessi concetti dei provider di servizi cloud e delle applicazioni SaaS consentirà all'organizzazione di rispondere alle esigenze dell'azienda in modo notevolmente più efficiente.

Rete core

Il componente finale del modello di riferimento dello scaffold Azure è la base per la modalità in cui l'organizzazione accede ad Azure, in modo sicuro. È possibile accedere alle risorse dall'interno (nella rete di un'azienda) o dall'esterno (tramite Internet). In alcuni casi può accadere che gli utenti interni all'organizzazione inseriscano involontariamente le risorse nel punto sbagliato e le rendano vulnerabili all'accesso di utenti malintenzionati. Come per i dispositivi locali, le aziende devono aggiungere controlli appropriati per accertarsi che gli utenti di Azure prendano le decisioni giuste. Per la governance delle sottoscrizioni, vengono identificate le risorse principali che garantiscono il controllo di base degli accessi. Le risorse principali sono:

  • Reti virtuali, cioè oggetti contenitore per le subnet. Sebbene non sia strettamente necessario, vengono spesso usate per la connessione delle applicazioni alle risorse aziendali interne.
  • Route definite dall'utente, che consentono di modificare la tabella di routing in una subnet, consentendo di inviare traffico tramite un'appliance virtuale di rete oppure a un gateway remoto in una rete virtuale con peering.
  • Peering di reti virtuali, che consente di connettere facilmente due o più reti virtuali di Azure, creando reti di servizi condivisi o modelli hub-spoke più complessi.
  • Endpoint di servizio. In passato, i servizi PaaS si basavano sui diversi metodi per proteggere l'accesso a queste risorse dalle reti virtuali. Gli endpoint di servizio consentono di proteggere l'accesso ai servizi PaaS abilitati solo da endpoint connessi, aumentando la protezione complessiva.
  • Gruppi di sicurezza, ovvero un set completo di regole che offrono la possibilità di consentire o di impedire il traffico in ingresso e in uscita da/verso le risorse di Azure. I gruppi di sicurezza sono formati da regole di sicurezza che possono essere incrementati con tag di servizio (che definiscono servizi comuni di Azure, ad esempio Azure Key Vault o database SQL di Azure) e gruppi di sicurezza delle applicazioni (che definiscono una struttura di applicazioni, ad esempio server Web o server di applicazioni).

Suggerimento

Usare i tag del servizio e i gruppi di sicurezza delle applicazioni nei gruppi di sicurezza di rete per:

  • Migliorare la leggibilità delle regole, fondamentale per comprendere l'impatto.
  • Abilitare una microsegmentazione efficace in una subnet più grande, riducendo l'espansione e aumentando la flessibilità.

Data center virtuale di Azure

Azure offre sia funzionalità interne che di terze parti provenienti dalla nostra ampia rete di partner, che consentono di disporre di una posizione di sicurezza efficace. Aspetto ancora più importante, Microsoft offre procedure consigliate e linee guida in forma di data center virtuale di Azure. Quando si passa da un singolo carico di lavoro a più carichi di lavoro che usano funzionalità ibride, le linee guida sul data center virtuale forniscono la "ricetta" per abilitare una rete flessibile in grado di crescere di pari passo con i carichi di lavoro di Azure.

Passaggi successivi

La governance è fondamentale per il successo di Azure. In questo articolo è descritta l'implementazione tecnica di uno scaffold enterprise, tuttavia sono illustrati solo il processo più ampio e le relazioni tra i componenti. La governance dei criteri scorre dall'alto verso il basso e dipende dai risultati che l'azienda desidera ottenere. Naturalmente, la creazione di un modello di governance per Azure include rappresentanti dell'IT, ma soprattutto deve prevedere una significativa rappresentanza di leader di gruppo aziendali e gestione di rischi e sicurezza. Fondamentalmente, uno scaffold enterprise consiste nella riduzione dei rischi aziendali per facilitare la missione e gli obiettivi dell'organizzazione.

Ora che sono state acquisite informazioni sulla governance delle sottoscrizioni, esaminare le procedure consigliate per l'idoneità per Azure per vedere l'applicazione pratica di questi consigli.