Skip to main content
NetApp Solutions
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Utilice Astra Control para facilitar el análisis post mortem y restaurar la aplicación

Colaboradores

Descripción general

En la "primer caso de uso", Demostramos cómo usar Astra Control Center de NetApp para proteger sus aplicaciones en Kubernetes. En esa sección se describe cómo integrar los backups de aplicaciones a través de Astra Control directamente en su flujo de trabajo de desarrollo gracias al SDK de Python del kit de herramientas Astra de NetApp. Este enfoque permite la protección de los entornos de desarrollo y producción mediante la automatización de backups bajo demanda durante el proceso de integración continua y de implementación continua (CI/CD). Con esta capa adicional de protección de datos consistente con las aplicaciones añadida a la canalización CI/CD y a las aplicaciones de producción, los procesos de desarrollo son seguros si algo sale mal en el proceso, lo que promueve buenas prácticas de continuidad del negocio.

En un flujo de trabajo tradicional, después de haber encontrado un error cuando la aplicación se actualiza a una nueva versión, el equipo de desarrollo intentaría solucionar el problema en tiempo real a partir de los informes de errores que proporcionaban los clientes. Como alternativa, en el primer signo de problema, el equipo podría intentar volver a implementar la aplicación en un entorno de depuración paralelo para desconectar ese proceso. Podrían volver a poner en marcha una base de código anterior de una versión anterior a la producción, lo que restauraría la aplicación a la orden de trabajo.

Flujo de trabajo tradicional

Aunque este enfoque funciona, el equipo tendría que asegurarse de que el estado de la aplicación de producción rota coincide con el de la versión que se ve en producción cuando se produjeron los problemas. También tendrían que dedicar tiempo a la promoción de la producción de funcionalidad comprobada obteniendo código desde su repositorio y volviendo a poner en marcha las imágenes de la máquina para restaurar la aplicación a un estado en buen funcionamiento. Asimismo, en este escenario no se tuvo en cuenta si el código defectuoso corromía la base de datos de producción en sí. Lo ideal es que existan procesos de backup independientes para los datos de la base de datos, pero, ¿debemos asumir que son coherentes con el estado de la aplicación tal como se publicó? Aquí es donde las ventajas de los backups con estado y consistentes con las aplicaciones, las restauraciones y los clones con Astra Control realmente muestran su valor.

En primer lugar, podemos utilizar Astra Control para facilitar el análisis post mortem sobre el estado de la aplicación. Para ello, clonamos la versión de producción con buggy en un entorno de prueba paralelo con la aplicación. Tener este entorno separado en su estado de bugs-plot nos permite solucionar el problema en tiempo real.

Además, Astra Control admite la función de restauración in situ que nos permite restaurar la aplicación de producción a una última copia de seguridad aceptable (que precedió a la versión afligida del código). La versión restaurada asume la posición de la aplicación de producción de buggy anterior, de manera coherente con la aplicación y con estado, incluida la IP de entrada asignada previamente. Por lo tanto, los clientes que acceden al interfaz de usuario no tendrían conocimiento de la transición a la versión de backup.

Flujo de trabajo post mortem

Requisitos previos de validación de casos de uso

Se pusieron en marcha y configuraron como requisitos previos las siguientes herramientas o plataformas:

  • OpenShift Container Platform de Red Hat.

  • Astra Trident de NetApp instalado en OpenShift con un back-end configurado para un sistema ONTAP de NetApp.

  • Se configuró un storagegrid predeterminado, que apunta al back-end ONTAP de NetApp.

  • NetApp Astra Control Center instalado en un clúster OpenShift.

  • OpenShift Cluster se ha agregado como un clúster gestionado a Astra Control Center.

  • Jenkins se ha instalado en un clúster de OpenShift.

  • Aplicación Magento instalada en el entorno de producción. El entorno de producción en este caso de uso es un espacio de nombres llamado "evento-prod" en un clúster de Red Hat OpenShift.

  • Aplicación de producción gestionada por Astra Control Center.

  • Backup(s) de funcionalidad comprobada de la aplicación de producción capturada con Astra Control.

Clonar y restaurar la canalización

Teniendo en cuenta que la aplicación se ha actualizado a una nueva versión, la aplicación del entorno de producción (magento-prod) no se comporta como se pretende después de la actualización. Supongamos que los datos que devuelven las consultas de interfaz de usuario no coinciden con la solicitud o que la base de datos se ha dañado de hecho. Para clonar y restaurar la canalización, siga estos pasos:

Error de aplicación
  1. Inicie sesión en Jenkins y cree una canalización haciendo clic en Nuevo elemento y, a continuación, en canalización.

  2. Copie la canalización del archivo Jenkinsfile "aquí".

  3. Pegue la canalización en la sección de canalización Jenkins y, a continuación, haga clic en Guardar.

  4. Rellene los parámetros de la canalización Jenkins con los detalles respectivos, como la versión actual de la aplicación Magento en producción, el FQDN de Astra Control Center, el token de API, el ID de instancia y el nombre de aplicación o el espacio de nombres de los entornos de producción y depuración, y los nombres de los clústeres de origen y destino. Para este caso de uso, el entorno de producción es un espacio de nombres denominado "evento-prod" y el entorno de depuración es un espacio de nombres denominado "depuración" configurado en un clúster de Red Hat OpenShift.

    MAGENTO_VERSION = '2.4.1-debian-10-r14'
    ASTRA_TOOLKIT_VERSION = '2.0.2'
    ASTRA_API_TOKEN = 'xxxxx'
    ASTRA_INSTANCE_ID = 'xxx-xxx-xxx-xxx-xxx'
    ASTRA_FQDN = 'netapp-astra-control-center.org.example.com'
    PROD_APP_NAME = 'magento-prod'
    DEBUG_APP_NAME = 'magento-debug'
    DEBUG_NAMESPACE = 'magento-debug'
    PROD_KUBERNETES_CLUSTER = 'ocp-vmw'
    DEBUG_KUBERNETES_CLUSTER = 'ocp-vmw'
  5. Haga clic en Crear ahora. La canalización comienza a ejecutarse y avanza a lo largo de los pasos. La aplicación se clona primero en el estado actual en un entorno de depuración y, a continuación, se restaura a un backup de trabajo conocido.

    Canalización post mortem
  6. Compruebe que la aplicación clonada sea la versión que contiene errores.

    Error al clonar la aplicación
  7. Comprobar que el entorno de producción se ha restaurado en un backup en funcionamiento y que la aplicación en producción funciona de la forma esperada.

    Prod App restaurada

Estas dos operaciones en tándem aceleran el retorno a las operaciones empresariales normales. Para ver este caso de uso en acción, vea el vídeo "aquí".