Arquitectura profesional

La arquitectura Pro de Adobe Commerce en la infraestructura en la nube admite varios entornos que puede utilizar para desarrollar, probar e iniciar su tienda.

  • Master: proporciona una rama master implementada en contenedores de Platform as a service (PaaS).
  • Integración: proporciona una sola rama integration para desarrollo, aunque puede crear una rama adicional. Esto permite hasta dos ramas activas implementadas en contenedores de Platform as a service (PaaS).
  • Ensayo: proporciona una sola rama staging implementada en contenedores de Infraestructura como servicio (IaaS) dedicados.
  • Producción: Proporciona una sola rama de production implementada en contenedores de Infraestructura como servicio (IaaS) dedicados.

La siguiente tabla resume las diferencias entre entornos:

INTEGRACIÓN
ENSAYO
PRODUCCIÓN
Admite la administración de configuración en Cloud Console
Limitado
Limitado
Admite varias ramas
No (solo ensayo)
No (solo producción)
Utiliza archivos YAML para la configuración
No
No
Funciona en hardware IaaS dedicado
No
Incluye Fastly CDN
No
Incluye el servicio New Relic
No
APM
APM + NRI
Copias de seguridad automáticas
No
NOTE
Adobe proporciona la herramienta Cloud Docker para Commerce para su implementación en un entorno local de Cloud Docker, de modo que pueda desarrollar y probar proyectos de Adobe Commerce. Consulte Desarrollo de Docker.

Arquitectura del entorno

Su proyecto es un único repositorio Git con tres ramas de entorno principales: integration, staging y production. El diagrama siguiente muestra la relación jerárquica de los entornos Pro:

Vista de alto nivel de la arquitectura del entorno Pro

Entorno principal

En proyectos Pro, la rama master proporciona un entorno PaaS activo con su entorno de producción. Inserte siempre una copia del código de producción en el entorno master para poder depurar el entorno de producción sin interrumpir los servicios.

Advertencias:

  • no crea una rama basada en la rama master. Utilice el entorno de integración para crear ramas activas para el desarrollo.

  • No utilice el entorno master para pruebas de desarrollo, UAT o de rendimiento

Entorno de integración

El entorno de integración se ejecuta en un contenedor Linux (LXC) en una cuadrícula de servidores conocidos como PaaS. Cada entorno incluye un servidor web y una base de datos para probar el sitio. Consulte Direcciones IP regionales para obtener una lista de direcciones IP de AWS y Azure.

Casos de uso recomendados:

Los entornos de integración están diseñados para pruebas y desarrollo limitados antes de trasladar los cambios a los entornos de ensayo y producción. Por ejemplo, puede utilizar el entorno de integración para completar las siguientes tareas:

  • Asegúrese de que los cambios en los procesos de integración continua (CI) sean compatibles con la nube

  • Pruebe flujos de trabajo críticos en páginas clave como Inicio, Categoría, Página de detalles del producto (PDP), Cierre de compra y Administración.

Para obtener el mejor rendimiento en el entorno de integración, siga estas prácticas recomendadas:

  • Restringir el tamaño del catálogo: como referencia, los datos de muestra contienen unos 2048 productos. Pruebe a reducir el tamaño del catálogo a alrededor de 4000-5000 productos.
    Para comprobar el número de productos en el catálogo, ejecute la siguiente consulta MySQL:

    code language-sql
    select distinct count(entity_id) from catalog_product_entity;
    
  • Reducir el número de grupos de clientes: tener demasiados grupos de clientes puede afectar al rendimiento de indexación y al rendimiento general.

  • Limitar el uso a uno o dos usuarios simultáneos

  • Deshabilite los trabajos cron y ejecute manualmente según sea necesario

Advertencias:

  • Los servicios de CDN y New Relic no son accesibles en un entorno de integración

  • La arquitectura del entorno de integración no coincide con la arquitectura de ensayo y producción

  • No utilice el entorno integration para pruebas de desarrollo, pruebas de rendimiento o pruebas de aceptación de usuarios (UAT)

  • No utilice el entorno integration para probar la funcionalidad B2B de Adobe Commerce

  • No puede restaurar la base de datos en el entorno de integración desde la producción o el ensayo de la base de datos

NOTE
Los proyectos aprovisionados antes del 5 de junio de 2020 tenían varios entornos de integración más pequeños. Si necesita un entorno de integración más grande para pruebas y desarrollo, solicite una actualización a entornos de integración mejorados. Consulte el artículo Solicitud de entorno de integración en el Centro de ayuda de Adobe Commerce para obtener más información.

