Scegli una strategia conforme a OCI

Questa pagina fornisce una panoramica del processo di compilazione di Cloud Foundry da cui devi eseguire la migrazione e una descrizione dei vari modi in cui puoi eseguire la migrazione a un processo che crea contenitori conformi a OCI.

Panoramica del processo di compilazione Cloud Foundry

Quando un'applicazione viene inviata a Cloud Foundry, passa attraverso una fase di compilazione in cui il codice sorgente viene compilato dai buildpack di Cloud Foundry 2.

L'output di un processo di compilazione Cloud Foundry crea un'archivio eseguibile chiamato droplet. I droplet non sono direttamente compatibili con la specifica Open Container Initiative (OCI) per l'esecuzione di container su Cloud Run.

Quando esegui la migrazione delle applicazioni da Cloud Foundry a Cloud Run, devi cambiare il processo di compilazione dell'applicazione per generare immagini OCI standard di settore (a volte chiamate immagini Docker).

Diagramma che descrive come vengono creati i droplet Cloud Foundry

Strategie per ottenere immagini conformi a OCI

Puoi scegliere tra tre strategie di migrazione per creare contenitori conformi a OCI:

Modifica di un'applicazione Cloud Foundry (lift and shift)

I componenti principali dell'ecosistema Cloud Foundry (Buildpack 2.0, Stemcell e così via) sono open source. Ciò significa che puoi ricreare la procedura di contenimento dell'applicazione seguendo la nostra guida per "dockerizzare" i componenti di compilazione di base per creare una nuova immagine conforme a OCI.

Vantaggi:

  • Richiede il minor refactoring e la personalizzazione dell'applicazione.
  • La procedura è ripetibile per tutte le istanze dell'applicazione.

Svantaggi:

  • La pipeline per la creazione di container per applicazioni è autogestita.
  • La manutenzione e il supporto dei componenti Cloud Foundry meno recenti sono stati ridotti.
  • Esistono costi di manutenzione della sicurezza continua, tra cui:
    • Esegui regolarmente la ricostruzione dei componenti di compilazione per assicurarti di ricevere le patch di sicurezza.
    • Eseguire regolarmente la ricostruzione delle applicazioni "dockerizzate" per applicare gli aggiornamenti della sicurezza dei componenti di compilazione ricostruiti.

Utilizzo di Buildpacks Cloud Native

La specifica Cloud Native Buildpacks (CNB) è stata creata per modernizzare e unificare l'ecosistema dei buildpack. I builder compatibili con la specifica CNB rispettano gli standard aperti e creano immagini conformi a OCI. Tre fornitori comuni di CNB sono:

Vantaggi:

  • I manutentori del buildpack e i fornitori di piattaforme sono responsabili della manutenzione del buildpack.
  • I buildpack supportano il rebasing dei container su nuove immagini per aggiornamenti rapidi della sicurezza senza ricostruire i container delle applicazioni.
  • I buildpack generano immagini OCI portatili.
  • Il progetto CNB è in fase di incubazione presso la Cloud Native Computing Foundation (CNCF) e ha una community attiva di amministratori e collaboratori.

Svantaggi:

  • Lacune nelle funzionalità e nella configurazione tra i buildpack v2 e v3.
  • I framework e le integrazioni installati per tuo conto nei buildpack Java v2 potrebbero non essere disponibili nel buildpack Java CNB.

Utilizzo di Dockerfile autogestiti

Puoi creare Dockerfile completamente nuovi per containerizzare l'applicazione. Consulta la sezione sulla creazione di container per saperne di più sulle immagini container accettate da Cloud Run.

Vantaggi:

  • Offre la massima flessibilità nella progettazione delle applicazioni.
  • Sfrutta gli strumenti e le strategie di compilazione dei container esistenti della tua azienda.

Svantaggi:

  • La dockerizzazione e la configurazione personalizzata devono essere eseguite per ogni applicazione, con conseguente debug e riscritture potenzialmente lunghi.
  • È difficile standardizzare le implementazioni in più team.
  • L'applicazione di patch alle immagini richiede una ricostruzione e un nuovo deployment completi.

Consigli

I team con risorse limitate e che vogliono spostare il maggior numero possibile di applicazioni dovrebbero prima prendere in considerazione la strategia lift and shift per modificare Cloud Foundry. Una volta modernizzate le applicazioni in modo che siano immagini conformi a OCI, ti consigliamo di utilizzare Cloud Native Buildpacks o Dockerfile autogestiti.

I team pronti a eseguire la migrazione immediatamente dovrebbero provare Cloud Native Buildpack e poi passare a Dockerfile autogestiti se hanno bisogno di un livello elevato di controllo sul proprio ambiente.

Passaggi successivi