Bienvenido a tu Guía Interactiva
Esta guía está diseñada para ayudarte a preparar una entrevista técnica enfocada en arquitectura de soluciones, Oracle Cloud Infrastructure y tecnologías relacionadas. Aquí encontrarás explicaciones, ejemplos prácticos, diagramas interactivos y ejercicios para reforzar tus conocimientos.
Navega por las diferentes secciones usando el menú superior. Cada tema incluye conceptos clave, mejores prácticas y consideraciones técnicas que podrían ser abordadas en una entrevista.
I. Fundamentos de Arquitectura de Soluciones
Principios de Diseño de Arquitectura
Escalabilidad Vertical (Scale Up): Añadir más recursos (CPU, RAM) a un servidor existente.
Escalabilidad Horizontal (Scale Out): Añadir más servidores para distribuir la carga.
Comparativa Visual:

Mejores prácticas:
- Diseñar para escalar horizontalmente cuando sea posible (más flexible).
- Utilizar balanceadores de carga para distribuir tráfico.
- Implementar auto-scaling basado en métricas de rendimiento.
- Planificar puntos de escala en base a proyecciones de crecimiento.
Ejemplo Práctico: Una aplicación web con base de datos puede escalar horizontalmente añadiendo más servidores web detrás de un balanceador de carga, mientras que la base de datos podría escalar verticalmente para manejar conexiones adicionales.
Alta Disponibilidad (HA): Garantizar que un sistema esté operativo durante el tiempo comprometido (medido en "nueves" de disponibilidad).
- 99.9% (tres nueves) = 8.76 horas de downtime al año
- 99.99% (cuatro nueves) = 52.6 minutos de downtime al año
- 99.999% (cinco nueves) = 5.26 minutos de downtime al año
Tolerancia a Fallos: Capacidad del sistema para continuar funcionando cuando ocurre un fallo.
Arquitectura Altamente Disponible en OCI:

Estrategias clave:
- Redundancia: Eliminar puntos únicos de fallo con componentes duplicados.
- Distribución geográfica: Utilizar múltiples regiones o zonas de disponibilidad (Availability Domains / Fault Domains en OCI).
- Recuperación automática: Health checks y auto-healing.
- Failover automático: Conmutación por error sin intervención manual.
Ejemplo Real: En OCI, una arquitectura HA típica implementaría instancias en al menos dos Fault Domains (o Availability Domains si son varios) con un Load Balancer. Para bases de datos críticas, Oracle Data Guard.
Modelo de Responsabilidad Compartida: Define qué aspectos de seguridad son responsabilidad del proveedor cloud y cuáles del cliente.
Modelo de Responsabilidad Compartida en OCI:

Defensa en Profundidad: Implementar múltiples capas de seguridad.
Principios de Seguridad en OCI:
- Privilegio Mínimo: Asignar solo los permisos necesarios (IAM Policies).
- Segmentación: Usar VCNs y subredes para aislar componentes.
- Cifrado: Cifrar datos en reposo y en tránsito (OCI Vault, KMS).
- Monitoreo continuo: Logs (Logging Service), auditoría (Audit Service) y detección de amenazas (Cloud Guard).
Estrategias para Optimizar Costos:
- Right-sizing: Ajustar recursos a las necesidades reales.
- Instancias reservadas/Compromisos: Descuentos por uso a largo plazo.
- Auto-scaling: Escalar automáticamente según demanda.
- Apagado programado: Para entornos no productivos.
- Almacenamiento por niveles: Usar el tier adecuado (Standard, Archive) en Object Storage.
Herramientas en OCI:
- Cost Analysis: Para visualizar y analizar gastos.
- Budgets: Para establecer alertas de presupuesto.
- OCI Advisor: Recomendaciones de optimización.
- Usage Reports: Informes detallados de uso.
Factores Clave de Rendimiento:
- Latencia: Tiempo de respuesta.
- Throughput: Cantidad de operaciones por unidad de tiempo.
- Utilización de recursos: Eficiencia en el uso de CPU, memoria, I/O, red.
Estrategias de Optimización:
- Caching: (ej. Redis, Memcached, OCI Cache with Redis).
- CDN: Para contenido estático (integrado con Object Storage).
- Optimización de consultas de BD.
- Elección adecuada de "Shapes" de computo en OCI.
Arquitectura de Alto Rendimiento Ejemplo:

Tipos de Arquitectura
Característica | Monolítica | Microservicios |
---|---|---|
Desarrollo | Más sencillo inicialmente | Más complejo inicialmente, equipos independientes |
Despliegue | Todo o nada | Independiente por servicio |
Escalabilidad | Todo el sistema escala junto | Servicios individuales escalan independientemente |
Resiliencia | Un fallo puede afectar todo | Fallos aislados, mayor resiliencia |
Tecnologías | Homogéneas | Políglota (diferentes tecnologías por servicio) |
Arquitecturas Orientadas a Eventos (EDA)
Componentes se comunican a través de eventos, permitiendo sistemas desacoplados. OCI Streaming Service, OCI Events.
EDA Ejemplo:

Arquitecturas Serverless
El proveedor gestiona la infraestructura. OCI Functions, API Gateway.
Serverless Ejemplo:

Documentación de Arquitectura
Esencial para comunicar diseños y decisiones.
Documentos Clave
Describe la arquitectura general, patrones, decisiones. Incluye requisitos, vistas lógicas, de despliegue, etc.
Detalla estructura, almacenamiento, flujos de datos, modelo de datos, seguridad de datos.
Diagramas de Arquitectura
Herramientas: Lucidchart, draw.io, OCI Designer. Tipos: Contexto, Componentes, Despliegue, Secuencia.
Diagrama de Despliegue OCI Ejemplo:

II. Oracle Cloud Infrastructure (OCI)
Servicios Principales de OCI
VMs (Máquinas Virtuales): Flexibles, para diversas cargas.
Bare Metal: Servidores dedicados para alto rendimiento.
Dedicated VM Host: Servidor físico dedicado para tus VMs (aislamiento, cumplimiento).
Container Engine for Kubernetes (OKE): Orquestación de contenedores gestionada.
Container Instances: Ejecución sencilla de contenedores sin gestionar Kubernetes.
Functions: Serverless, código basado en eventos.
# CLI para lanzar una instancia oci compute instance launch \ --availability-domain "xxxx:US-ASHBURN-AD-1" \ --compartment-id "ocid1.compartment.oc1..xxxx" \ --shape "VM.Standard.E4.Flex" \ --subnet-id "ocid1.subnet.oc1.iad.xxxx" \ --image-id "ocid1.image.oc1.iad.xxxx" \ --assign-public-ip true \ --display-name "MiServidorWeb"
Block Volume: Almacenamiento en bloques persistente para instancias. Niveles: Básico, Balanceado, Alto Rendimiento.
File Storage (FSS): Almacenamiento de archivos compartido (NFS).
Object Storage: Almacenamiento escalable para datos no estructurados. Tiers: Standard, Infrequent Access, Archive.
Local NVMe: Almacenamiento local de alta velocidad en instancias DenseIO y Bare Metal.
Virtual Cloud Network (VCN): Red privada virtual personalizable.
Subnets: Públicas y Privadas.
Gateways: Internet Gateway, NAT Gateway, Service Gateway, Dynamic Routing Gateway (DRG).
Load Balancers: Flexible Load Balancer (L7), Network Load Balancer (L4).
Security Lists & Network Security Groups (NSGs): Reglas de firewall.
Arquitectura de Red OCI Típica:

OCI ofrece una amplia gama de servicios de bases de datos, incluyendo Autonomous Database, DB Systems (VM, Bare Metal, Exadata), MySQL, NoSQL. Consulta la sección "Bases de Datos" para más detalles.
Identidad y Gestión de Acceso (IAM)
IAM controla quién tiene acceso a tus recursos en OCI y qué pueden hacer con ellos.
- Compartments: Colecciones de recursos relacionados para organizar y controlar acceso.
- Users: Individuos o aplicaciones que interactúan con OCI.
- Groups: Colecciones de usuarios con permisos similares.
- Policies: Documentos JSON que definen permisos (ej. `Allow group Admins to manage all-resources in tenancy`).
- Dynamic Groups: Grupos de instancias basados en reglas (ej. todas las instancias en un compartment específico).
- Instance Principals: Permiten a las instancias hacer llamadas API a otros servicios OCI sin necesidad de credenciales de usuario.
# Ejemplo de Política IAM Allow group NetworkAdmins to manage virtual-network-family in compartment NetworkingCompartment Allow dynamic-group FunctionDynamicGroup to use functions-family in compartment FunctionsCompartment
Seguridad en OCI
OCI está diseñado con la seguridad como pilar fundamental ("Security First").
- Security Zones: Compartments con políticas de seguridad predefinidas y estrictas (ej. no permite IPs públicas, requiere cifrado gestionado por el cliente).
- Web Application Firewall (WAF): Protección contra ataques web comunes (SQL injection, XSS).
- OCI Vault: Gestión segura de secretos, claves de cifrado y certificados SSL/TLS.
- Data Safe: Centro de control unificado para la seguridad de bases de datos Oracle (evaluación de riesgos, auditoría de usuarios, enmascaramiento de datos).
- Cloud Guard: Detecta configuraciones incorrectas y actividades anómalas, y puede remediarlas automáticamente.
- Vulnerability Scanning Service: Escanea hosts en busca de vulnerabilidades.
- Certificates: Gestión de certificados TLS.
Capas de Seguridad en OCI:

Monitoreo y Gestión
- OCI Monitoring: Recopila métricas de recursos, permite crear alarmas y dashboards.
- OCI Logging: Agrega, busca y analiza logs de auditoría, servicios y aplicaciones.
- OCI Logging Analytics: Plataforma de análisis de logs avanzada.
- Service Connector Hub: Mueve datos entre servicios OCI (ej. logs a Object Storage o Streaming).
- Application Performance Monitoring (APM): Monitorea el rendimiento de aplicaciones y la experiencia del usuario final.
- Resource Manager: Automatiza el aprovisionamiento de infraestructura usando Terraform (Infraestructura como Código - IaC).
- OS Management: Gestiona parches y actualizaciones para instancias Linux y Windows.
# Ejemplo de consulta de métricas (conceptual) SELECT average(CpuUtilization) FROM oci_computeagent WHERE resourceId = 'ocid1.instance.oc1..xxxx' INTERVAL 1m
III. Bases de Datos
Oracle Cloud Infrastructure ofrece una amplia gama de servicios de bases de datos para diferentes necesidades.
Servicio | Características Clave | Casos de Uso Comunes |
---|---|---|
Autonomous Database (ATP & ADW) | Auto-administrada, auto-optimizada, auto-escalable, auto-securizada. ATP para OLTP, ADW para OLAP/Data Warehouse. JSON, Spatial, Graph. APEX y ORDS integrados. | Aplicaciones transaccionales, data warehousing, business intelligence, desarrollo low-code con APEX. |
DB Systems (VM, Bare Metal) | Oracle Database Enterprise/Standard Edition en OCI Compute. Control total sobre la BD. Opciones de RAC. | Migración de BDs on-premise, aplicaciones legacy, cuando se requiere control granular. |
Exadata Cloud Service / Exadata Cloud@Customer | Plataforma Exadata optimizada en la nube o en tu data center. Máximo rendimiento, disponibilidad y escalabilidad para Oracle Database. | Cargas de trabajo de misión crítica, consolidación de BDs, grandes data warehouses, aplicaciones más exigentes. |
MySQL Database Service | MySQL Enterprise Edition gestionado. Integrado con OCI (networking, IAM, monitoring). Alta disponibilidad. HeatWave para analítica en memoria ultra-rápida. | Aplicaciones web (LAMP), e-commerce, CMS, analítica rápida con HeatWave. |
NoSQL Database Cloud Service | Base de datos NoSQL gestionada, altamente escalable y disponible. Modelos de datos: Clave-Valor, Documento (JSON), Tabla Fija. | Aplicaciones IoT, catálogos de productos, perfiles de usuario, juegos, personalización en tiempo real. |
OCI Database with PostgreSQL | Servicio gestionado de PostgreSQL, ofreciendo compatibilidad con PostgreSQL y las ventajas de OCI. | Aplicaciones que requieren PostgreSQL, desarrollo de aplicaciones modernas, migración desde PostgreSQL on-premise. |
IV. DevOps & CI/CD
DevOps es una cultura y conjunto de prácticas que combina desarrollo de software (Dev) y operaciones de TI (Ops) para acortar el ciclo de vida de desarrollo y entregar software de alta calidad de forma continua.
Principios DevOps (CAMS)
- Cultura: Colaboración, responsabilidad compartida.
- Automatización: De compilación, pruebas, despliegue.
- Medición: Métricas para rendimiento y mejora continua.
- Sharing (Compartir): Conocimiento, herramientas, feedback.
Pipeline CI/CD (Integración Continua / Despliegue Continuo)
- Source: Control de versiones (ej. Git). OCI Code Repositories.
- Build: Compilación del código, creación de artefactos. OCI Build Pipelines.
- Test: Pruebas automatizadas (unitarias, integración, etc.).
- Deploy: Despliegue a entornos (dev, staging, prod). OCI Deployment Pipelines, OKE, Functions.
Herramientas OCI para DevOps
OCI DevOps Service
Servicio gestionado que incluye:
- Code Repositories: Repositorios Git privados.
- Build Pipelines: Para automatizar la compilación y pruebas.
- Deployment Pipelines: Para automatizar despliegues a OKE, Functions, Compute.
- Artifact Registry: Almacenamiento de artefactos de compilación.
OCI Container Registry (OCIR)
Registro privado para imágenes Docker.
OCI Resource Manager
Gestión de infraestructura como código (IaC) usando Terraform.
Ejemplo de Pipeline CI/CD en OCI DevOps:

V. Administración Linux
Conocimientos fundamentales de Linux son cruciales para la administración de sistemas en la nube.
Conceptos Básicos
- Kernel: Núcleo del sistema operativo.
- Shell: Intérprete de comandos (Bash, Zsh).
- Distribuciones: Oracle Linux, Ubuntu, CentOS, RHEL.
- Sistema de archivos: Jerarquía (/, /home, /var, /etc).
Comandos Esenciales (Ejemplos con Bash)
# Navegación y Listado ls -l # Listar archivos detalladamente cd /var/log # Cambiar directorio pwd # Mostrar directorio actual # Gestión de Archivos y Directorios mkdir nuevo_dir cp archivo.txt nuevo_dir/ mv archivo.txt /tmp/ rm archivo_viejo.txt cat archivo.txt # Mostrar contenido less archivo.txt # Mostrar contenido paginado grep "error" messages.log # Buscar texto # Gestión de Procesos ps aux # Listar procesos top / htop # Monitor de sistema interactivo kill -9 PID # Terminar proceso # Redes ip addr # Mostrar configuración de red ping google.com ss -tulnp # Mostrar sockets de red (similar a netstat) # Usuarios y Permisos sudo comando # Ejecutar comando como superusuario useradd nuevo_usuario chmod 755 script.sh chown usuario:grupo archivo.txt
Gestión de Paquetes
- Oracle Linux / RHEL / CentOS: `yum` o `dnf` (ej. `sudo yum install nginx`, `sudo dnf update`)
- Ubuntu / Debian: `apt` (ej. `sudo apt update`, `sudo apt install nginx`)
Scripting (Bash)
Automatización de tareas mediante scripts. Variables, bucles, condicionales.
#!/bin/bash # Ejemplo de script simple echo "Hola, Mundo!" FECHA=$(date +%Y-%m-%d) echo "Hoy es: $FECHA" for i in 1 2 3; do echo "Número: $i" done
VI. Tecnologías Oracle Adicionales
Además de OCI y bases de datos, Oracle ofrece un amplio portfolio de tecnologías.
Oracle WebLogic Server: Servidor de aplicaciones Java EE robusto y escalable. Disponible en OCI Marketplace y como servicio gestionado (Oracle WebLogic Server for OCI).
Oracle SOA Suite: Plataforma completa para desarrollar, desplegar y gestionar arquitecturas orientadas a servicios (SOA).
Oracle Service Bus (OSB): Enterprise Service Bus para integración de aplicaciones.
Oracle API Gateway (On-Premise): Solución para gestionar y securizar APIs en entornos locales (distinto al servicio OCI API Gateway).
Oracle Analytics Cloud (OAC): Plataforma completa de analítica en la nube, desde visualización de datos hasta machine learning.
Oracle BI Publisher: Solución para crear y gestionar informes pixel-perfect y documentos formateados.
Oracle Essbase: Servidor OLAP para análisis multidimensional y planificación empresarial.
Oracle E-Business Suite (EBS): Conjunto completo de aplicaciones empresariales (ERP, CRM, SCM).
PeopleSoft: Aplicaciones para gestión de capital humano (HCM), finanzas, etc.
JD Edwards EnterpriseOne: ERP para diversas industrias.
Siebel CRM: Solución de gestión de relaciones con clientes.
Oracle Fusion Cloud Applications: Aplicaciones SaaS modernas para ERP, HCM, CX.
Oracle Linux: Distribución Linux optimizada para productos Oracle y cargas de trabajo empresariales. Kernel Unbreakable Enterprise Kernel (UEK).
Oracle VM (OVM): Plataforma de virtualización de servidores (ahora con enfoque en KVM para OCI).
Ksplice: Permite aplicar parches de seguridad al kernel Linux sin reiniciar.
VII. Microservicios
Un estilo arquitectónico que estructura una aplicación como una colección de servicios pequeños, autónomos y débilmente acoplados.
Principios Clave
- Servicio único y enfocado: Cada servicio maneja una capacidad de negocio específica.
- Descentralización: Equipos independientes, tecnologías diversas (políglota).
- Diseño para fallos: Resiliencia, aislamiento de fallos.
- Automatización: CI/CD, infraestructura como código.
Patrones Comunes de Microservicios
API Gateway
Punto de entrada único para todas las solicitudes de los clientes. En OCI: API Gateway.
Service Discovery
Cómo los servicios se encuentran entre sí. En Kubernetes (OKE): DNS interno, CoreDNS.
Circuit Breaker
Previene fallos en cascada cuando un servicio no está disponible.
Externalized Configuration
Gestionar la configuración fuera del código de la aplicación. En OCI: Vault, ConfigMaps en Kubernetes.
Comunicación entre Microservicios
- Síncrona: REST (HTTP/HTTPS), gRPC.
- Asíncrona: Colas de mensajes (OCI Streaming, RabbitMQ, Kafka), Eventos.
Contenerización y Orquestación
Docker: Para empaquetar microservicios como contenedores.
Kubernetes: Para orquestar y gestionar contenedores a escala. En OCI: Oracle Container Engine for Kubernetes (OKE).
Arquitectura de Microservicios en OKE:

VIII. Casos Prácticos y Quiz
Requisitos: Alta disponibilidad, escalabilidad, seguridad.
Solución Propuesta:
- Capa Web: Múltiples instancias de Compute (VMs) en diferentes Fault Domains/Availability Domains, detrás de un Load Balancer público. Auto Scaling configurado.
- Capa de Aplicación: Múltiples instancias de Compute (VMs) en subnets privadas, detrás de un Load Balancer privado.
- Capa de Datos: Oracle Autonomous Database (ATP) para alta disponibilidad y escalabilidad automática, o DB System con Data Guard en diferentes Fault Domains.
- Red: VCN con subnets públicas y privadas. Security Lists y NSGs para control de tráfico. NAT Gateway para acceso saliente de la capa de aplicación.
- Seguridad: WAF delante del LB público, OCI Vault para secretos, IAM para control de acceso.
Aplicación Web de 3 Capas:

Objetivos: Reducir costos de infraestructura, mejorar rendimiento, aumentar disponibilidad.
Opciones y Estrategias:
- Lift & Shift a DB System (VM/BM): Mínimos cambios. Usar RMAN, Data Pump, GoldenGate.
- Mover a Autonomous Database: Maximizar beneficios de la nube (auto-gestión). Requiere evaluación de compatibilidad. Herramientas: Oracle Data Pump, SQL Developer Migration Workbench.
- Zero Downtime Migration (ZDM): Herramienta de Oracle para automatizar la migración con mínimo downtime.
Consideraciones: Tamaño de la BD, downtime permitido, versión de la BD, complejidad, licenciamiento.