Descubra cómo convertir aplicaciones monolíticas en servicios en contenedores en Oracle Cloud
Por su naturaleza, las aplicaciones monolíticas son fijas y lineales, lo que las hace difíciles de gestionar y actualizar con el tiempo.
Debido a que los patrones arquitectónicos monolíticos se utilizan para diseñar y desarrollar una aplicación completa como una sola unidad, la fiabilidad puede ser un problema importante, especialmente en los casos de enredo y acoplamiento. Esto se debe a que si algo falla en cualquier módulo, podría hacer que toda la aplicación quede inutilizable.
Si su aplicación requiere escalabilidad, fiabilidad, agilidad y autonomía, debe considerar la adopción de una arquitectura de microservicios. A diferencia de los monolitos fijos y lineales, una arquitectura de microservicios depende del diseño, desarrollo y despliegue de una aplicación como una recopilación de servicios débilmente acoplados que se pueden desplegar y probar de forma independiente.
Una de las mayores ventajas de las arquitecturas de microservicios es que no afectarán al desarrollo y despliegue de otros servicios y sus capacidades. Puede escalar un microservicio en particular independientemente de otros microservicios, y puede elegir una pila de tecnología y un lenguaje de programación para cada servicio en particular.
Arquitectura
El siguiente diagrama de arquitectura muestra el despliegue final con las aplicaciones en contenedores que se ejecutan de forma independiente entre sí.
apps-multiservicios-arch-oracle.zip
La arquitectura tiene los siguientes componentes:
- arrendamiento
Un arrendamiento es una partición segura y aislada que Oracle configura en Oracle Cloud al registrarse en Oracle Cloud Infrastructure. Puede crear, organizar y administrar sus recursos en Oracle Cloud dentro de su arrendamiento. Un arrendamiento es sinónimo de una compañía u organización. Normalmente, una compañía tendrá un solo arrendamiento y reflejará su estructura organizativa dentro de ese arrendamiento. Un único arrendamiento suele estar asociado a una sola suscripción, y una única suscripción suele tener un solo arrendamiento.
- 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).
- Dominio de disponibilidad
Los dominios de disponibilidad son centros de datos 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 la alimentación o la refrigeración, ni la red interna del dominio de disponibilidad. Por lo tanto, es improbable que un fallo en un dominio de disponibilidad afecte a los otros dominios de la región.
- Dominio de errores
Un dominio de errores es una agrupación de hardware e infraestructura dentro de un dominio de disponibilidad. Cada dominio de disponibilidad tiene tres dominios de errores con energía y hardware independientes. Al distribuir recursos entre varios dominios de errores, sus aplicaciones pueden tolerar fallos en el servidor físico, el mantenimiento del sistema y los fallos de energía dentro de un dominio de errores.
- Red virtual en la nube (VCN) y subredes
Una VCN es una red personalizable y definida por software que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes de los centros de datos tradicionales, las redes virtuales le proporcionan un control completo de su entorno de red. Una VCN puede tener varios bloques de CIDR no superpuestos que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes, las cuales se pueden acotar a una región o a un dominio de disponibilidad. Cada subred está formada por un rango contiguo de direcciones que no se solapan con las demás subredes de la VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.
- Lista de Seguridad
Para cada subred, puede crear reglas de seguridad que especifiquen el origen, el destino y el tipo de tráfico que se debe permitir dentro y fuera de la subred.
- Tabla de rutas
Las tablas de rutas virtuales contienen reglas para enrutar el tráfico desde subredes hasta destinos fuera de una VCN, normalmente a través de gateways.
- equilibrador de carga
El servicio Oracle Cloud Infrastructure Load Balancing proporciona una distribución automática del tráfico desde un único punto de entrada a varios servidores en el backend.
- Container Engine para Kubernetes
Oracle Cloud Infrastructure Container Engine for Kubernetes es un servicio totalmente gestionado, ampliable y altamente disponible que puede utilizar para desplegar sus aplicaciones en contenedores en la nube. Especifique los recursos informáticos que necesitan sus aplicaciones y Container Engine for Kubernetes los aprovisiona en Oracle Cloud Infrastructure en un arrendamiento existente. Container Engine for Kubernetes utiliza Kubernetes para automatizar el despliegue, la ampliación y la gestión de aplicaciones en contenedores en clusters de hosts.
- Calcular
El servicio Oracle Cloud Infrastructure Compute permite aprovisionar y gestionar hosts informáticos en la nube. Puede iniciar instancias informáticas con unidades que cumplan los requisitos de recursos de CPU, memoria, ancho de banda de red y almacenamiento. Después de crear una instancia informática, puede acceder a ella de forma segura, reiniciarla, asociar y desasociar volúmenes, y finalizarla cuando ya no lo necesite.
- Autonomous Transaction Processing
Oracle Autonomous Transaction Processing es un servicio de base de datos autogestionado, autoprotegido y autoreparable que está optimizado para las cargas de trabajo de procesamiento de transacciones. No necesita configurar ni gestionar ningún hardware, ni instalar ningún software. Oracle Cloud Infrastructure gestiona la creación de la base de datos, así como la realización de copias de seguridad, la aplicación de parches, la actualización y el ajuste de la base de datos.