Condividi tramite


Carichi di lavoro SaaS ben architettati di Azure

La compilazione e il funzionamento di software come servizio (SaaS) in Microsoft Azure richiede un approccio diverso rispetto ad altri tipi di software. I fornitori di software indipendenti (ISV) hanno una posizione unica nell'ecosistema cloud perché le soluzioni SaaS guidano la propria attività. Vendono i loro prodotti alle aziende, noti anche come business-to-business (B2B) o ai consumatori, noti anche come business-to-consumer (B2C). Gli ISV in genere ospitano e mantengono la soluzione SaaS compilata. I clienti configurano il prodotto e gestiscono i dati.

Una soluzione creata usando Well-Architected Framework garantisce che il carico di lavoro possa funzionare su larga scala. Questa serie di articoli fornisce informazioni dettagliate chiave per la creazione di soluzioni SaaS scalabili, efficienti, affidabili e sicure in Azure. Se non si ha già familiarità con il framework ben progettato, è consigliabile prendere del tempo per apprendere i principi.

Fare riferimento ai pilastri di Microsoft Azure Well-Architected Framework.

Che cos'è un carico di lavoro SaaS?

Il termine carico di lavoro si riferisce a una raccolta di risorse dell'applicazione che supportano un obiettivo aziendale comune o l'esecuzione di un processo aziendale comune, con più servizi, ad esempio API e archivi dati, che interagiscono per offrire funzionalità end-to-end specifiche.

Il termine SaaS si riferisce al modello aziendale di distribuzione di software come servizio. In qualità di fornitore, l'utente è responsabile della consegna e della gestione dell'intera soluzione. È necessario gestire attentamente gli ambienti dei clienti su larga scala rispettando i requisiti per l'isolamento, la sicurezza e la conformità dei clienti. Le soluzioni SaaS spesso si basano su un'architettura multi-tenant, in cui le risorse vengono condivise tra più clienti. Questo approccio influenza la progettazione e la distribuzione delle risorse, nonché il modello di determinazione prezzi offerto ai clienti.

Quali sono le sfide comuni?

Microsoft Azure è una piattaforma eccellente per offrire SaaS, offrendo l'elasticità e la scalabilità necessarie. Fornisce anche funzionalità per automatizzare vari aspetti del recapito SaaS. Tuttavia, la distribuzione di SaaS in Azure presenta un proprio set di sfide:

  • Le aspettative dei clienti sono di qualità, sicurezza e resilienza elevate e impegnative. Per le soluzioni B2B, si diventa essenzialmente un'estensione dei reparti IT dei clienti, prendendo la responsabilità di mantenere operativa e sana la soluzione. Ciò richiede un passaggio dallo sviluppo semplice di software al suo funzionamento su larga scala.

  • Offrire SaaS significa bilanciare le proprie esigenze aziendali con quelle dei clienti, che a volte possono essere in conflitto. Si farà pressione per ridurre il costo delle merci vendute (COGS) e aumentare l'efficienza, mentre i clienti richiedono di più dalla soluzione.

  • SaaS opera spesso su larga scala o con obiettivi di crescita aggressivi. Man mano che si ridimensiona, mantenere le prestazioni e l'affidabilità riducendo al contempo la complessità operativa è fondamentale. Le operazioni manuali sono poco pratiche, quindi sono necessari processi di automazione e strutturati, che richiedono un grado di maturità operativa.

  • L'isolamento è un requisito fondamentale quando si condivide l'infrastruttura tra i clienti. I clienti si aspettano che i dati siano sicuri e che si verifichino prestazioni e affidabilità coerenti, indipendentemente dalle attività di altri clienti. In qualità di fornitore, si assume una responsabilità significativa per la protezione dei dati e dei carichi di lavoro dei clienti, inclusi quelli di altri clienti.

Qual è il modello di maturità per la creazione di SaaS?

Le organizzazioni che creano prodotti SaaS sono in genere:

  • Startup o altre piccole organizzazioni. In genere, ci sono meno persone e meno risorse. Indipendentemente dalle dimensioni dell'organizzazione, SaaS richiede un certo livello di maturità per soddisfare le aspettative elevate dei clienti. I clienti considerano attendibile l'organizzazione per proteggere i dati e altri asset. Possono anche basarsi sulla soluzione per parti importanti delle operazioni. Di conseguenza, l'eccellenza operativa e l'affidabilità diventano aspetti chiave della soluzione.

    Inizialmente, le startup devono classificare in ordine di priorità gli elementi più interessati per i clienti. In parallelo, dovrebbero pianificare miglioramenti dell'architettura futuri, ad esempio automazione, gestione dei tenant, riduzione dei costi e maggiore sicurezza e affidabilità. Anche se questo potrebbe non sembrare pratico in un primo momento, questa pianificazione strategica funge da progetto per l'implementazione graduale e il miglioramento continuo. Man mano che l'avvio cresce, deve adattarsi e perfezionare i processi, adottare nuove tecnologie e soddisfare standard di conformità in continua evoluzione per ridimensionare in modo efficace e mantenere la fiducia dei clienti.

  • Organizzazioni stabilite. Le organizzazioni stabilite che cercano di modernizzare le soluzioni esistenti spesso eseguono la migrazione a un modello SaaS. Anche se l'organizzazione potrebbe avere più risorse, le sfide diventano complesse. Devono supportare i clienti esistenti durante lo sviluppo della nuova soluzione SaaS, che può creare un sovraccarico operativo. Questa transizione richiede modifiche all'architettura tecnica, ai set di competenze e alle operazioni aziendali complessive. L'attenzione deve essere quella di ridurre al minimo l'impatto sui clienti attuali e assicurarsi che ricevano affidabilità, sicurezza e prestazioni simili o migliorate. Una volta che le soluzioni legacy sono meno impegnative, l'organizzazione può classificare in ordine di priorità nuove funzionalità e miglioramenti.

