Considerazioni sulla pianificazione della capacità
- 5 minuti
La pianificazione della capacità di base inizia con alcuni calcoli semplici, ma esistono fattori che possono complicare il processo. Oltre ai semplici numeri di utilizzo correnti e stimati, è necessario tenere conto anche delle considerazioni seguenti:
- Limiti e quote di servizio
- Limitazioni dei costi
- Inefficienze di codice e configurazione
- Dipendenze
In questa unità si esamini come queste considerazioni possono influire sulla pianificazione della capacità e su come risolverle.
Limiti e quote di servizio
C'è una tendenza a vedere il cloud computing come una risorsa illimitata. Rispetto ai modelli di server/data center tradizionali, la capacità del cloud sembra essere infinita. Il cloud offre un nuovo livello di scalabilità. Tuttavia, come tutto il resto, ha alcuni limiti. La pianificazione della capacità implica la comprensione quando si raggiungeranno i limiti del servizio.
Quando si esamina il sistema e la relativa architettura, è necessario comprendere i limiti per i servizi cloud in uso. Per impostazione predefinita, ad esempio, è possibile avere un massimo di 1000 macchine virtuali per ogni set di disponibilità di macchine virtuali in Azure. Questo limite può sembrare più di un numero sufficiente di macchine virtuali se si è appena iniziato. Tuttavia, quando si raggiunge tale limite, non è possibile effettuare il provisioning di altre macchine virtuali, che potrebbero causare un'interruzione del servizio.
Annotazioni
Per le nuove distribuzioni, è consigliabile usare zone di disponibilità o set di scalabilità di macchine virtuali flessibili anziché i set di disponibilità. zone di disponibilità offrire maggiore resilienza distribuendo le macchine virtuali tra data center separati fisicamente all'interno di un'area.
Analogamente, per impostazione predefinita, è possibile avere 250 account di archiviazione per ogni sottoscrizione, per area (questo limite può essere aumentato tramite una richiesta di supporto). Questi limiti sono entrambi esempi di limiti flessibili che possono essere aumentati. Tuttavia, alcuni servizi hanno limiti massimi, che è possibile trovare nel collegamento seguente.
Sottoscrizione Azure e limiti, quote e vincoli del servizio
Questi limiti e quote sono qualcosa di cui tenere conto e monitorare. Esaminiamo i modi per farlo.
portale di Azure
È possibile visualizzare le quote del servizio e dove ci si trova in relazione a tali limiti nella sezione Utilizzo e quote in Sottoscrizioni -> Impostazioni nel riquadro di spostamento. È possibile filtrare in base alla categoria di servizio, ad esempio rete/calcolo, e Azure'area. Mostra dove ci si trova rispetto ai limiti.
Tramite codice
È possibile usare l'endpoint Usage - List per qualsiasi servizio Azure per ottenere le informazioni correnti sull'utilizzo delle risorse e i limiti per le risorse di calcolo nella sottoscrizione, come illustrato in questo esempio troncato. Controllare il riferimento Azure REST API per l'ultima versione stabile dell'API.
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/usages?api-version=2024-07-01
{
"currentValue": 12,
"id": "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/westeurope/usages/virtualMachines",
"limit": 25000,
"name": {
"localizedValue": "Virtual Machines",
"value": "virtualMachines"
},
"unit": "Count"
}
È possibile notare che il numero corrente di macchine virtuali in uso è 12 rispetto a un limite di 25.000. Alcuni limiti possono essere aumentati tramite una richiesta di supporto, quindi assicurarsi di sapere in anticipo quando si potrebbe raggiungere una soglia.
Limitazioni dei costi
Il ridimensionamento non riguarda solo l'aggiungere più risorse al problema. È importante per l'organizzazione comprendere il costo dell'ambiente cloud e che l'aggiunta di più risorse in genere equivale a un costo maggiore. Tenere presente questo costo e collaborare con i team finanziari per assicurarsi di essere in accordo sulla spesa cloud corrente e proiettata.
È consigliabile prevedere i costi sia durante la progettazione iniziale dei sistemi che per l'esecuzione di revisioni regolari dei sistemi già in esecuzione. Azure offre strumenti utili per:
- Pianificare il costo di un ambiente usando il calcolatore Azure.
- Esaminare la spesa mensile corrente e proiettata nel portale di Azure.
- Configurare i budget in Gestione dei costi Microsoft. Questo strumento consente di esaminare i costi in ambiti diversi, tra cui gruppo di gestione, gruppo di risorse e sottoscrizione.
Inefficienze di codice e configurazione
In alcuni casi, l'indirizzamento di più risorse può risolvere un problema, ma questo costa denaro. A volte il ridimensionamento non è la soluzione o non è la soluzione completa. In alcuni casi, potrebbe essere che ciò che sembra essere una necessità di ridimensionare è in realtà un problema causato da codice o configurazione non valido.
È possibile risparmiare tempo e denaro individuando prima i bug prima di aumentare le risorse. Alcuni esempi di questo approccio includono:
- Se si dispone di un database progettato male con partizioni calde, ad esempio l'uso di una sola partizione in un enorme database NoSQL, è lento indipendentemente da quanto si scala.
- Se si dispone di query di database inefficienti, renderle più efficienti prima di generare più risorse nel database. In alcuni casi, l'aggiunta dell'indice corretto a un database basato su query comuni può ridurre i costi di 100 volte.
- Se i timeout vengono impostati in modo non corretto, le connessioni al database possono essere sature a causa di tentativi di timeout incoerenti tra server e database. In tal caso, è necessario correggere le impostazioni prima di ridimensionare il database.
- Se il codice dello sviluppatore è inefficiente, è possibile scrivere codice più efficiente per risolvere il problema? Ad esempio, il codice non libera memoria quando potrebbe, quindi si usano macchine virtuali di memoria più grandi quando non è necessario. Le correzioni di questo tipo possono offrire risparmi significativi sui costi.
Dipendenze
Le modifiche necessarie per risolvere alcuni dei problemi descritti in questo modulo spesso hanno dipendenze dagli sviluppatori dell'applicazione. Alcune delle soluzioni e delle procedure consigliate qui richiedono la collaborazione tra l'utente e gli sviluppatori per farlo accadere.
Potresti non essere in grado di implementare tutte queste raccomandazioni interamente da solo. Tuttavia, se si comprende il sistema cloud e le relative funzionalità e caratteristiche, è possibile diventare un driver per il cambiamento nel miglioramento dei sistemi e della loro scalabilità e affidabilità.