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

Ottieni considerazioni sulla progettazione e raccomandazioni per l'automazione della piattaforma e DevOps per l'acceleratore landing zone 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 sulla 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 proteggono e si garantiscono l'accesso agli ambienti di sviluppo, test, Q&A e produzione, valutare le opzioni di sicurezza dalla prospettiva CI/CD. Le distribuzioni avvengono automaticamente, quindi mappare il 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 facilitare l'ingegnerizzazione, l'aggiornamento e la distribuzione della soluzione sia in scenari normali che in quelli di provisioning di Digital Rebar. Per ottimizzare la familiarità e la produttività, è consigliabile eseguire il mapping delle pipeline ai flussi di lavoro.

    Gli esempi includono:

    • Distribuzione e aggiornamenti del cluster
    • Distribuzione e aggiornamenti delle applicazioni
    • Failover per il ripristino d'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. Si prevede che i pod e altri aspetti di Kubernetes siano effimeri e occorre allineare di conseguenza l'automazione e l'infrastruttura della pipeline. Non fare affidamento su indirizzi IP o altre risorse per essere fissi o permanenti.

Consigli 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 nel team.
    • Alleviare gran parte del carico del nuovo sviluppo.
    • Fornire prevedibilità e informazioni dettagliate sulla qualità e l'agilità complessive.
  • Distribuire con frequenza e in anticipo utilizzando pipeline basate su trigger e pianificate. 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 cloud nativo. 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 il CI/CD dell'applicazione.

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

  • Massimizzare la concorrenza della distribuzione evitando elementi e impostazioni di configurazione codificati staticamente.

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

  • Abbracciare un approccio DevOps shift-left in modo coerente attraverso la sicurezza e le policy.

    • Sicurezza: Aggiungere strumenti di analisi delle vulnerabilità come l'analisi dei contenitori nelle prime fasi della pipeline.
    • Politica: Usare le politiche come codice e applicare le politiche come nativo nel cloud usando i controller di ammissione.
  • Considerare ogni errore, errore o interruzione come 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