Entorno de ensayo

El entorno de ensayo proporciona un entorno casi de producción para probar el sitio. Este entorno, que está alojado en hardware IaaS dedicado, incluye todos los servicios, como Fastly CDN, New Relic APM y search.

Casos de uso recomendados:

El entorno coincide con la arquitectura de producción y está diseñado para UAT, ensayo de contenido y revisión final antes de transferir características al entorno production. Por ejemplo, puede utilizar el entorno staging para completar las tareas siguientes:

  • Pruebas de regresión con datos de producción

  • Pruebas de rendimiento con almacenamiento en caché de Fastly habilitado

  • Prueba de nuevas compilaciones en lugar de aplicar parches en Producción

  • Pruebas UAT para nuevas compilaciones

  • Prueba B2B para Adobe Commerce

  • Personalizar la configuración de cron y probar los trabajos de cron

Consulte Flujo de trabajo de implementación y Implementación de prueba.

Advertencias:

  • Después de iniciar el sitio de producción, utilice el entorno de ensayo principalmente para probar parches para correcciones de errores críticas para la producción.

  • No puede crear una rama a partir de la rama staging. En su lugar, inserta cambios de código de la rama integration a la rama staging.

NOTE
Algunos proyectos requieren un flujo de trabajo de desarrollo más sofisticado. Para satisfacer esta necesidad, Adobe ofrece entorno de ensayo adicional como opción adicional a su infraestructura en la nube.

Entorno de producción

El entorno de producción ejecuta sus tiendas públicas de uno o varios sitios. Este entorno se ejecuta en hardware IaaS dedicado con nodos redundantes de alta disponibilidad para un acceso continuo y protección contra fallos para sus clientes. El entorno de producción incluye todos los servicios en el entorno de ensayo, además del servicio Infraestructura de New Relic (NRI), que se conecta automáticamente con los datos de la aplicación y los análisis de rendimiento para proporcionar una supervisión dinámica del servidor.

Advertencia:

No puede crear una rama a partir de la rama production. En su lugar, inserta cambios de código de la rama staging a la rama production.

Pila de tecnología de producción

El entorno de producción tiene tres máquinas virtuales (VM) detrás de un equilibrador de carga elástico administrado por un HAProxy por VM. Cada VM incluye las siguientes tecnologías:

  • Fastly CDN: almacenamiento en caché HTTP y CDN

  • NGINX: servidor web que usa PHP-FPM, una instancia con varios trabajadores

  • GlusterFS: servidor de archivos para administrar todas las implementaciones y sincronización de archivos estáticos con cuatro montajes de directorios:

    • var
    • pub/media
    • pub/static
    • app/etc
  • Redis: un servidor por VM con solo uno activo y los otros dos como réplicas

  • Elasticsearch: busque Adobe Commerce en la infraestructura en la nube 2.2 a 2.4.3-p2

  • OpenSearch: busque Adobe Commerce en la infraestructura en la nube 2.3.7-p3, 2.4.3-p2, 2.4.4 y posterior

  • Galera: clúster de base de datos con una base de datos MariaDB MySQL por nodo con una configuración de incremento automático de tres para identificadores únicos en cada base de datos

La siguiente figura muestra las tecnologías utilizadas en el entorno de producción:

Pila de tecnología de producción

Hardware redundante

En lugar de ejecutar una configuración tradicional, activa-pasiva master o primaria-secundaria, Adobe Commerce en la infraestructura de la nube ejecuta una arquitectura redundante en la que las tres instancias aceptan lecturas y escrituras. Esta arquitectura ofrece cero tiempo de inactividad al escalar y proporciona integridad transaccional garantizada.

Gracias al hardware único y redundante, Adobe puede proporcionar tres servidores de puerta de enlace. La mayoría de los servicios externos le permiten agregar varias direcciones IP a una lista de permitidos, por lo que tener más de una dirección IP fija no es un problema. Las tres puertas de enlace se asignan a los tres servidores del clúster de entornos de producción y conservan las direcciones IP estáticas. Es totalmente redundante y tiene una alta disponibilidad en todos los niveles:

  • DNS
  • Red de entrega de contenido (CDN)
  • Equilibrador de carga elástico (ELB)
  • Clúster de tres servidores que incluye todos los servicios de Adobe Commerce, incluida la base de datos y el servidor web