Come usare queste linee guida?

Inizia con Metodologia di progettazione, che delinea i temi razionali e ricorrenti in aree tecniche e operative. Questo approccio sistematico aiuta a definire i requisiti e le strategie di progettazione. Rivedere questa metodologia quando si riscontrano scelte incerte per rimanere allineati agli obiettivi complessivi del carico di lavoro. Fornisce anche un framework per collaborare con i team di marketing e di vendita per convalidare le decisioni tecniche e incorporare il feedback dei clienti per un miglioramento continuo.

Passare ai principi di progettazione per vedere in che modo la metodologia di progettazione SaaS è allineata ai pilastri principali di Well-Architected Framework, considerando l'evoluzione della crescita. Valutare i principi sottostanti per tutti i pilastri collettivamente, inclusi i compromessi.

Concentrarsi sulle aree di progettazione che hanno il maggiore impatto sulla soluzione. Ogni area include considerazioni e consigli per guidare l'utente nelle decisioni di progettazione.

Aree di progettazione
Fatturazione e gestione dei costi: valutare la strategia di fatturazione e il relativo effetto sul costo delle merci vendute (COGS). Modellare e prevedere modifiche ai costi man mano che le aziende SaaS vengono ridimensionate. Cercare i modi per ottimizzare le spese delle risorse cloud.
Governance: gestire e regolare l'utilizzo del servizio cloud per stabilire un ambiente azure sicuro.
Organizzazione delle risorse: pianificare la distribuzione delle risorse per supportare i requisiti di scalabilità e costi.
Gestione delle identità e degli accessi: comprendere le problematiche di gestione delle identità in un ambiente SaaS multi-tenant. Scegliere un provider di identità appropriato e prendere in considerazione la necessità di federazione con i sistemi di gestione delle identità dei clienti.
Calcolo: selezionare una piattaforma di calcolo che soddisfi le proprie esigenze. Pianificare l'isolamento, la scalabilità e la resilienza dei clienti.
Rete: pianificare la distribuzione di rete, incluse topologie e difese. Isolare le risorse tra i clienti e soddisfare le proprie esigenze di connettività, inclusa l'integrazione con le reti e la distribuzione delle risorse nei propri ambienti.
Dati: scegliere un archivio dati appropriato e pianificare l'isolamento dei dati dei clienti mantenendo al contempo l'efficienza operativa. Prendere in considerazione la pianificazione della capacità in base alla scalabilità e alla crescita e assicurarsi che i dati soddisfino i requisiti di resilienza dei clienti.
Procedure DevOps: distribuire l'infrastruttura e le applicazioni per ogni cliente in base al modello di tenancy. Usare un approccio strutturato per le modifiche, incluse le implementazioni progressive.
Gestione degli eventi imprevisti: stabilire le responsabilità del funzionamento di SaaS e degli elementi culturali necessari all'interno dell'organizzazione. Prepararsi per gli eventi imprevisti investendo in strumenti e processi per l'analisi, la correzione e la comunicazione.

Usare lo strumento di revisione della valutazione per valutare l'idoneità del carico di lavoro SaaS ottimizzato nell'ambiente di produzione.

Suggerimento

Ogni decisione architetturale prevede una serie di considerazioni e una serie di compromessi riconosciuti che bilanciano diversi aspetti del framework. Questi compromessi sono indicati da questa icona. .

Quali risorse sono disponibili?

La multi-tenancy è una metodologia aziendale di base per la progettazione di carichi di lavoro SaaS. Per altre informazioni, leggere queste risorse aggiuntive.

  • Architettura della soluzione SaaS e multi-tenant: fornisce indicazioni complete e dettagliate su come progettare SaaS, incluse informazioni su come usare servizi di Azure specifici per supportare gli obiettivi di progettazione SaaS.

Passaggi successivi

Comprendere la metodologia da seguire durante la progettazione di un carico di lavoro SaaS in Azure.