Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un'applicazione progettata per carichi di lavoro ospitati nel cloud soddisfa i requisiti aziendali della soluzione e incorpora componenti e funzionalità nativi del cloud. Un'applicazione cloud ben progettata risolve le considerazioni sull'affidabilità, la sicurezza, i costi, le operazioni e le prestazioni. Queste considerazioni si allineano ai requisiti aziendali, alle caratteristiche specifiche della piattaforma di hosting cloud e alle funzionalità offerte dalla piattaforma.
Non è necessario usare uno stile di applicazione specifico, ad esempio i microservizi, per progettare un'applicazione per carichi di lavoro cloud. Tuttavia, l'hosting cloud rende molti modelli di progettazione delle applicazioni più approcciabili rispetto alle soluzioni di hosting che non offrono in modo nativo una selezione diversificata di opzioni di applicazione e piattaforma dati, funzionalità di ridimensionamento, controlli di sicurezza e opzioni di messaggistica. I carichi di lavoro cloud traggono vantaggio dalle applicazioni scomposte in servizi più piccoli e decentralizzati in base alla progettazione. Questi servizi comunicano tramite API o tramite messaggistica asincrona o eventi. Le applicazioni vengono ridimensionate orizzontalmente aggiungendo nuove istanze quando aumenta la domanda.
Le applicazioni che usano le piattaforme di hosting delle applicazioni cloud, le funzionalità di messaggistica e i servizi scomposti sono soggette a problemi comuni per i sistemi distribuiti. In questi sistemi, lo stato dell'applicazione viene distribuito e le operazioni vengono eseguite in parallelo e in modo asincrono. Le applicazioni devono essere resilienti quando si verificano errori. Gli attori malintenzionati si rivolgeno continuamente alle applicazioni. Le distribuzioni devono essere automatizzate e prevedibili. Il monitoraggio e la telemetria sono fondamentali per ottenere informazioni dettagliate sul sistema.
Le colonne seguenti elencano alcune caratteristiche comuni della progettazione locale e della progettazione cloud.
Progettazione on-premises tipica
- Funzionalità e dati monolitici e colocati
- Progettato per la scalabilità prevedibile o sovraprovisionato
- Database relazionale
- Elaborazione sincronizzata
- Progettato per evitare guasti e misura il tempo medio tra i guasti (MTBF)
- Il provisioning delle risorse viene eseguito tramite le funzioni IT
- Server Snowflake e server per animali domestici
Design tipico del cloud
- Funzionalità e dati scomposti e distribuiti
- Progettato per la scalabilità elastica
- Persistenza poliglotta usando una combinazione di tecnologie di archiviazione
- Elaborazione asincrona
- Progettato per resistere ai malfunzionamenti e misura l'MTBF.
- Preparato per l'errore e misura il tempo medio di riparazione
- Le risorse vengono fornite secondo necessità tramite l'infrastruttura tramite codice.
- Infrastruttura non modificabile e sostituibile
Progettare applicazioni per Azure
Gli architetti cloud che hanno esperienza nell'hosting cloud e possono prendere decisioni strategiche di compromesso devono progettare applicazioni cloud. Azure fornisce risorse per aiutare gli architetti a sviluppare applicazioni e guidare i team di sviluppo per implementarli. Per ottenere un buon carico di lavoro e progettazione di applicazioni, gli architetti devono:
- Allinearsi agli standard di adozione del cloud dell'organizzazione.
- Assicurarsi che la progettazione segua azure Well-Architected Framework.
- Comprendere gli stili, i carichi di lavoro e le procedure consigliate tipici dell'architettura.
- Usare i modelli di progettazione per risolvere i problemi comuni e introdurre compromessi strategici.
- Effettuare scelte tecnologico informate.
- Valutare le architetture di riferimento.
- Esaminare le guide specifiche del servizio.
È possibile usare Azure per ospitare e riallocare applicazioni non progettate per il cloud. È possibile modificare le applicazioni del carico di lavoro per usare le funzionalità cloud, ma il rehosting di un'applicazione progettata per le risorse fisse e la scalabilità non è considerata una distribuzione nativa del cloud.
Allinearsi agli standard di adozione del cloud dell'organizzazione
L'applicazione fa parte di un carico di lavoro che probabilmente deve soddisfare gli standard e la governance dell'organizzazione. Le organizzazioni di qualsiasi dimensione e maturità del cloud possono usare Cloud Adoption Framework per Azure per formalizzare la strategia di adozione, la conformità, l'innovazione, la gestione, la governance e le iniziative di sicurezza a livello di Azure. Parte di questo approccio consiste nel standardizzare un approccio coerente tra carichi di lavoro, ad esempio l'uso delle zone di destinazione di Azure. Le zone di destinazione di Azure offrono governance a livello di organizzazione e offrono ai team dei carichi di lavoro e agli architetti l'accesso democratico alle risorse per soddisfare gli obiettivi aziendali localizzati. In qualità di architetto che progetta applicazioni, è fondamentale comprendere l'ambiente macro e le aspettative per le operazioni del carico di lavoro, ad esempio le zone di destinazione dell'applicazione.
La strategia di adozione di Azure dell'organizzazione non deve influire sullo stile dell'architettura scelto, ma potrebbe limitare le scelte tecnologiche o i limiti di sicurezza.
Seguire Well-Architected Framework
È possibile valutare la progettazione e l'implementazione di qualsiasi carico di lavoro tramite vari obiettivi. Usare Well-Architected Framework per valutare e allineare le decisioni ai principi di progettazione in questi cinque pilastri principali dell'architettura:
Seguendo questi principi e valutando i compromessi tra questi pilastri dell'architettura, è possibile produrre una progettazione che soddisfi i requisiti aziendali ed è sufficientemente durevole, gestibile, sicura e ottimizzata per l'esecuzione in Azure. Queste decisioni devono informare la scelta dello stile dell'architettura e limitare le scelte tecnologiche o i limiti di sicurezza in relazione alle esigenze specifiche del carico di lavoro.
Il team o l'organizzazione potrebbero avere altri principi di progettazione, ad esempio sostenibilità ed etica, che è possibile usare per valutare il carico di lavoro.
Comprendere gli stili di architettura tipici
Dopo aver compreso l'ambiente aziendale in cui l'applicazione sarà presente e la base di una buona progettazione dell'architettura basata su Well-Architected Framework, è necessario decidere quale tipo di architettura compilare. Potrebbe trattarsi di un'architettura di microservizi, di un'applicazione a più livelli più tradizionale o di una soluzione big data. Questi stili architetturali sono distinti e progettati per risultati diversi. Quando si valutano gli stili architetturali, è necessario selezionare anche i modelli di archivio dati per gestire la gestione dello stato.
Valutare i vari stili di architettura e i modelli di archivio dati per comprendere i vantaggi e le sfide che ogni opzione presenta.
Carichi di lavoro nel framework di Well-Architected
L'articolo Well-Architected Carichi di lavoro di Framework descrive diverse classificazioni o tipi di carico di lavoro. È possibile trovare articoli sui carichi di lavoro cruciali, sull'intelligenza artificiale e sui carichi di lavoro di Machine Learning o sui carichi di lavoro software-as-a-service. Questi articoli specifici del carico di lavoro applicano i cinque pilastri principali di Well-Architected Framework al dominio specifico. Se l'applicazione fa parte di un carico di lavoro allineato a uno di questi modelli documentati, esaminare le rispettive linee guida per facilitare l'approccio alla progettazione seguendo un set di principi di progettazione e raccomandazioni specifici del carico di lavoro in aree di progettazione comuni, ad esempio piattaforma applicativa, piattaforma dati e rete. Alcuni tipi di carico di lavoro possono trarre vantaggio dalla selezione di uno stile architetturale specifico o di un modello di archivio dati.
Procedure consigliate
Per altre informazioni sulle varie considerazioni di progettazione, tra cui progettazione api, scalabilità automatica, partizionamento dei dati e memorizzazione nella cache, vedere Procedure consigliate nelle applicazioni cloud. Esamina queste considerazioni e applica le migliori prassi che sono appropriate per la tua applicazione.
Usare i modelli di progettazione per risolvere i problemi comuni e introdurre compromessi strategici
L'applicazione ha requisiti aziendali, obiettivi e misurazioni specifici del successo. Dovresti scomporre quei requisiti funzionali e non funzionali in attività discrete che lavorano insieme per ottenere una soluzione che soddisfi le tue aspettative e quelle dei clienti. Queste attività seguono in genere i modelli stabiliti dal settore software. I modelli di progettazione software sono approcci denominati e ripetibili che è possibile applicare all'elaborazione o all'archiviazione dei dati. Questi modelli sono dimostrati per risolvere problemi specifici con compromessi noti.
Il catalogo di modelli di progettazione cloud di Azure risolve sfide specifiche nei sistemi distribuiti.
Effettuare scelte tecnologico informate
Dopo aver determinato il tipo di architettura che si vuole compilare e i modelli di progettazione che si prevede di usare, è possibile scegliere i componenti tecnologici principali per l'architettura. Le seguenti scelte tecnologiche sono essenziali:
Compute si riferisce al modello di hosting per le risorse di calcolo o la piattaforma dell'applicazione su cui vengono eseguite le applicazioni. Per altre informazioni, vedere Scegliere un servizio di calcolo. Vedere indicazioni specializzate, ad esempio Scegliere un servizio azure container e opzioni ibride di Azure, per piattaforme applicative specifiche.
Gli archivi dati includono database e archiviazione per file, cache, log e qualsiasi altro elemento che un'applicazione potrebbe rendere persistente nell'archiviazione. Per altre informazioni, vedere Classificazione dell'archivio dati ed Esaminare le opzioni di archiviazione.
Le tecnologie di messaggistica consentono la messaggistica asincrona tra i componenti del sistema. Per altre informazioni, vedere Opzioni di messaggistica asincrona.
Le tecnologie di intelligenza artificiale risolvono i problemi che sono complessi dal punto di vista computazionale da implementare nel codice dell'applicazione tradizionale. Per altre informazioni, vedere Scegliere una tecnologia dei servizi di intelligenza artificiale di Azure.
Probabilmente si effettueranno altre scelte tecnologiche nel corso del processo, ma il calcolo, i dati, la messaggistica e l'intelligenza artificiale sono fondamentali per la maggior parte delle applicazioni cloud e determinare molti aspetti della progettazione.
Valutare le architetture di riferimento
Il Centro architetture di Azure contiene articoli sulle idee sulle soluzioni, sui carichi di lavoro di esempio e sulle architetture di riferimento. Questi articoli elencano in genere i componenti e le considerazioni comuni allineati al framework di Well-Architected. Alcuni di questi articoli includono una soluzione distribuibile ospitata in GitHub. Anche se è improbabile che uno di questi scenari sia esattamente quello che si sta creando, è un buon punto di partenza. È possibile adattare le linee guida alle esigenze specifiche.
Esplorare il catalogo delle architetture nel Centro architetture di Azure.
Esaminare le guide specifiche del servizio
Dopo aver selezionato la tecnologia di base e aver esaminato le architetture di riferimento, esaminare la documentazione e le linee guida specifiche dei servizi nell'architettura. Usare le risorse seguenti per indicazioni specifiche del servizio:
guide al servizioWell-Architected Framework: Il framework di Well-Architected fornisce articoli su molti servizi di Azure. Gli articoli applicano i cinque pilastri dell'architettura a ogni servizio.
Guide all'affidabilità di Azure: L'hub di affidabilità di Azure include articoli approfonditi che riguardano in modo specifico le caratteristiche di affidabilità di molti servizi di Azure. Questi articoli documentano alcuni degli argomenti più critici sull'affidabilità, ad esempio il supporto della zona di disponibilità e il comportamento previsto durante diversi tipi di interruzioni.
Proveniente da un altro cloud?
Se si ha familiarità con la progettazione di applicazioni in un altro provider di servizi cloud, si applicano molte delle stesse nozioni fondamentali. Ad esempio, gli stili di architettura e i modelli di progettazione cloud sono concettualmente indipendenti dal cloud. Per altre informazioni, vedere i seguenti articoli sulla mappatura dei servizi e guida all'architettura: