Escalado, alta disponibilidad y gestión del tráfico

Cuando la aplicación se despliega en Code Engine, es accesible y está disponible para pruebas e incluso para la producción. Como Code Engine proporciona una plataforma sin servidor para cargas de trabajo contenerizadas, la mayoría de los detalles de tiempo de ejecución se gestionan automáticamente en Code Engine. Sin embargo, puede controlar muchos de los detalles.

Escalado de la aplicación

Al trabajar con Cloud Foundry, es posible que haya configurado y utilizado la característica de escalado automático, que le permite añadir y eliminar automáticamente instancias de app, en función de las métricas de rendimiento o de la fecha y hora. Por el contrario, Code Engine escala automáticamente la aplicación de forma predeterminada. Code Engine puede escalar una aplicación hasta a 10 instancias de tiempo de ejecución (de forma predeterminada) o a cero (lo que significa que la aplicación no consume ningún recurso cuando no se está utilizando).

Puede editar estos valores en los límites y cuotas de Code Engine. Una escala máxima de 0 (cero) escala su aplicación al máximo posible si es necesario, mientras que una escala mínima de 1 mantiene al menos una instancia de la aplicación en ejecución. Si ajusta la simultaneidad y el tiempo de espera de solicitud, puede ajustar el escalado automático a sus necesidades. Para obtener más información, consulte Configuración del escalado de una aplicación.

Alta disponibilidad

En cuestiones de alta disponibilidad (y recuperación tras desastre), Cloud Foundry y Code Engine son similares.

  • Siga las mejores prácticas para manejar solicitudes simultáneas.
  • Asegúrese de tener al menos dos o incluso tres instancias de la aplicación en ejecución.
  • Ejecutar instancias de aplicación en las zonas disponibles de una región de varias zonas (MZR).
  • Utilice un equilibrador de carga global (GLB) delante de las instancias de aplicación desplegadas en varias MZR para obtener una alta disponibilidad a nivel global.

Gestión del tráfico y actualizaciones continuas

Para mantener su aplicación disponible al desplegar una nueva versión en Cloud Foundry, utilice opciones de comando CLI especiales para actualizaciones continuas o despliegues sin tiempo de inactividad. Con Code Engine, las actualizaciones continuas se realizan automáticamente. Cuando la nueva revisión de la aplicación esté lista, el tráfico se mueve de la aplicación antigua a la nueva revisión.

Realizar despliegues azul-verde y trasladar gradualmente el tráfico de la aplicación antigua a la nueva revisión requería cierta intervención manual en Cloud Foundry. Con Code Engine, puede utilizar las funciones incorporadas en sus capas de Kubernetes y Knative subyacentes. La entrada del blog, Blue-green deployment with IBM Cloud Code Engine and Knative, muestra cómo el comando CLI de Knative para actualizar la aplicación para que el tráfico esté configurado para dividirse entre las revisiones. Dada una aplicación llamada bluegreen y dos revisiones rev-old y rev-new, el siguiente comando divide el tráfico 80/20 entre ellas.

kn service update bluegreen --traffic rev-old=80 --traffic rev-new=20

Si ajusta los porcentajes asignados, puede probar la nueva versión de código con un tráfico primero y, cuando el código esté listo, ejecutar la revisión en el entorno de producción.

Próximos pasos

  1. ¿Está empezando la migración? Consulte Iniciación.
  2. Comparar la terminología de Cloud Foundry con Code Engine.
  3. Pruebe Code Engine con una guía de aprendizaje de compilación local.
  4. ¿Su aplicación utiliza enlaces de servicio? Consulte Migración de los enlaces de servicio.
  5. Escalado, alta disponibilidad y gestión del tráfico (página actual)
  6. Busque Equivalentes de Code Engine a los mandatos de Cloud Foundry.
  7. ¿Le queda alguna duda? Pruebe las Preguntas frecuentes sobre la migración de aplicaciones de Cloud Foundry a Code Engine.

Información adicional