Desplegar Apache Tomcat en Ampere A1 compute basado en brazos conectado a una base de datos autónoma
Apache Tomcat es un servidor de aplicaciones Java de código abierto. Implanta las tecnologías Java Servlet, JavaServer Pages, Java Expression Language y Java WebSocket.
Arquitectura
Se trata de una arquitectura de referencia de varios arcos que contiene un equilibrador de carga, un nivel de aplicación con Apache Tomcat ejecutándose en formas Arm AArch64 (Ampere A1 Compute basado en brazos) y un nivel de base de datos con Oracle Autonomous Database ejecutándose en x86.
Como desarrollador de Java, puede aprovechar esta flexibilidad y desplegar una aplicación web Tomcat utilizando la seguridad y el rendimiento de las formas Arm en OCI. En este escenario, puede cambiar el recuento básico en función de los requisitos de la aplicación.
Los componentes se encuentran en diferentes subredes. El equilibrador de carga está en una subred pública. Los servidores Tomcat comparten una subred privada y la base de datos está en su propia subred privada. Todo el acceso externo es a través del equilibrador de carga a través de un gateway de Internet.
Se incluye una aplicación de ejemplo que muestra la gestión de sesiones de aplicación mediante la base de datos.
En el siguiente diagrama, se ilustra esta arquitectura de referencia.

Descripción de la ilustración Architecture-deploy-tomcat-adb.png
Architecture-deploy-tomcat-adb-oracle.zip
La arquitectura tiene los siguientes componentes:
- Región
Una región es un área geográfica localizada compuesta de uno o más dominios de disponibilidad. Las regiones son independientes de otras regiones, y grandes distancias pueden separarlas (entre países o continentes).
- 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 otros dominios de disponibilidad de la región.
- Dominios de fallo
Un dominio de fallos 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 coloca instancias informáticas en varios dominios de fallos, las aplicaciones pueden tolerar fallos físicos del servidor, mantenimiento del sistema y muchos fallos comunes de red y energía dentro del dominio de disponibilidad.
- Red virtual en la nube (VCN) y subredes
VCN es una red definida por software que se configura en una región de Oracle Cloud Infrastructure. Las VCN se pueden segmentar en subredes, que pueden ser específicas de una región o de un dominio de disponibilidad. Tanto las subredes específicas de cada región como las específicas de dominio de disponibilidad pueden coexistir en la misma VCN. Una subred puede ser pública o privada.
- Equilibrador de carga
El servicio Oracle Cloud Infrastructure Load Balancing proporciona distribución automática del tráfico de un punto de entrada a varios servidores a los que se puede acceder desde VCN. Al crear la capa de aplicaciones en modo cluster, puede configurar el equilibrador de carga para distribuir tráfico entre los servidores Tomcat. El equilibrador de carga proporciona un front-end a los servidores de aplicaciones, aislando y evitando el acceso innecesario o no autorizado a la capa interna.
- Listas de seguridad
Para cada subred, puede crear reglas de seguridad que especifiquen el origen, destino y tipo de tráfico que se debe permitir dentro y fuera de la subred.
- Tablas 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 VCN e Internet público.
- Servidores Tomcat
Los servidores Tomcat alojan Java Servlet, JavaServer Pages, Java Expression Language y Java WebSockets. Los servidores Tomcat se instalan en formas Ampere A1 basadas en brazos en esta arquitectura.
- Servidores de bases de datos
Tomcat puede conectarse a cualquier base de datos que ofrezca conectividad de base de datos Java JDBC. Esta arquitectura utiliza Oracle Autonomous Database.
- Host Bastion
El host bastion es una instancia informática que sirve de punto de entrada seguro y controlado a la topología desde fuera de la nube. El host bastión se aprovisiona normalmente en una zona desmilitarizada (DMZ). Permite proteger recursos sensibles colocándolos en redes privadas a las que no se puede acceder directamente desde fuera de la nube. La topología tiene un punto de entrada único y conocido que puede supervisar y auditar regularmente. Como resultado, puede evitar exponer los componentes más sensibles de la topología sin comprometer el acceso a ellos.
Recomendaciones
Sus requisitos pueden diferir de la arquitectura descrita aquí. Utilice las siguientes recomendaciones como punto de inicio.
- VCN
Al crear VCN, determine cuántas direcciones IP necesitan los recursos de la nube en cada subred. Mediante la notación de enrutamiento entre dominios sin clase (CIDR), especifique una máscara de subred y un rango de direcciones de red lo suficientemente grande para las direcciones IP necesarias. Utilice un espacio de dirección que esté dentro de los bloques de direcciones IP privadas estándar.
Seleccione un rango de direcciones que no se superponga con la red local, de modo que pueda configurar una conexión entre VCN y la red local, si es necesario.
Después de crear un VCN, no puede cambiar su rango de direcciones.
Al diseñar las subredes, tenga en cuenta sus requisitos de funcionalidad y seguridad. Asocie todas las instancias de cálculo dentro del mismo nivel o rol a la misma subred, que puede servir como límite de seguridad.
Utilice subredes regionales.
- Equilibrador de carga
Esta arquitectura utiliza un equilibrador de carga siempre libre de 10 Mbps.
La forma de equilibradores de carga no libres comienza en 100 Mbps. Dependiendo del número de conexiones simultáneas necesarias y del rendimiento total, puede utilizar formas más grandes.
Recomendamos que utilice nombres de DNS porque la dirección IP del equilibrador de carga no se puede reservar.
- Instancias
Como parte de las formas flexibles, todos los arrendamientos obtienen 4 núcleos de forma informática Ampere A1 de forma gratuita y un total de 24 GB de memoria.
- Sistemas de base de datos (DB)
Todos los arrendamientos obtienen dos bases de datos autónomas de Oracle siempre gratuitas. Las bases de datos autónomas utilizan la infraestructura de Exadata compartida, donde Oracle maneja el aprovisionamiento y el mantenimiento de la infraestructura.
Si se requieren más de dos bases de datos, utilice un Oracle Autonomous Database no libre.
- Almacenamiento
Las instancias de esta arquitectura utilizan almacenamiento de bloques normal; no es necesario un rendimiento adicional.
- Conectividad de Red
Puede gestionar el entorno conectándose a la infraestructura local existente mediante una VPN de sitio a sitio o una conexión específica con FastConnect.
Si es necesario separar el entorno de la infraestructura existente o acceder externamente, un host bastion puede proteger las conexiones de gestión. El host bastión normalmente se aprovisiona en una zona desmilitarizada (DMZ). Protege los recursos sensibles colocándolos en redes privadas a las que no se puede acceder directamente desde fuera de la nube. Puede evitar exponer los componentes más sensibles de la arquitectura sin comprometer el acceso a ellos.
Consideraciones
Tenga en cuenta los siguientes puntos al desplegar esta arquitectura de referencia.
- Rendimiento
Esta arquitectura utiliza los recursos siempre gratuitos de Oracle Cloud Infrastructure. Debido a las limitaciones del poder de procesamiento, esta arquitectura no está destinada a la producción. Para cargas de trabajo más intensas, se deben utilizar las formas regulares de instancias, equilibradores de carga y bases de datos.
- Seguridad
Excepto para el host de bastión, si está presente, y los equilibradores de carga, todos los componentes se deben colocar en subredes privadas.
- Disponibilidad
Los equilibradores de carga y las bases de datos son redundantes y no requieren ninguna intervención para aprovechar estas funciones. Los servidores Tomcat se despliegan como un par y el equilibrador de carga los equilibra. Se pueden agregar más nodos, pero no están incluidos en el Nivel Siempre Libre.
- Costo
Esta arquitectura utiliza la capa Siempre Libre. No hay costo si se utiliza la configuración de despliegue estándar.
Desplegar
El código Terraform para esta arquitectura de referencia está disponible en GitHub. Puede extraer el código a 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 ha iniciado sesión, introduzca las credenciales de arrendamiento y usuario.
- Revise y acepte las condiciones.
- Seleccione la región en la que desea desplegar la pila.
- Siga las indicaciones e instrucciones de la pantalla para crear la pila.
- Después de crear la pila, haga clic en Acciones de Terraform y seleccione Plan.
- Espere a que finalice el trabajo y revise el plan.
Para realizar cambios, 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 el código Terraform en GitHub:
- Vaya a GitHub.
- Clonar o descargar el repositorio en el equipo local.
- Siga las instrucciones del documento
README
.
Información adicional
Enlaces a información adicional que le puede ayudar a conocer, modificar, utilizar o implementar esta arquitectura.
-
Taller práctico gratuito sobre Oracle LiveLabs en el que migrar Tomcat a Oracle Cloud Infrastructure y conectarse a Autonomous Database.
-
Artículos técnicos, documentos técnicos, muestras de código, preguntas frecuentes y más que describen cómo utilizar JDBC, Universal Connection Pool y la JVM embebida para conectarse a Oracle Database.
-
Repositorio en GitHub que tiene muestras de código para un servlet Java que se conecta a Oracle Database mediante el controlador Oracle JDBC.