Backup y recuperación ante desastres

Adobe Commerce en la infraestructura en la nube utiliza una arquitectura de alta disponibilidad que replica cada proyecto de Pro en tres zonas de disponibilidad de AWS o Azure independientes, cada una con un centro de datos independiente. Además de esta redundancia, los entornos de ensayo y producción Pro reciben copias de seguridad en vivo regulares que están diseñadas para usarse en casos de fallo catastrófico.

Las copias de seguridad automáticas incluyen datos persistentes de todos los servicios en ejecución, como la base de datos MySQL y los archivos almacenados en los volúmenes montados. Las copias de seguridad se guardan en un Elastic Block Storage (EBS) cifrado en la misma región que el entorno de producción. Las copias de seguridad automáticas no son de acceso público porque se almacenan en un sistema independiente.

NOTE
Los volúmenes montados solo incluyen los montajes grabables, o hacen referencia a ellos, y no incluirán todo el directorio app/. En cuanto a los demás archivos, se crean o generan mediante el proceso de compilación e implementación, y también tendrá que comprobar si quedan archivos en el repositorio Git.
TIP
En los entornos de ensayo y producción de Pro, debe enviar un ticket de soporte de Adobe Commerce para recuperar una copia de seguridad específica que indique la fecha, la hora y la zona horaria del ticket.
El Adobe no restaura ningún entorno desde una copia de seguridad automática. Consulte Restaurar una instantánea de base de datos desde Ensayo o Producción para obtener ayuda sobre cómo elegir un método para restaurar una instantánea de ensayo o producción.

Puede crear una copia de seguridad manual de la base de datos para los entornos de ensayo y producción mediante comandos CLI. Consulte Hacer una copia de seguridad de la base de datos. Para entornos de integration, Adobe recomienda crear una copia de seguridad como primer paso después de acceder a su proyecto de Adobe Commerce en la nube y antes de aplicar cualquier cambio importante. Consulte Administración de copias de seguridad.

Objetivo de punto de recuperación

El RPO es el tiempo máximo de seis horas para la última copia de seguridad (por ejemplo, a las 06:00, después a las 12:00 y después a las 18:00). La frecuencia de las copias de seguridad depende de la programación de copias de seguridad del plan y del volumen de cambios para escribir en el servicio de almacenamiento.

Política de retención

El Adobe retiene las copias de seguridad automáticas según la siguiente política de retención de datos:

Período de tiempo
Política de retención de copia de seguridad
Días 1 a 3
Una copia de seguridad por hora
Días 4 a 7
Una copia de seguridad al día
Semanas 2 a 6
Una copia de seguridad por semana
Semanas 8 a 12
Una copia de seguridad quincenal
Meses 3 a 5
Una copia de seguridad al mes

Esta política puede variar según su plan de infraestructura en la nube.

Objetivo de tiempo de recuperación

RTO depende del tamaño del almacenamiento. Los volúmenes grandes de EBS tardan más tiempo en restaurarse. Los tiempos de restauración pueden variar según el tamaño de la base de datos:

  • Una base de datos de gran tamaño (más de 200 GB) puede tardar 5 horas
  • Una base de datos media (150 GB) puede tardar 2 horas y media
  • Una base de datos pequeña (60 GB) puede tardar 1 hora

Escalado de clúster Pro

El tamaño del clúster Pro y las configuraciones de compute varían según el proveedor de nube elegido (AWS, Azure), la región y las dependencias del servicio. Las infraestructuras de nube de Adobe pueden escalar los clústeres Pro para adaptarse a las expectativas de tráfico y los requisitos de servicio a medida que cambian las demandas.

La arquitectura redundante permite que la infraestructura de nube de Adobe se amplíe sin tiempo de inactividad. Al ampliar, cada una de las tres instancias gira para actualizar la capacidad sin afectar al funcionamiento del sitio. Por ejemplo, puede agregar servidores web adicionales a un clúster existente si la constricción se encuentra en el nivel PHP en lugar de en el nivel de base de datos. Esto proporciona escalado horizontal para complementar el escalado vertical proporcionado por las CPU adicionales en el nivel de base de datos. Consulte Arquitectura a escala.

Si espera un aumento significativo del tráfico por un evento u otro motivo, puede solicitar un aumento temporal de la capacidad. Consulte Cómo solicitar un cambio de tamaño temporal en el Centro de ayuda de Commerce.

recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26