Escala automática de una aplicación web equilibrada de carga
Para ejecutar las aplicaciones web en la nube, necesita una infraestructura fiable y segura, una topología que sea elástica y fácil de mantener y una facturación basada en el uso. Una función de Oracle Cloud que cumple todos estos requisitos es la asignación automática.
El escalado automático garantiza que sus recursos en la nube se utilicen de manera eficiente y estén disponibles cuando sea necesario. Puede configurar el despliegue en la nube para ajustar automáticamente los recursos de cálculo en función de métricas de rendimiento, como la utilización de CPU. Sus usuarios experimentan un rendimiento consistente incluso cuando la carga es alta. Y sus costos son proporcionalmente bajos durante períodos de baja demanda.
Arquitectura
Esta arquitectura de referencia muestra una topología de 3 niveles que consta de un equilibrador de carga (LB), una capa web de autocalificación y una base de datos de alta disponibilidad.
Todos los recursos se despliegan en un único dominio de disponibilidad en una región de Oracle Cloud Infrastructure. El nivel de LB, el nivel web y el nivel de base de datos están aislados en subredes separadas dentro de una única VCN. Los grupos de seguridad de red (NSG) sirven como cortafuegos para regular el tráfico de red hacia y desde los recursos de cada nivel. Una tabla de rutas anexa a cada subred contiene reglas para dirigir el tráfico a destinos fuera de VCN.
El siguiente diagrama ilustra la arquitectura de referencia.
Esta arquitectura tiene los siguientes componentes:
- Región
Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes de otras regiones, y grandes distancias pueden separarlas (entre países o incluso continentes).
Todos los recursos de esta arquitectura se encuentran en una sola región.
- Dominios de disponibilidad
Los dominios de disponibilidad son centros de datos independientes e independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los otros dominios de disponibilidad, lo que proporciona tolerancia a fallos. Los dominios de disponibilidad no comparten infraestructura, como energía o refrigeración, o la red de dominio de disponibilidad interna. Por lo tanto, es poco probable que un fallo en un dominio de disponibilidad afecte a los otros dominios de disponibilidad de la región.
Los recursos de esta arquitectura se despliegan en un único dominio de disponibilidad.
- Dominios de Fallos
Un dominio de fallo es una agrupación de hardware e infraestructura dentro de un dominio de disponibilidad. Cada dominio de disponibilidad tiene tres dominios de fallos con energía y hardware independientes. Cuando distribuye recursos en varios dominios de fallos, las aplicaciones pueden tolerar fallos físicos del servidor, mantenimiento del sistema y fallos de energía dentro de un dominio de fallos.
Los recursos de cada nivel de esta arquitectura se distribuyen en varios dominios de fallos.
- Red virtual en la nube (VCN) y subredes
VCN es una red personalizable definida por software que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes tradicionales de centros de datos, las VCN le proporcionan un control completo sobre su entorno de red. VCN puede tener varios bloques CIDR no superpuestos que puede cambiar después de crear VCN. Puede segmentar VCN en subredes, que se pueden asignar a una región o a un dominio de disponibilidad. Cada subred consta de un rango contiguo de direcciones que no se superponen con las otras subredes de VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.
El equilibrio de carga y los niveles web de esta arquitectura utilizan subredes públicas independientes. La base de datos está asociada a una subred privada.
- Equilibrador de carga
El servicio Oracle Cloud Infrastructure Load Balancing proporciona distribución automática del tráfico desde un único punto de entrada hasta varios servidores en el extremo posterior.
- Grupos de seguridad de red (NSG)
Los NSG actúan como firewalls virtuales para los recursos en la nube. Con el modelo de seguridad de confianza cero de Oracle Cloud Infrastructure, se deniega todo el tráfico y puede controlar el tráfico de red dentro de una VCN. Un NSG está formado por un conjunto de reglas de seguridad de entrada y salida que se aplican solo a un conjunto especificado de VNIC en una única VCN.
Los NSG separados se utilizan para los recursos de cada nivel de esta arquitectura.
- Mesas de ruta
Las tablas de rutas virtuales contienen reglas para enrutar el tráfico de subredes a destinos fuera de VCN, normalmente a través de gateways.
- Gateway de Internet
El gateway de Internet permite el tráfico entre las subredes públicas en un VCN y el Internet público.
- Configuración de instancias
Una configuración de instancias es una plantilla que define los valores que se utilizarán al crear instancias de cálculo, incluidos detalles como la imagen base, la forma y los metadatos. También puede especificar los recursos asociados para la instancia, como anexos de volúmenes en bloque y la configuración de red.
- Pool de instancias
Un pool de instancias es un grupo de instancias dentro de una región que se crean a partir de la misma configuración de instancias y se gestionan como un grupo.
- Escalada automática
La escala automática permite ajustar automáticamente el número de instancias de cálculo en un pool de instancias en función de métricas de rendimiento, como la utilización de CPU.
Cuando el pool de instancias se amplía o entra, el juego de backends del equilibrador de carga asociado se actualiza automáticamente.
- Autonomous Transaction Processing
Oracle Autonomous Transaction Processing es un servicio de base de datos autogestionable, autoseguro y autoreparador optimizado para el procesamiento de cargas de trabajo de transacciones. No necesita configurar ni gestionar ningún hardware ni instalar ningún software. Oracle Cloud Infrastructure maneja la creación de la base de datos, así como la copia de seguridad, aplicación de parches, actualización y ajuste de la base de datos.
Recomendaciones
Sus requisitos pueden diferir de la arquitectura descrita aquí. Utilice las siguientes recomendaciones como punto de partida.
- VCN
Al crear un VCN, determine el número de bloques CIDR necesarios y el tamaño de cada bloque en función del número de recursos que tiene previsto asociar a subredes en VCN. Utilice bloques CIDR que estén dentro del espacio de direcciones IP privadas estándar.
Seleccione bloques CIDR que no se superpongan con ninguna otra red (en Oracle Cloud Infrastructure, el centro de datos local u otro proveedor de nube) a la que desea configurar conexiones privadas.
Después de crear un VCN, puede cambiar, agregar y eliminar sus bloques CIDR.
Cuando diseñe las subredes, tenga en cuenta sus requisitos de flujo de tráfico y seguridad. Conecte todos los recursos dentro de un nivel o rol específico a la misma subred, que puede servir como límite de seguridad.
Utilice subredes regionales.
- Pool de Instancias
Si no hay restricciones, incluya todos los dominios de disponibilidad disponibles en la agrupación.
- Configuración de instancia
Elija formas de instancia que ofrezcan la mejor relación rendimiento/costo y cumplan los requisitos mínimos de su carga de trabajo.
- Configuración de escala automática
Evalúe los requisitos de recursos de la aplicación y utilice esa información para definir los límites de escalado y el comportamiento de enfriamiento al escalar. Determina el costo máximo del pool de instancias.
Consideraciones
Al desplegar una pila de aplicaciones de varios niveles de ajuste automático, tenga en cuenta los siguientes factores:
- Escalabilidad de la Base de Datos
Puede escalar manualmente el número de núcleos de CPU de la base de datos hacia arriba o hacia abajo en cualquier momento. La función de autocalificación de bases de datos autónomas permite a la base de datos utilizar hasta tres veces el número base actual de núcleos de CPU en cualquier momento. A medida que aumenta la demanda, el ajuste automático aumenta automáticamente el número de núcleos en uso. Las bases de datos autónomas le permiten escalar la capacidad de almacenamiento en cualquier momento sin afectar la disponibilidad o el rendimiento.
- Disponibilidad de la Base de Datos
El diagrama de arquitectura muestra una única base de datos Oracle Autonomous Transaction Processing. Al desplegar la arquitectura, puede activar Oracle Autonomous Data Guard para aprovisionar y gestionar una base de datos en espera.
- Disponibilidad de la Aplicación
Los dominios de fallo proporcionan la resiliencia en un dominio de disponibilidad. Cuando sea posible, considere la posibilidad de distribuir sus recursos en varios dominios de disponibilidad o en varias regiones.
- Control de acceso
Utilice políticas para restringir quién puede acceder a sus recursos en la nube y las acciones que pueden realizar.
- Rendimiento
El tamaño de la agrupación puede escalar o salir automáticamente, pero es importante conocer el comportamiento de la aplicación para que pueda ajustar la política de ajuste automático. Los límites de recursos pueden afectar a la capacidad del pool para ampliarse.
Desplegar
El código necesario para desplegar esta arquitectura de referencia está disponible en GitHub. Puede extraer el código en Oracle Cloud Infrastructure Resource Manager con un solo clic, crear la pila y desplegarlo. También puede descargar el código de GitHub en el equipo, personalizar el código y desplegar la arquitectura mediante la CLI de Terraform.
- Desplegar mediante Oracle Cloud Infrastructure Resource Manager:
- Haga clic en
Si aún no está conectado, introduzca las credenciales de arrendamiento y usuario.
- Revise y acepte los términos y condiciones.
- Seleccione la región en la que desea desplegar la pila.
- Siga las instrucciones y peticiones de datos en pantalla para crear la pila.
- Después de crear la pila, haga clic en Acciones de Terraform y seleccione Plan.
- Espere a que se complete el trabajo y revise el plan.
Para realizar cualquier cambio, vuelva a la página Detalles de Pila, haga clic en Editar Pila y realice los cambios necesarios. A continuación, vuelva a ejecutar la acción Plan.
- Si no son necesarios otros cambios, vuelva a la página Detalles de Pila, haga clic en Acciones de Terraform y seleccione Aplicar.
- Haga clic en
- Desplegar mediante la CLI de Terraform:
- Vaya a GitHub.
- Descargue o clone el código en su computadora local.
- Siga las instrucciones del archivo
README
.
Explorar más
Obtenga más información sobre el despliegue de aplicaciones de autocalificación en la nube.
- Documentación de Oracle Cloud Infrastructure para el ajuste automático
- Mejores prácticas para diseñar topologías en la nube fiables y resistentes
- Taller de despliegue de aplicaciones de alta disponibilidad mediante equilibradores de carga
- Desplegar una base de datos autónoma con un punto final privado
- Transmisión de datos IoT a una base de datos autónoma mediante funciones sin servidor
Log de Cambios
Este log muestra sólo los cambios significativos:
31 de marzo de 2022 | Agregó la opción para descargar versiones editables (. SVG y . DRAWIO) del diagrama de arquitectura. |
4 de diciembre de 2020 |
|