Elige una estrategia que cumpla con OCI

En esta página, se proporciona una descripción general del proceso de compilación de Cloud Foundry desde el que necesitas migrar, y se proporciona una descripción de las diversas formas en las que puedes migrar de eso a un proceso que compila contenedores compatibles con OCI.

Descripción general del proceso de compilación de Cloud Foundry

Cuando una aplicación se envía a Cloud Foundry, pasa por una etapa de compilación en la que los paquetes de compilación de Cloud Foundry v2 compilan el código fuente.

El resultado de un proceso de compilación de Cloud Foundry crea un archivo ejecutable que se conoce como Droplet. Los Droplets no son directamente compatibles con la especificación de Open Container Initiative (OCI) para ejecutar contenedores en Cloud Run.

Cuando migras aplicaciones de Cloud Foundry a Cloud Run, debes cambiar el proceso de compilación de la aplicación para generar imágenes de OCI estándar de la industria (a veces denominadas imágenes de Docker).

Diagrama que describe cómo se crean Droplets de Cloud Foundry

Estrategias para lograr imágenes compatibles con OCI

Existen tres estrategias de migración entre las que puedes elegir para compilar contenedores compatibles con OCI:

Modifica una aplicación de Cloud Foundry (lift-and-shift)

Los componentes principales del ecosistema de Cloud Foundry (paquetes de compilación v2, stemcells, etc.) son de código abierto. Esto significa que puedes volver a crear el proceso de creación de contenedores de aplicaciones si sigues nuestra guía para “virtualizar mediante Docker” los componentes principales de compilación para crear una nueva imagen compatible con OCI.

Ventajas:

  • Requiere la menor cantidad de refactorización y personalización de aplicaciones.
  • El proceso se puede repetir en todas las instancias de la aplicación.

Desventajas:

  • La canalización para compilar contenedores de aplicaciones es autoadministrada.
  • Los componentes más antiguos de Cloud Foundry disminuyeron con mantenimiento y asistencia.
  • Existen costos de mantenimiento de seguridad recurrentes, incluidos los siguientes:
    • Vuelve a compilar los componentes de compilación de forma rutinaria para asegurarte de obtener parches de seguridad.
    • Vuelve a compilar las aplicaciones “virtualizadas mediante Docker” de forma rutinaria para incorporar las actualizaciones de seguridad de los componentes de compilación que se volvieron a compilar.

Usa los paquetes de compilación nativos de la nube

La especificación de paquetes de compilación nativos de la nube (CNB) se creó para modernizar y unificar el ecosistema de los paquetes de compilación. Los compiladores compatibles con la especificación de CNB siguen los estándares abiertos y crean imágenes compatibles con OCI. Los tres proveedores de CNB comunes son los siguientes:

Ventajas:

  • Los encargados de mantenimiento de los paquetes de compilación y los proveedores de plataformas son responsables del mantenimiento del paquete de compilación.
  • Los paquetes de compilación admiten la reversión de contenedores en imágenes nuevas para actualizaciones de seguridad rápidas sin volver a compilar contenedores de aplicaciones.
  • Los paquetes de compilación generan imágenes portátiles de OCI.
  • El proyecto de CNB se está formando en el marco del Cloud Native Computing Foundation (CNCF) y tiene una comunidad activa de encargados de mantenimiento y colaboradores.

Desventajas:

  • Brechas de funcionalidad y configuración entre los paquetes de compilación v2 y v3.
  • Es posible que los frameworks y las integraciones que se instalaron en tu nombre en los paquetes de compilación de Java v2 no estén disponibles en el paquete de compilación CNB de Java.

Usa Dockerfiles autoadministrados

Puedes crear Dockerfiles completamente nuevos para crear contenedores en la aplicación. Consulta Compila contenedores para obtener información sobre las imágenes de contenedor que acepta Cloud Run.

Ventajas:

  • Ofrece la mayor flexibilidad para diseñar tus aplicaciones.
  • Aprovecha las herramientas existentes para contenedores y las estrategias de compilación de tu empresa.

Desventajas:

  • La Docker y la configuración personalizada deben realizarse para cada aplicación, lo que puede llevar a que la depuración y las reescrituras tarden mucho tiempo.
  • Dificultad para estandarizar las implementaciones en varios equipos.
  • La aplicación de parches para imágenes requiere una nueva compilación y una nueva implementación completas.

Recomendaciones

Los equipos que tienen recursos limitados y buscan mover tantas aplicaciones como sea posible deben considerar primero la estrategia Lift-and-shift para modificar Cloud Foundry. Una vez que las aplicaciones se modernicen para que sean imágenes compatibles con OCI, te recomendamos que consideres usar paquetes de compilación nativos de la nube o Dockerfiles autoadministrados.

Los equipos que están listos para migrar de inmediato deben probar los paquetes de compilación nativos de la nube y, luego, pasar a los Dockerfiles autoadministrados si necesitan un alto nivel de control sobre su entorno.

Pasos siguientes