Pianificare l'automazione della piattaforma e DevOps per Azure Red Hat OpenShift

Ottenere considerazioni sulla progettazione e consigli per l'automazione della piattaforma e DevOps per l'acceleratore di zona di destinazione di Azure Red Hat OpenShift. Affidarsi all'automazione e alle procedure consigliate generali di DevOps per pianificare la piattaforma DevOps altamente automatizzata per Azure Red Hat OpenShift.

Considerazioni relative alla progettazione

Quando si pianifica l'automazione della piattaforma e DevOps per l'acceleratore di zona di destinazione di Azure Red Hat OpenShift, includere queste considerazioni di progettazione:

  • Prendere in considerazione le limitazioni del servizio di Azure e l'ambiente di integrazione continua e recapito continuo (CI/CD) quando si sceglie un approccio di progettazione e automazione. Per un esempio, vedere le limitazioni di utilizzo di GitHub.

  • Quando si protegge e si protegge l'accesso agli ambienti di sviluppo, test, domande e risposte e produzione, valutare le opzioni di sicurezza dal punto di vista CI/CD. Le distribuzioni sono automatiche, quindi eseguire il mapping del controllo di accesso di conseguenza.

  • È consigliabile usare prefissi e suffissi che seguono convenzioni ben definite per identificare in modo univoco ogni risorsa distribuita. Le convenzioni di denominazione evitano conflitti quando si distribuiscono soluzioni adiacenti e consentono di migliorare l'agilità e la velocità effettiva complessive del team.

  • Inventariare i flussi di lavoro per semplificare la progettazione, l'aggiornamento e la distribuzione della soluzione negli scenari di provisioning di Digital Rebar. Per ottimizzare la familiarità e la produttività, è consigliabile eseguire il mapping delle pipeline ai flussi di lavoro.

    Alcuni esempi:

    • Distribuzione e aggiornamenti del cluster
    • Distribuzione e aggiornamenti delle applicazioni
    • Failover del ripristino di emergenza
    • Distribuzioni blu-verde
    • Manutenzione dell'ambiente Canary
  • Valutare la possibilità di distribuire Open Service Mesh abilitata per Azure Arc per aggiungere altre funzionalità di sicurezza, crittografia e log ai carichi di lavoro.

  • Valutare la possibilità di distribuire altre risorse, ad esempio sottoscrizioni, tag ed etichette per supportare l'esperienza DevOps. Usare queste risorse per tenere traccia delle distribuzioni e degli artefatti correlati.

  • Prendere in considerazione l'effetto del cambio di paradigma del bestiame rispetto agli animali domestici DevOps. Prevedere che i pod e altri aspetti di Kubernetes siano temporanei e allineare l'infrastruttura di automazione e pipeline di conseguenza. Non fare affidamento su indirizzi IP o altre risorse per essere fissi o permanenti.

Suggerimenti per la progettazione

Usare questi consigli di progettazione per pianificare l'automazione della piattaforma e DevOps per Azure RedHat OpenShift:

  • Usare pipeline o azioni per:

    • Ottimizzare le procedure applicate all'interno del team.
    • Rimuovere gran parte del carico di lavoro del nuovo sviluppo.
    • Fornire prevedibilità e informazioni dettagliate sulla qualità e l'agilità complessive.
  • Distribuire in anticipo e frequentemente usando pipeline pianificate e basate su trigger. Le pipeline basate su trigger assicurano che le modifiche vengano convalidate correttamente. Le pipeline pianificate gestiscono il comportamento negli ambienti in modifica.

  • Separare le distribuzioni dell'infrastruttura dalle distribuzioni di applicazioni. Le modifiche principali dell'infrastruttura cambiano meno frequentemente rispetto alle applicazioni. Considerare ogni tipo di distribuzione come flusso di lavoro e pipeline separati.

  • Eseguire la distribuzione usando le opzioni native del cloud. Usare l'infrastruttura come codice per distribuire l'infrastruttura. Usare Helm e il modello Operatore in Kubernetes per distribuire e gestire i componenti nativi di Kubernetes.

  • Usare GitOps per distribuire e gestire le applicazioni. GitOps usa il repository Git come singola origine di verità. È possibile evitare la deriva della configurazione e aumentare la produttività e l'affidabilità durante il rollback e le procedure correlate.

    Prendere in considerazione anche l'uso di Red Hat OpenShift GitOps. Red Hat OpenShift GitOps usa Argo CD per gestire le risorse del cluster e supportare l'integrazione continua/distribuzione continua dell'applicazione.

  • Usare il provider di Azure Key Vault per il driver CSI dell'archivio segreti per proteggere segreti, certificati e stringa di connessione.

  • Ottimizzare la concorrenza della distribuzione evitando elementi e impostazioni di configurazione hardcoded.

  • Si basano su convenzioni note tra distribuzioni dell'infrastruttura e distribuzioni correlate all'applicazione. Usare i controller di ammissione con estensione Criteri di Azure per Kubernetes con abilitazione di Azure Arc (anteprima) per convalidare e applicare convenzioni e altri criteri definiti.

  • Adottare un approccio DevOps di spostamento a sinistra in modo coerente tramite la sicurezza e i criteri:

    • Sicurezza: aggiungere strumenti di analisi delle vulnerabilità come l'analisi dei contenitori nelle prime fasi della pipeline.
    • Criteri: usare i criteri come codice e applicare i criteri come nativi del cloud usando i controller di ammissione.
  • Considerare ogni guasto, errore o interruzione come un'opportunità per automatizzare e migliorare la qualità complessiva della soluzione. Integrare questo approccio nel framework di progettazione dell'affidabilità del sito e a sinistra del turno.

Passaggi successivi