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.
Esaminare i modelli e le procedure di sviluppo di applicazioni, configurare Azure Pipelines e implementare le procedure consigliate SRE (Site Reliability Engineering). SRE è un approccio di progettazione software allo sviluppo e alla distribuzione delle applicazioni, alla gestione delle modifiche, al monitoraggio e alla risposta di emergenza.
Pianificare, formare e provare
Usare l'elenco di controllo e le risorse di sviluppo di applicazioni seguenti per pianificare lo sviluppo e la distribuzione delle applicazioni. Dovrebbe essere possibile rispondere a queste domande:
- È stato preparato l'ambiente di sviluppo dell'applicazione e il flusso di lavoro di configurazione?
- Come si struttura la cartella del progetto per supportare lo sviluppo di applicazioni Kubernetes?
- Sono stati identificati i requisiti di stato, configurazione e archiviazione dell'applicazione?
Elenco di controllo SRE
Preparare l'ambiente di sviluppo. Configurare l'ambiente con gli strumenti per creare contenitori e configurare il flusso di lavoro di sviluppo.
Per altre informazioni, vedere:
Containerizza la tua applicazione. Acquisire familiarità con l'esperienza di sviluppo Kubernetes end-to-end, tra cui lo scaffolding delle applicazioni, i flussi di lavoro del ciclo di sviluppo interno, i framework di gestione delle applicazioni, le pipeline CI/CD, l'aggregazione dei log, il monitoraggio delle applicazioni e le metriche delle applicazioni.
Per altre informazioni, vedere:
Esaminare gli scenari comuni di Kubernetes. Kubernetes viene spesso considerato come una piattaforma per la distribuzione di microservizi, ma sta diventando una piattaforma più ampia. Per altre informazioni sugli scenari Kubernetes comuni, ad esempio l'analisi batch e il flusso di lavoro, vedere Panoramica degli scenari Kubernetes comuni (video).
Preparare l'applicazione per Kubernetes. Preparare il layout del file system dell'applicazione per Kubernetes e organizzare le versioni settimanali o giornaliere. Informazioni su come il processo di distribuzione Kubernetes consente aggiornamenti affidabili e senza tempi di inattività.
Per altre informazioni, vedere:
Gestire l'archiviazione delle applicazioni. Comprendere le esigenze di prestazioni e i metodi di accesso per i pod in modo da poter fornire le opzioni di archiviazione appropriate. Pianificare i modi per eseguire il backup e testare il processo di ripristino per l'archiviazione collegata.
Per altre informazioni, vedere:
Gestire i segreti dell'applicazione. Utilizzare un vault di chiavi per archiviare e recuperare chiavi e credenziali. Non archiviare le credenziali nel codice dell'applicazione.
Per altre informazioni, vedere:
Eseguire la distribuzione nell'ambiente di produzione e applicare le procedure ottimali
Quando si prepara l'applicazione per la produzione, usare l'elenco di controllo seguente. Dovrebbe essere possibile rispondere a queste domande:
- È possibile monitorare tutti gli aspetti dell'applicazione?
- Sono stati definiti i requisiti delle risorse per l'applicazione? Come si gestiscono i requisiti di scalabilità?
- È possibile distribuire nuove versioni dell'applicazione senza influire sui sistemi di produzione?
Elenco di controllo delle procedure consigliate per SRE
Configurare i controlli di integrità di disponibilità e vivacità. Kubernetes utilizza controlli di disponibilità e integrità per sapere quando la tua applicazione è pronta a ricevere traffico e quando deve essere riavviata. Quando non si definiscono controlli, Kubernetes non è in grado di determinare se l'applicazione è in esecuzione. Per ulteriori informazioni, vedere Controlli di liveness e readiness.
Configurare la registrazione, il monitoraggio delle applicazioni e gli avvisi. Il monitoraggio dei contenitori è fondamentale, soprattutto quando si esegue un cluster di produzione, su larga scala, con più applicazioni. Il metodo di registrazione consigliato per le applicazioni in contenitori consiste nel scrivere nei flussi di output standard (
stdout
) e di errore standard (stderr
).Per altre informazioni, vedere:
Definire i requisiti delle risorse per l'applicazione. Un modo principale per gestire le risorse di calcolo all'interno di un cluster Kubernetes consiste nell'usare richieste e limiti dei pod. Queste richieste e limiti indicano all'utilità di pianificazione kubernetes quali risorse di calcolo assegnare a un pod. Per altre informazioni, vedere Definire le richieste e i limiti delle risorse dei pod.
Configurare i requisiti di ridimensionamento delle applicazioni. Kubernetes supporta la scalabilità automatica orizzontale dei pod per regolare il numero di pod in una distribuzione a seconda dell'utilizzo della CPU o di altre metriche selezionate. Per usare il ridimensionamento automatico, tutti i contenitori nei pod devono avere richieste e limiti di CPU definiti. Per altre informazioni, vedere Configurare la scalabilità automatica orizzontale dei pod.
Distribuire applicazioni usando una pipeline automatizzata e DevOps. L'automazione completa di tutti i passaggi tra il commit del codice alla distribuzione di produzione consente ai team di concentrarsi sulla compilazione del codice e rimuove il sovraccarico e il potenziale errore umano nei passaggi manuali. La distribuzione di nuovo codice è più rapida e meno rischiosa, che consente ai team di diventare più agili, più produttivi e più sicuri del codice in esecuzione.
Per altre informazioni, vedere:
- Evolvi le tue pratiche DevOps
- Configurazione di una pipeline di compilazione Kubernetes (video)
- Centro distribuzione per il servizio Azure Kubernetes
- GitHub Actions per la distribuzione nel servizio Azure Kubernetes
- Esercitazione: Eseguire la distribuzione da GitHub al servizio Azure Kubernetes con Jenkins
Ottimizzare e ridimensionare
Ora che l'applicazione è in produzione, usare l'elenco di controllo per la distribuzione delle applicazioni per ottimizzare il flusso di lavoro e preparare l'applicazione e il team per la scalabilità. Dovrebbe essere possibile rispondere a queste domande:
- Le preoccupazioni applicative trasversali sono astratte dalla vostra applicazione?
- È possibile mantenere l'affidabilità del sistema e dell'applicazione, ancora eseguendo l'iterazione su nuove funzionalità e versioni?
Elenco di controllo per la distribuzione delle applicazioni
Distribuire un gateway API. Un gateway API funge da punto di ingresso per i microservizi, separa i client dai microservizi, aggiunge un altro livello di sicurezza e riduce la complessità dei microservizi rimuovendo il carico di gestione delle problematiche trasversali. Per altre informazioni, vedere Usare Gestione API di Azure con i microservizi distribuiti nel servizio Azure Kubernetes.
Distribuire una mesh di servizi. Una mesh di servizi offre funzionalità per i carichi di lavoro, ad esempio la gestione del traffico, la resilienza, i criteri, la sicurezza, l'identità avanzata e l'osservabilità. L'applicazione viene disaccoppiata da queste funzionalità operative e il service mesh le sposta dal livello dell'applicazione al livello dell'infrastruttura.
Per altre informazioni, vedere:
Implementare le procedure SRE. SRE è un approccio collaudato che gestisce l'affidabilità cruciale del sistema e dell'applicazione e esegue l'iterazione alla velocità richiesta dal marketplace.
Per altre informazioni, vedere: