CAPÍTULO 3: Fundamentos de Cloud Computing¶
3.1. Definición y características esenciales¶
¿Qué es Cloud Computing?:
Definiciones fundamentales:
Definición NIST (National Institute of Standards and Technology):
"Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction."
En español:
"Cloud computing es un modelo que permite el acceso conveniente y ubicuo bajo demanda a través de la red a un conjunto compartido de recursos computacionales configurables (ej.: redes, servidores, almacenamiento, aplicaciones y servicios) que pueden ser rápidamente aprovisionados y liberados con un mínimo de esfuerzo de gestión o interacción con el proveedor del servicio."
Definición práctica:
- Es un paradigma que posibilita el acceso ubicuo bajo demanda a servicios TIC accesibles a través de Internet
- Computación como servicio: Externalización de recursos IT
- Economía de escala: Grandes proveedores optimizan costes
- Foco en el negocio: Permite centrarse en la lógica de negocio y no en la infraestructura informática
El Modelo Cloud del NIST: 5-3-4:
El modelo cloud del NIST es conocido popularmente como 5-3-4 y sirve como referencia también a nivel europeo:
Cloud Computing en la nueva economía digital:
Piezas claves de la economía digital:
Impacto:
- ✅ Transformación digital de industrias tradicionales
- ✅ Fomento de start-ups tecnológicas
- ✅ Democratización en el acceso a recursos TIC
- ✅ Base en el desarrollo de nuevas tecnologías: Big Data, IoT, Machine Learning, AI
El Cloud Supone un Cambio de Paradigma:
En la gestión de recursos por ISPs:
Antes (Infraestructura Tradicional):
- Servidores físicos dimensionados para pico de demanda
- Recursos frecuentemente infrautilizados
- Escalabilidad lenta (compra de hardware)
- Alto CAPEX (inversión inicial)
Ahora (Cloud Computing):
- Plataformas flexibles y "elásticas"
- Adaptación a la demanda real
- Soporta mejor los picos de demanda
- Escalabilidad automática
-
Tolerancia a fallas integrada
-
Virtualización como base
- Recursos virtualizados bajo la forma de máquinas virtuales (VMs)
- VMs se despliegan dinámicamente bajo demanda
- Recursos expuestos como servicios a través de interfaces estandarizadas
5 Características Esenciales (Detalladas):
1. Autoservicio Bajo Demanda (On-demand Self-Service):
Definición: El consumidor puede aprovisionar capacidades de cómputo (tiempo de servidor, almacenamiento en red) de forma unilateral según lo necesite, sin requerir interacción humana con el proveedor del servicio.
Implicaciones:
- Cuándo (When): Consumes el servicio cuando quieras
- Sin esperas: No hay proceso de aprobación manual
- Interfaz self-service: Portal web, API, CLI
Ejemplo práctico:
Contraste con Infraestructura Tradicional:
| Infraestructura Local | Cloud (Autoservicio) |
|---|---|
| Solicitud via ticket IT | Portal web / API |
| Días o semanas de espera | Minutos |
| Aprobaciones múltiples | Inmediato (dentro de límites) |
| Dimensionamiento rígido | Ajuste dinámico |
Problema resuelto: ¿Cómo dimensionar la capacidad?
2. Amplio Acceso a la Red (Broad Network Access):
Definición: Las capacidades están disponibles a través de la red y se accede mediante mecanismos estándar que promueven su uso por plataformas heterogéneas thick o thin client (ej.: teléfonos móviles, tablets, laptops, workstations).
Implicaciones:
- Dónde (Where): Consumes el servicio desde cualquier lugar
- Cualquier dispositivo: Smartphone, tablet, laptop, desktop
- Protocolos estándar: HTTP/HTTPS, APIs REST
- Ubicuidad: Trabajo remoto, movilidad
Ejemplo de acceso:
Beneficio para organizaciones:
- Trabajo remoto sin VPN compleja
- Colaboración global
- Acceso 24/7
- Disaster Recovery: Si oficina inaccesible, seguir trabajando desde casa
3. Agrupación de recursos (Resource Pooling):
Definición: Los recursos de cómputo del proveedor se agrupan en un pool para servir a múltiples consumidores usando un modelo multi-tenant, con diferentes recursos físicos y virtuales asignados dinámicamente según la demanda del consumidor.
Características:
- Pool de infraestructuras compartidas
- Virtualización: Múltiples VMs en mismo hardware físico
- Capacidades como servicio (*aaS): IaaS, PaaS, SaaS
- Independencia de localización: Usuario generalmente no sabe ubicación exacta
Multitenancy:
Ventajas del pooling:
- Eficiencia: Mejor utilización de recursos físicos
- Coste reducido: Economía de escala
- Aislamiento: Cada tenant independientemente seguro
Ejemplo: Cómo (How) se proveen los recursos
4. Elasticidad Rápida (Rapid Elasticity):
Definición: Las capacidades pueden ser elástica y rápidamente aprovisionadas (a veces automáticamente) para escalar rápidamente hacia afuera (scale out) y liberadas para escalar hacia adentro (scale in). Para el consumidor, las capacidades disponibles frecuentemente parecen ilimitadas.
Características:
- Scale out/in: Crecer o decrecer según demanda
- Automático o manual: Auto-scaling rules
- Rápido: Minutos, no días/semanas
- Prácticamente ilimitado: Pool de recursos masivo del proveedor
Tipos de escalado:
| Tipo | Descripción | Ejemplo |
|---|---|---|
| Scaling Out (Horizontal) | Agregar más instancias | 2 VMs → 10 VMs |
| Scaling In (Horizontal) | Reducir instancias | 10 VMs → 2 VMs |
| Scaling Up (Vertical) | Aumentar capacidad instancia | t3.medium → t3.2xlarge |
| Scaling Down (Vertical) | Reducir capacidad instancia | t3.2xlarge → t3.medium |
Ejemplo: Auto-scaling basado en CPU
Caso de uso real: E-commerce en Black Friday
5. Servicio Medido (Measured Service):
Definición: Los sistemas cloud automáticamente controlan y optimizan el uso de recursos mediante una capacidad de medición en algún nivel de abstracción apropiado al tipo de servicio (ej.: almacenamiento, procesamiento, ancho de banda, cuentas de usuario activas). El uso de recursos puede ser monitoreado, controlado y reportado, proveyendo transparencia tanto al proveedor como al consumidor.
Características:
- Pago por uso: Pay-as-you-go
- Cuánto (How much): Mides exactamente lo que consumes
- Optimización: Identifica y elimina desperdicios
- Transparencia: Dashboards de coste en tiempo real
Métricas medidas según servicio:
| Servicio | Métricas Medidas |
|---|---|
| Cómputo (EC2) | Horas de instancia, tipo de instancia |
| Almacenamiento (S3) | GB almacenados, requests (GET/PUT) |
| Base de Datos (RDS) | Horas DB, storage, I/O operations, backup storage |
| Red | GB transferidos (egress), requests |
| Lambda | Número de invocaciones, GB-seconds de cómputo |
Ejemplo: Monitorización de uso y costes
Beneficios de la medición:
-
Control de costes:
-
Optimización:
- Identifica recursos no utilizados
- Cambia a instancias más eficientes
-
Elimina snapshots antiguos
-
Presupuestos:
- Planificación financiera precisa
- Asignación de costes por proyecto/departamento
- Análisis de ROI
3.2. Modelos de servicio (IaaS, PaaS, SaaS)¶
Visión General de los Modelos:
Los servicios cloud se modelan en varias categorías conocidas como "XaaS" (Anything as a Service):
Comparativa de responsabilidades:
| Capa | On-Premise | IaaS | PaaS | SaaS |
|---|---|---|---|---|
| Aplicaciones | 👤 | 👤 | 👤 | ☁️ |
| Datos | 👤 | 👤 | 👤 | ☁️ |
| Runtime | 👤 | 👤 | ☁️ | ☁️ |
| Middleware | 👤 | 👤 | ☁️ | ☁️ |
| Sistema Operativo | 👤 | 👤 | ☁️ | ☁️ |
| Virtualización | 👤 | ☁️ | ☁️ | ☁️ |
| Servidores | 👤 | ☁️ | ☁️ | ☁️ |
| Almacenamiento | 👤 | ☁️ | ☁️ | ☁️ |
| Redes | 👤 | ☁️ | ☁️ | ☁️ |
👤 = Tú gestionas | ☁️ = Proveedor gestiona
3.2.1. IaaS (Infrastructure as a Service):
Definición:
Infraestructura como Servicio: El consumidor aprovisiona recursos de computación (CPU, almacenamiento, red) en los que ejecuta su software (incluidas aplicaciones y sistemas operativos).
Control:
- ✅ El consumidor SÍ controla los sistemas operativos, el almacenamiento y las aplicaciones desplegadas
- ✅ Posiblemente control limitado sobre componentes de red (ej.: firewalls, balanceadores)
- ❌ El consumidor NO controla la infraestructura cloud subyacente
Características Clave:
Lo que ofrece IaaS:
- Servicios de hosting mediante virtualización
- Redimensión sencilla y rápida de las "máquinas virtuales"
- Agregar o quitar procesadores (vCPUs)
- Incrementar el almacenamiento
- Incrementar la memoria RAM
- Arranque y parada de instancias
- Se paga por la capacidad que se necesita
Lo que debes gestionar tú:
- Máquinas virtuales (creación, configuración, eliminación)
- Sistemas operativos (instalación, patches, updates)
- Middleware (frameworks, librerías)
- Aplicaciones y datos
- NO necesitas mantener ni actualizar la infraestructura del datacenter
Ventajas y Desventajas de IaaS:
| ✅ Ventajas | ❌ Desventajas |
|---|---|
| Control total sobre el SO y aplicaciones | Debes gestionar el SO y actualizaciones de seguridad |
| Flexibilidad máxima en configuración | Requiere conocimientos técnicos (administración de sistemas) |
| No necesitas comprar hardware físico | Responsabilidad de backup, patching, monitoring |
| Escalabilidad rápida (minutos vs meses) | Vendor lock-in potencial (APIs propietarias) |
| Pago por uso (sin CAPEX masivo) | |
| Alta disponibilidad mediante replicación en múltiples zonas |
Proveedores Principales de IaaS:
| Proveedor | Servicio Principal | Características |
|---|---|---|
| AWS | Amazon EC2 (Elastic Compute Cloud) | Líder de mercado, mayor variedad de tipos de instancia |
| Microsoft Azure | Azure Virtual Machines | Integración con ecosistema Microsoft |
| Google Cloud | Google Compute Engine (GCE) | Alta performance networking, GPUs potentes |
| IBM Cloud | IBM Cloud Virtual Servers | Enfoque enterprise, mainframe integration |
| Oracle Cloud | Oracle Cloud Infrastructure (OCI) | Optimizado para workloads Oracle Database |
| Alibaba Cloud | Elastic Compute Service (ECS) | Líder en Asia, crecimiento global |
Fuente de comparación: https://www.g2crowd.com/categories/infrastructure-as-a-service-iaas
Caso de Uso Detallado: IaaS para Análisis de Datos:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | |
Optimización de costes:
3.2.2. PaaS (Platform as a Service):
Definición:
Plataforma como Servicio: El consumidor despliega aplicaciones (propias o adquiridas) desarrolladas usando lenguajes de programación, librerías, servicios y herramientas soportados por el proveedor, en la infraestructura cloud del proveedor.
Control:
- ✅ El consumidor SÍ controla las aplicaciones desplegadas
- ✅ Posiblemente configuración del entorno de despliegue
- ❌ El consumidor NO controla la infraestructura cloud subyacente (red, servidores, SO, almacenamiento)
Características Clave:
Lo que ofrece PaaS:
- Herramientas completas de desarrollo y despliegue
- Incluye todo lo que los desarrolladores necesitan:
- Servidores y sistemas operativos
- Redes y almacenamiento
- Middleware (frameworks, libraries)
- Entornos de ejecución (runtime)
- Herramientas de desarrollo
- Servicios adicionales (BD, colas, cache, etc.)
Los desarrolladores:
- Crean y despliegan aplicaciones sobre la plataforma
- Se centran en el código de negocio
- No tienen que gestionar la plataforma de desarrollo ni mantenerla
Soporte de Plataformas Completas:
Las plataformas PaaS más completas soportan:
- ✅ Diferentes lenguajes: Python, Java, Node.js, .NET, PHP, Ruby, Go
- ✅ Entornos de desarrollo: IDEs integrados, CI/CD pipelines
- ✅ Servidores de aplicaciones: Tomcat, Jetty, IIS
- ✅ SGBD: PostgreSQL, MySQL, SQL Server, Oracle
- ✅ Almacenamiento NoSQL: MongoDB, Redis, Cassandra
- ✅ Proveedores IaaS: Pueden ejecutarse sobre diferentes clouds
Gestión automatizada del ciclo de vida:
- Despliegue automático (CI/CD)
- Escalado automático
- Monitorización integrada
- Logs centralizados
- Backup automático
- Rollback en caso de errores
Servicios de aplicación:
- Integración entre servicios
- Orquestación de microservicios
- Configuración centralizada
- Service discovery
- Load balancing automático
Ventajas y Desventajas de PaaS:
| ✅ Ventajas | ❌ Desventajas |
|---|---|
| No gestionas SO ni runtime: El proveedor se encarga | Menos control: No accedes al SO subyacente |
| Despliegue rápidísimo: De código a producción en minutos | Vendor lock-in: APIs propietarias, difícil migración |
| Auto-scaling integrado: Escalado automático según carga | Limitaciones: Solo lenguajes/frameworks soportados |
| Servicios adicionales listos: BD, colas, storage, APIs | Dependencia: Cambios del proveedor afectan tu app |
| Actualizaciones automáticas: De platform, no afectan tu app | Coste: Puede ser más caro que IaaS (pagas conveniencia) |
| Ideal para desarrolladores: Foco 100% en código de negocio | Debugging complejo: Sin acceso bajo nivel |
| Multi-lenguaje: Soporte de múltiples stacks tecnológicos |
Proveedores Principales de PaaS:
| Proveedor | Servicio | Lenguajes Soportados | Características |
|---|---|---|---|
| Heroku | Heroku Platform | Ruby, Node.js, Java, Python, PHP, Go, Scala, Clojure | Pionero PaaS, muy fácil de usar, add-ons ricos |
| AWS | Elastic Beanstalk | Java, .NET, PHP, Node.js, Python, Ruby, Go, Docker | Integración total AWS, multi-container |
| Microsoft Azure | Azure App Service | .NET, Java, Node.js, PHP, Python | Integración Visual Studio, Windows/Linux |
| Google Cloud | Google App Engine | Python, Java, Node.js, PHP, Ruby, Go | Escalado automático agresivo, Standard/Flexible |
| Red Hat | OpenShift | Cualquiera (containers) | Basado en Kubernetes, híbrido/multi-cloud |
| Salesforce | Heroku, Force.com | Apex, Ruby, Java, Python, Node | Ecosistema Salesforce, enfoque CRM |
Fuente de comparación: https://www.g2crowd.com/categories/cloud-platform-as-a-service-paas
Caso de Uso Detallado: PaaS para API de ML:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | |
Ventaja clave de PaaS en este ejemplo:
- IaaS: 2 horas setup + mantenimiento continuo + scripts auto-scaling
- PaaS: 5 minutos setup + cero mantenimiento + auto-scaling nativo
3.2.3. SaaS (Software as a Service):
Definición:
Software como Servicio: El consumidor utiliza las aplicaciones del proveedor que se ejecutan en la infraestructura cloud. Las aplicaciones son accesibles desde varios dispositivos cliente a través de interfaces thin client (ej.: navegador web) o interfaces de programa.
Control:
- ✅ El consumidor SÍ controla configuraciones personales de la aplicación (settings de usuario)
- ❌ El consumidor NO controla la infraestructura cloud subyacente
- ❌ El consumidor NO controla capacidades de la aplicación (excepto config limitada)
Características Clave:
Lo que ofrece SaaS:
- Los clientes acceden al software que contratan por Internet
- Interfaz web o aplicación móvil
-
Se paga por versión y por número de usuarios (no por "licencia" perpetua tradicional)
-
Todo es responsabilidad del proveedor:
- Hardware y servidores
- Sistema operativo
- Middleware y runtime
- Aplicación y datos
- Actualizaciones y patches
- Seguridad
- Disponibilidad y backups
El proveedor:
- Se encarga de gestionar todas las actualizaciones
- Corrige errores (bugs)
- Realiza pasos de mantenimiento generales
- Garantiza disponibilidad (SLA)
El usuario:
- Solo tiene que conectarse a la aplicación (navegador web típicamente)
- Consumir el servicio
- Pagar suscripción mensual/anual
Ventajas y Desventajas de SaaS:
| ✅ Ventajas | ❌ Desventajas |
|---|---|
| Cero gestión técnica: Nada que instalar, configurar o mantener | Nula personalización técnica: Solo configuración limitada UI |
| Acceso inmediato: Signup y empiezas a usar en minutos | Dependencia total del proveedor: Si cae el servicio, estás bloqueado |
| Actualizaciones automáticas: Siempre última versión sin esfuerzo | Vendor lock-in extremo: Datos en formato propietario, difícil migración |
| Acceso multi-dispositivo: Web, móvil, tablet | Privacidad preocupante: Tus datos en servidores del proveedor |
| Colaboración fácil: Múltiples usuarios simultáneos | Conectividad requerida: Sin Internet = sin servicio |
| Costes predecibles: Suscripción mensual fija por usuario | Compliance: Puede no cumplir regulaciones específicas |
| Escalado fácil: Añadir/quitar usuarios según necesidad | Integraciones limitadas: APIs pueden no cubrir tus necesidades |
| No requiere IT: Departamentos no técnicos pueden adoptarlo |
Ejemplos de SaaS Populares:
Productividad y Colaboración:
| SaaS | Proveedor | Funcionalidad | Usuarios (aprox) |
|---|---|---|---|
| Gmail / Google Workspace | Email, Drive, Docs, Sheets, Meet | 3+ billones | |
| Microsoft 365 | Microsoft | Email, OneDrive, Word, Excel, Teams | 400+ millones |
| Slack | Salesforce | Mensajería y colaboración | 18+ millones |
| Zoom | Zoom Video Communications | Videoconferencias | 300+ millones |
| Dropbox | Dropbox Inc. | Almacenamiento cloud | 700+ millones |
CRM y Ventas:
| SaaS | Funcionalidad | Precio típico |
|---|---|---|
| Salesforce | CRM completo, automatización ventas | $25-300/usuario/mes |
| HubSpot | Marketing, ventas, CRM | Freemium, $50-3,200/mes |
| Zoho CRM | CRM para PYMEs | $14-52/usuario/mes |
Marketing y Automatización:
| SaaS | Funcionalidad |
|---|---|
| HubSpot Marketing | Inbound marketing, automatización |
| Mailchimp | Email marketing |
| Marketo (Adobe) | Marketing automation enterprise |
BI y Analytics:
| SaaS | Funcionalidad | Casos de uso |
|---|---|---|
| Tableau Online | Visualización datos, dashboards | Business Intelligence |
| Power BI (Microsoft) | Análisis y visualización datos | Reportes ejecutivos |
| Looker (Google) | Plataforma BI moderna | Data exploration |
| Qlik Sense | BI self-service | Análisis ad-hoc |
Data Warehousing:
| SaaS | Características | Precio |
|---|---|---|
| Snowflake | DW cloud-native, separación compute/storage | Pay-per-use, $2-4/crédito |
| BigQuery (Google) | DW serverless, petabyte-scale | $5/TB query, $20/TB storage/mes |
| Amazon Redshift | DW columnar, integración AWS | From $0.25/hora/node |
Herramientas de Desarrollo:
| SaaS | Funcionalidad |
|---|---|
| GitHub | Control de versiones, CI/CD |
| GitLab | DevOps platform completo |
| Jira (Atlassian) | Gestión proyectos ágiles |
| Trello (Atlassian) | Gestión tareas Kanban |
Caso de Uso: Análisis de Datos con Tableau Online (SaaS):
Escenario: Hospital necesita dashboards de KPIs sin infraestructura propia.
Paso 1: Signup
Paso 2: Conectar a fuentes de datos
Paso 3: Crear dashboards (UI web)
- Arrastrar y soltar dimensiones/métricas
- Crear visualizaciones (gráficos, mapas, tablas)
- Configurar filtros interactivos
- Diseñar dashboard completo
- Publicar a usuarios
Paso 4: Compartir
Ventajas en este caso:
- ✅ Cero infraestructura (ni servidor, ni BD, ni software instalado)
- ✅ Actualizaciones automáticas de Tableau
- ✅ Alta disponibilidad gestionada por Tableau
- ✅ Backups automát icos
- ✅ Colaboración inmediata
- ✅ Acceso móvil nativo
Coste:
3.2.4. Otros Modelos XaaS:
DaaS (Data as a Service):
Definición: Datos como servicio, acceso a datasets via APIs o interfaces web.
Ejemplos:
- AWS Data Exchange: Marketplace de datasets de terceros
- Snowflake Data Marketplace: Compartición de datos entre organizaciones
- factual.com: Datos de localización y POIs
- Xignite: Datos financieros en tiempo real
Caso de uso:
FaaS (Function as a Service) / Serverless:
Definición: Ejecutar código sin aprovisionar servidores. El proveedor gestiona la infraestructura completamente.
Características principales:
- Sin servidor: No contamos con infraestructura donde alojar aplicaciones
- Pequeñas funciones: Los programadores escriben código que se ejecuta en "entorn os de ejecución" proporcionados por proveedores
- Efímero: Cada vez que se ejecuta el código, el entorno se crea, ejecuta el código y luego se destruye
Ventajas y Desventajas:
| ✅ Ventajas | ❌ Desventajas |
|---|---|
| Mantenimiento zero de infraestructura física o lógica | Vendor lock-in: Código puede quedar acoplado al proveedor cloud (programadores deben tener cuidado) |
| Escalable horizontalmente: Automáticamente a millones de invocaciones | Monitorización difícil: Debugging complicado en entornos distribuidos efímeros |
| Pago por ejecución: No pagas cuando no se ejecuta (vs VMs que cobran 24/7) | Testing limitado: Las pruebas no pueden hacerse "en casa", siempre en proveedor |
| Integración fácil: Con otros servicios cloud del mismo proveedor | Lenguajes limitados: Cada proveedor soporta unos lenguajes específicos (no todos) |
| Cold start: Primera invocación tarda más (segundos) | |
| Timeouts: Límites de tiempo de ejecución (ej.: AWS Lambda max 15 min) |
Ejemplos de FaaS:
| Proveedor | Servicio | Lenguajes | Precio |
|---|---|---|---|
| AWS | AWS Lambda | Python, Node.js, Java, Go, C#, Ruby | $0.20 por 1M requests + $0.0000166667 por GB-segundo |
| Azure | Azure Functions | C#, Java, JavaScript, Python, PowerShell | Similar a AWS Lambda |
| Cloud Functions | Node.js, Python, Go, Java | $0.40 por 1M invocaciones | |
| Cloudflare | Cloudflare Workers | JavaScript, Rust, C, C++ (WASM) | $5/mes 10M requests |
Ejemplo: Lambda para procesar uploads a S3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | |
Cuándo usar Serverless/FaaS:
- ✅ Tareas event-driven (responder a eventos)
- ✅ Procesamiento intermitente (no 24/7)
- ✅ Microservicios ligeros
- ✅ APIs con tráfico variable
- ✅ ETL y procesamiento de datos
- ✅ Scheduled jobs (cron)
- ✅ IoT backends
Cuándo NO usar Serverless:
- ❌ Procesamiento de larga duración (>15 min en AWS Lambda)
- ❌ Aplicaciones stateful
- ❌ Alto rendimiento computing (HPC)
- ❌ Requisitos de latencia ultra-baja (<10ms)
Resumen Comparativo de Modelos de Servicio:
| Dimensión | IaaS | PaaS | SaaS | FaaS |
|---|---|---|---|---|
| Control | Alto | Medio | Bajo | Muy Bajo |
| Flexibilidad | Máxima | Alta | Baja | Media |
| Gestión Requerida | Alta | Media | Nula | Baja |
| Velocidad Despliegue | Media | Alta | Inmediata | Alta |
| Vendor Lock-in | Bajo | Medio-Alto | Muy Alto | Alto |
| Coste | Medio | Medio-Alto | Depende | Muy Bajo (pay-per-use) |
| Casos de Uso | Infraestructura custom | Desarrollo apps | Software estándar | Event-driven, microservicios |
| Ejemplo | AWS EC2 | Heroku | Salesforce | AWS Lambda |
| Usuarios Típicos | DevOps, SysAdmins | Desarrolladores | Usuarios finales | Desarrolladores |
PaaS (Platform as a Service):
Definición: Plataforma completa para desarrollar, ejecutar y gestionar aplicaciones.
| ✅ Ventajas | ❌ Desventajas |
|---|---|
| No gestionas SO ni runtime | Menos control |
| Despliegue rápido | Posible vendor lock-in |
| Auto-scaling integrado | |
| Servicios adicionales (BD, colas, etc.) |
Ejemplos:
- AWS Elastic Beanstalk
- Azure App Service
- Google App Engine
- Heroku
Caso de uso:
SaaS (Software as a Service):
Definición: Aplicación completa accesible vía web.
| ✅ Ventajas | ❌ Desventajas |
|---|---|
| Cero gestión técnica | Nula personalización técnica |
| Acceso inmediato | Dependencia del proveedor |
| Actualizaciones automáticas |
Ejemplos:
- Gmail: Email
- Salesforce: CRM
- Tableau Online: BI
- Snowflake: Data Warehouse
Caso de uso: Análisis de datos con Tableau Online
- Conectar a fuentes de datos
- Crear dashboards
- Compartir con equipo
- Sin infraestructura propia
3.3. Modelos de despliegue¶
Nube Pública:
Características:
- Recursos compartidos con otros usuarios
- Gestionado por proveedor (AWS, Azure, GCP)
- Pago por uso
- Internet-accessible
| ✅ Ventajas | ❌ Desventajas |
|---|---|
| Sin inversión inicial (CAPEX = 0) | Menor control |
| Escalabilidad ilimitada | Preocupaciones de seguridad/privacidad |
| Mantenimiento del proveedor | Dependencia de internet |
Cuándo usar:
- Startups y PYMEs
- Desarrollo y pruebas
- Cargas de trabajo variables
- Proyectos con presupuesto limitado
Nube Privada:
Características:
- Infraestructura dedicada a una organización
- On-premise o en datacenter dedicado
- Mayor control y seguridad
| ✅ Ventajas | ❌ Desventajas |
|---|---|
| Control total | Alto CAPEX (inversión inicial) |
| Cumplimiento normativo más fácil | Requiere equipo de gestión |
| Seguridad personalizada | Escalabilidad limitada |
Cuándo usar:
- Datos muy sensibles (sanidad, defensa, banca)
- Requisitos regulatorios estrictos
- Grandes empresas
Nube Híbrida:
Características:
- Combinación de pública y privada
- Workloads distribuidos según necesidades
- Interconexión segura
| ✅ Ventajas | ❌ Desventajas |
|---|---|
| Flexibilidad máxima | Complejidad de gestión |
| Datos sensibles en privada, el resto en pública | Requiere integración y orquestación |
| Cloud bursting (escalar a pública cuando necesario) |
Caso de uso en sanidad:
Multi-cloud:
Características:
- Uso de múltiples proveedores cloud (AWS + Azure + GCP)
- Evita vendor lock-in
- Best-of-breed approach
| ✅ Ventajas | ❌ Desventajas |
|---|---|
| Sin dependencia de un proveedor | Complejidad de gestión |
| Aprovechar fortalezas de cada uno | Múltiples herramientas y APIs |
| Negociación de precios | Integración compleja |
3.4. Beneficios y desventajas de Cloud Computing¶
Beneficios principales:
1. Integración probada de servicios de red:
Ventaja: La tecnología cloud computing se integra con mayor facilidad y rapidez con el resto de aplicaciones empresariales.
2. Prestación de Servicios a Nivel Mundial:
Ventaja: Infraestructuras que proporcionan:
- ✅ Mayor capacidad de adaptación
- ✅ Recuperación completa de pérdida de datos (backups automáticos)
- ✅ Reducción al mínimo de tiempos de inactividad
- ✅ Alta disponibilidad global
Mecanismo: Ante eventualidades de fallas, el cloud re-asigna automáticamente nuevas VMs para las aplicaciones.
3. Implementación Más Rápida y con Menos Riesgos:
Ventajas:
- ✅ Se comienza a trabajar más rápido
- ✅ No es necesaria una gran inversión inicial (CAPEX)
- ✅ Reducción de riesgo de inversión en hardware
Comparativa:
4. Escalamiento Dinámico (Elastic Scaling):
Ventaja: Permite scaling out y scaling in de acuerdo a los requerimientos cambiantes de las aplicaciones.
Tipos:
- Scaling Out (Horizontal): Añadir más instancias
- Scaling Back (Horizontal): Reducir instancias
- Scaling Up (Vertical): Aumentar capacidad instancia
- Scaling Down (Vertical): Reducir capacidad instancia
5. Actualizaciones Automáticas:
Ventajas:
- ✅ No afectan negativamente a los recursos de TIC
- ✅ Ahorro de tiempo y recursos para personalizar e integrar actualizaciones
- ✅ Siempre última versión de servicios
- ✅ Patches de seguridad aplicados automáticamente
Ejemplo SaaS:
- Salesforce: Actualización 3 veces/año, transparente
- Office 365: Actualizaciones continuas
- Sin downtime, sin esfuerzo del usuario
6. Alta Disponibilidad y Durabilidad:
Ventaja: El cloud ofrece:
- ✅ Plataforma para aplicaciones con acceso y almacenamiento confiable
- ✅ Alta disponibilidad de los recursos computacionales
- ✅ SLAs típicos: 99.9% - 99.99% uptime
Ejemplo Amazon S3:
- Durabilidad: 99.999999999% (11 noves)
- Disponibilidad: 99.99%
- Replicación automática en 3 zonas
7. Contribuye al Uso Eficiente de la Energía:
Ventaja: Las organizaciones no requieren mantener datacenters que consumen gran energía.
Eficiencia energética:
Desventajas y Limitaciones:
1. Centralización y Dependencia del Proveedor:
Problema: La centralización de aplicaciones y almacenamiento origina interdependencia de los proveedores de servicios.
❌ Vendor Lock-in: Difícil migrar a otro proveedor
❌ Dependencia total: Si el proveedor quiebra, problema grave
❌ Cambios de precios: Provider puede subir precios
Mitigación:
2. Disponibilidad Sujeta a Internet:
Problema: La disponibilidad de los servicios está sujeta a la disponibilidad de acceso a Internet.
❌ Sin Internet = Sin servicio
❌ Latencia de red puede afectar performance
❌ Costes de ancho de banda al transferir datos
Casos problemáticos:
- Zonas rurales con conectividad pobre
- Aplicaciones de ultra-baja latencia (<1ms)
- Transferencias masivas de datos (100s de TB)
Solución: Arquitectura híbrida/edge computing
3. Vulnerabilidad de Datos Sensibles:
Problema: Los datos "sensibles" del negocio no residen en las instalaciones de las empresas, lo que podría generar un contexto de vulnerabilidad.
❌ Privacidad: Terceros tienen acceso físico a servidores
❌ Compliance: Puede no cumplir regulaciones (HIPAA, GDPR)
❌ Soberanía de datos: Datos pueden estar en otro país
Mitigación:
4. Confiabilidad Dependiente del Proveedor:
Problema: La confiabilidad de los servicios depende de la "salud" tecnológica y financiera de los proveedores.
❌ Outages: Fallos del proveedor afectan a miles de clientes
❌ SLA no siempre cumplido al 100%
❌ Compensación limitada: Créditos, no compensación real de pérdidas
Ejemplo de outages famosos:
- AWS US-East-1 outage (2017): Afectó a miles de sitios
- Google Cloud outage (2019): YouTube, Snapchat caídos
- Azure outage (2020): Microsoft Teams inaccesible
Mitigación: Multi-cloud o multi-región
5. Escalabilidad a Largo Plazo (Riesgo de Sobrecarga):
Problema: A medida que más usuarios comparten la infraestructura de la nube, la sobrecarga en los servidores de los proveedores aumentará.
❌ Si el proveedor no dispone de un esquema de crecimiento óptimo puede llevar a:
- Degradaciones en el servicio
- Altos niveles de jitter (variabilidad de latencia)
- Rendimiento impredecible
Realidad: Los grandes proveedores (AWS, Azure, GCP) invierten billones en infraestructura, este problema es mínimo.
6. Complejidad de los Servicios Cloud:
Problema: Los servicios del cloud son más complejos que los servicios tradicionales.
❌ Curva de aprendizaje: Cientos de servicios, cada uno con configuraciones
❌ Configuración incorrecta: Puede llevar a brechas de seguridad
❌ Costes inesperados: Fácil gastar más de lo planeado
Ejemplo de complejidad:
AWS tiene 200+ servicios:
EC2, S3, RDS, Lambda, DynamoDB, Kinesis, Redshift, EMR, SageMaker, ECS, EKS, CloudFormation, CloudWatch, IAM, VPC, Route 53, CloudFront, SNS, SQS, Step Functions...
Aprender todos: Años de experiencia
7. Privacidad de la Información:
Problema: La información queda expuesta a terceros.
❌ Acceso del proveedor: Empleados del proveedor pueden tener acceso
❌ Subpoenas legales: Gobiernos pueden solicitar datos
❌ Ubicación física: Datos pueden estar en jurisdicción que no controlas
8. Seguridad de la Información:
Problema: La información debe recorrer nodos para llegar a su destino, cada uno (y sus canales) son un foco de inseguridad.
❌ Man-in-the-middle attacks
❌ Protocolos seguros (HTTPS) disminuyen velocidad (overhead)
❌ Responsabilidad compartida: Proveedor y cliente comparten responsabilidad
Modelo de responsabilidad compartida (AWS):
❗ Importante: La mayoría de brechas en cloud son por mala configuración del cliente, no fallos del proveedor.
9. Manejo de Estándares Aún Inmaduro:
Problema: El manejo de estándares para el despliegue de nubes aún no está del todo establecido.
❌ Falta de estandarización entre proveedores
❌ APIs propietarias diferentes
❌ Portabilidad limitada entre clouds
Estandarización en proceso:
- Cloud Standards: https://cloud-standards.org/
- TOSCA (Topology and Orchestration Specification for Cloud Applications)
- OCCI (Open Cloud Computing Interface)
- CIMI (Cloud Infrastructure Management Interface)
Pero aún lejos de ser universal.
10. Requiere Buenas Prácticas:
Problema: Se requieren fuertes fundamentos de "buenas prácticas" en:
- Desarrollo de software
- Arquitectura de software
- Gestión de servicios
❌ Sin buenas prácticas:
- Arquitecturas monolíticas que no escalan
- Aplicaciones stateful que no toleran fallas
- Seguridad débil (credenciales hardcodeadas)
- Costes descontrolados
Solución: Adoptar metodologías como:
- 12-Factor App
- Microservicios
- DevOps / CI/CD
- Infrastructure as Code
- Observabilidad (logging, monitoring, tracing)
11. Consumo Energético de Datacenters:
Paradoja: Aunque el cloud puede ser más eficiente, los clouds están conformados por grandes datacenters que consumen gran energía en total.
Realidad:
- Datacenter de AWS/Google: 50-100 MW (potencia de ciudad pequeña)
- Refrigeración masiva necesaria
- Impacto ambiental significativo
Contraargumento: Despite el consumo absoluto, el cloud es más eficiente que miles de pequeños datacenters empresariales.
Además, proveedores invierten en energías renovables:
- Google Cloud: 100% energía renovable (2017+)
- AWS: Objetivo 100% renovable para 2025
- Azure: 100% renovable para 2025
Balance: ¿Cuándo Usar Cloud?:
SÍ usar cloud si:
- ✅ Startup o PYME con poco CAPEX
- ✅ Carga de trabajo variable/impredecible
- ✅ Necesitas escalar rápido (time-to-market)
- ✅ Desarrollo y testing (entornos efímeros)
- ✅ Innovación y experimentación
- ✅ No tienes equipo IT especializado
- ✅ Cumplimiento legal permite datos en cloud
NO usar cloud (o usar híbrido) si:
- ❌ Datos extremadamente sensibles (defensa, inteligencia)
- ❌ Regulaciones prohíben datos fuera de instalaciones
- ❌ Carga de trabajo 100% constante y predecible a largo plazo
- ❌ Latencia ultra-baja crítica (<1ms)
- ❌ Transferencias masivas continuas de datos
3.5. Retos y desafíos en Cloud Computing¶
Visión general de retos:
La construcción y operación de clouds enfrenta múltiples desafíos técnicos y organizacionales:
Reto 1: Calidad de Servicio (QoS):
Problema: La ausencia de QoS puede generar que las organizaciones declinen del uso del cloud.
Aspectos críticos:
- Ancho de Banda Suficiente
- El compartimiento de recursos y datos complejos requiere suficiente ancho de banda sin generar más costos
-
Transferencia de grandes volúmenes de datos (TBs) puede ser costosa y lenta
-
Operaciones Libres de Fallas
- Debe ofrecer operaciones libres de fallas
- Realidad: Un cloud puede experimentar fallas regulares
- Necesidad de mecanismos de tolerancia a fallos
Desafíos QoS:
| Aspecto | Desafío | Solución |
|---|---|---|
| Latencia | Variable según carga | Multi-región, edge computing |
| Throughput | Compartido entre tenants | QoS policies, reserva de recursos |
| Disponibilidad | SLA 99.9% = 8.76h downtime/año | Multi-AZ, auto-failover |
| Jitter | Variabilidad impredecible | Networking dedicado, Direct Connect |
Ejemplo: SLA de AWS EC2
Reto 2: Seguridad y Privacidad:
Problema: De primordial importancia, dado que los datos se comparten en el cloud y están susceptibles a ataques cibernéticos.
Vectores de Amenaza:
- Ataques externos:
- DDoS (Distributed Denial of Service)
- Inyección SQL
- Cross-Site Scripting (XSS)
-
Man-in-the-Middle
-
Amenazas internas:
- Empleados maliciosos del proveedor
- Configuración incorrecta (más común)
-
Credenciales comprometidas
-
Multi-tenancy:
- Aislamiento entre clientes
- Side-channel attacks
- Resource exhaustion
Mejores Prácticas de Seguridad:
Framework de Seguridad:
Reto 3: Virtualización:
Problema: Los accesos simultáneos de múltiples clientes a los servicios del cloud demandan más protección y control.
Desafíos:
- Rendimiento
- Overhead de virtualización (5-10%)
-
"Noisy neighbor" problem: Un tenant consume recursos excesivos, afecta a otros
-
Control de Recursos
- Optimizar desempeño de aplicaciones
- Mejorar utilización de recursos
-
Reducir consumo de energía
-
Aislamiento
- Garantizar que tenants no puedan acceder a datos de otros
- VM escape attacks
Tecnologías de Virtualización:
| Tecnología | Tipo | Overhead | Aislamiento | Uso |
|---|---|---|---|---|
| KVM | Hypervisor Type-1 | Bajo (2-5%) | Alto | AWS, GCP |
| Xen | Hypervisor Type-1 | Bajo (3-7%) | Alto | AWS (antiguo) |
| VMware ESXi | Hypervisor Type-1 | Medio (5-10%) | Muy Alto | Enterprise |
| Docker | Contenedores | Muy Bajo (<1%) | Medio | Microservicios |
| Firecracker | MicroVM | Muy Bajo (~1%) | Alto | AWS Lambda |
Evolución hacia contenedores:
Reto 4: Servicios Web y APIs:
Problema: Ofrecer interfaces sencillas que escondan la heterogeneidad de hardware y software en el cloud.
Desafíos:
- Estandarización de APIs
- Cada proveedor tiene APIs propietarias
- Falta de estándar universal
-
Dificulta portabilidad
-
Complejidad
- AWS tiene 200+ servicios, cada uno con su API
- Azure similar
-
Curva de aprendizaje alta
-
Versionado
- APIs evolucionan
- Breaking changes pueden romper aplicaciones
- Necesidad de versioning (v1, v2, v3)
Ejemplo de diferencias entre proveedores:
Iniciativas de estandarización:
- OCCI (Open Cloud Computing Interface)
- CIMI (Cloud Infrastructure Management Interface)
- TOSCA (Topology and Orchestration Specification)
- OpenAPI (Swagger) para documentación
Pero adopción limitada, proveedores prefieren APIs propietarias (lock-in).
Reto 5: Contabilidad y Control de Costes:
Problema: Se requiere control de costos para no desbordar a las organizaciones con incrementos de pagos.
Desafíos:
- Complejidad de Pricing
- Cientos de dimensiones de coste
- Diferentes precios por región
- Descuentos por volumen, reservas
- Difícil estimar costes futuros
Ejemplo de complejidad AWS EC2:
- Costes inesperados
- Recursos olvidados ("zombie resources")
- Snapshots acumulados
- Logs no rotados
- Auto-scaling mal configurado
Herramientas de FinOps (Financial Operations):
Reto 6: Estandarización:
Problema: El manejo de estándares para el despliegue de nubes aún no está del todo establecido.
Organizaciones trabajando en estandarización:
- Cloud Standards Customer Council: https://cloud-standards.org/
- NIST (National Institute of Standards and Technology)
- ISO/IEC 17788 y ISO/IEC 17789: Cloud Computing Standards
- DMTF (Distributed Management Task Force)
- OASIS (Organization for the Advancement of Structured Information Standards)
Áreas de estandarización:
Problema: A pesar de esfuerzos, los grandes proveedores (AWS, Azure, GCP) siguen usando APIs propietarias → Su interés es lock-in de clientes.
Solución parcial: Abstracciones y multi-cloud tools: - Terraform (HashiCorp) - Pulumi - Apache Libcloud - Kubernetes (abstracción de cómputo)
3.6. Estrategias De Adopción De Cloud Computing¶
Ciclo de Vida de Adopción:
La adopción de cloud computing requiere un enfoque metodológico estructurado en fases:
Fase 1: Evaluación (Assessment):
Objetivo: Evaluar desafíos, perspectivas e impacto en el mercado del cloud.
Actividades:
- Evaluación de criticidad de datos
- Funcionalidades del proveedor de servicios cloud
- Seguridad (certificaciones, modelo responsabilidad compartida)
- SLA (garantías de uptime)
- Evaluación de características técnicas
- Análisis de costo-beneficio estimado
Fase 2: Prueba de Concepto (PoC):
Objetivo: Evaluar las funcionalidades de diferentes vendedores con pruebas reales.
Actividades:
- Acceso temporal a proveedores (Free Tier)
- Pruebas técnicas con caso de uso real
- Evaluación de equipo IT
Fase 3: Migración Piloto:
Objetivo: Migrar un subconjunto pequeño y no crítico al cloud.
Actividades:
- Seleccionar aplicación piloto
- Migrar unos pocos usuarios (beta testers)
- Análisis de beneficios reales
- Migración de datos (Lift and Shift, Replatforming, Refactoring)
Fase 4: Pruebas:
Objetivo: Validar que el sistema migrado cumple requisitos.
Actividades:
- Pruebas de aceptación de usuarios (UAT)
- Análisis de beneficios reales (métricas)
- Cálculo de ROI
- Problemas y riesgos identificados
- Pruebas de seguridad
- Monitoreo de uptime
Fase 5: Go-Live (En Producción):
Objetivo: Desplegar en producción de manera gradual y controlada.
Actividades:
- Despliegue en fases (Blue-Green Deployment)
- Entrenamiento de los usuarios
- Documentación completa
- Prueba de aceptación de usuarios final
Fase 6: Auditoría y Optimización:
Objetivo: Seguimiento continuo y optimización post-despliegue.
Actividades:
- Seguimiento del proceso de despliegue
- Monitoreo durante producción
- Optimización continua de costes
- Optimización de arquitectura
- Auditoría de seguridad continua
Cuatro Estrategias Principales de Adopción:
1. Scalability-Driven Strategy (Orientada a la Escalabilidad):
Definición: Uso de los recursos del cloud para soportar cargas adicionales o como respaldo.
Casos de uso:
- Cloud Bursting: Workload normal en on-premise, picos en cloud
- Auto-scaling horizontal: Añadir instancias automáticamente
Ejemplo:
2. Availability-Driven Strategy (Orientada a la Disponibilidad):
Definición: Uso de recursos del cloud balanceados y localizados para incrementar la disponibilidad y reducir los tiempos de respuesta.
Casos de uso:
- Multi-región deployment: Aplicación en múltiples regiones geográficas
- Disaster Recovery: Cloud como backup de datacenter principal
- Edge locations: Content Delivery Networks (CDNs)
3. Market-Driven Strategy (Orientada al Negocio):
Definición: Usuarios y proveedores de los recursos del cloud toman decisiones basadas en el potencial ahorro y ganancias.
Enfoque: Puramente económico/financiero
Casos de uso:
- Startups: Evitar CAPEX masivo, usar OPEX
- Empresas en crecimiento: Escalar según demanda
- Proyectos temporales: Solo pagar durante el proyecto
4. Convenience-Driven Strategy (Orientada a la Conveniencia):
Definición: Uso de los recursos del cloud para no mantener recursos locales.
Motivación: Simplicidad operativa
Casos de uso:
- Empresas sin equipo IT: No tienen capacidad de gestionar datacenter
- Focus en core business: Empresa de salud quiere centrarse en medicina, no en IT
- Eliminar complejidad: No gestionar hardware, actualizaciones, seguridad física
Selección de Estrategia: Factores Clave:
Para elegir la estrategia apropiada de adopción, considerar:
Preguntas estratégicas:
- ¿Dónde aportará valor al negocio actual?
- Reducción de costes
- Mejora de agilidad
- Nuevas capacidades (ML, analytics)
-
Mejor experiencia de usuario
-
¿Puede ser implementado solo en áreas seleccionadas del negocio?
- Comenzar con workloads no críticos
-
Enfoque híbrido: Crítico on-premise, resto cloud
-
¿Cuánto se puede controlar de la migración?
- Migración gradual (meses/años)
- Big bang (todo de una vez) - ⚠️ Alto riesgo
Las respuestas a estas preguntas deben conducir a las decisiones de la organización de implementar el cloud sobre la base de:
- ✅ Escalabilidad
- ✅ Disponibilidad
- ✅ Coste
- ✅ Conveniencia
3.7. Regiones Y Disponibilidad¶
Regiones (Regions):
Definición: Ubicación geográfica con múltiples datacenters.
Ejemplos AWS:
eu-west-1: Irlandaeu-south-2: España (Aragón) ← Nuevo 2022us-east-1: Virginia del Norteap-southeast-1: Singapur
Factores para elegir región:
- Latencia
- Más cerca del usuario = Menor latencia
-
Ejemplo: Usuarios en España →
eu-south-2oeu-west-1 -
Cumplimiento legal
- RGPD: Los datos de residentes UE deben estar en UE
-
Datos sanitarios españoles → Preferible región España
-
Coste
- Varía por región
-
España suele ser ~5-10% más cara que Irlanda
-
Servicios disponibles
- No todos los servicios en todas las regiones
- Regiones nuevas tienen menos servicios
Zonas de Disponibilidad (Availability Zones):
Definición: Datacenters aislados dentro de una región.
Alta Disponibilidad:
SLA (Service Level Agreement):
Definición: Garantía de disponibilidad del proveedor.
| Servicio | SLA | Downtime anual permitido |
|---|---|---|
| EC2 (1 AZ) | 99.5% | 1.8 días |
| EC2 (Multi-AZ) | 99.99% | 52 minutos |
| S3 | 99.99% | 52 minutos |
| RDS (Multi-AZ) | 99.95% | 4.4 horas |
| DynamoDB | 99.999% | 5.3 minutos |
Cálculo de disponibilidad compuesta:
3.8. Escalabilidad¶
Escalado Vertical (Scale Up):
Definición: Aumentar recursos de la misma máquina.
| ✅ Ventajas | ❌ Desventajas |
|---|---|
| Simple (sin cambios en arquitectura) | Límite físico |
| No requiere distribución de carga | Requiere downtime (normalmente) |
| Single point of failure |
Cuándo usar:
- Aplicaciones legacy no diseñadas para escalar horizontalmente
- Bases de datos tradicionales
- Fases iniciales
Escalado Horizontal (Scale Out):
Definición: Aumentar número de máquinas.
| ✅ Ventajas | ❌ Desventajas |
|---|---|
| Sin límite práctico | Requiere arquitectura distribuida |
| Alta disponibilidad | Complejidad de sincronización |
| Sin downtime | Load balancing necesario |
Auto-scaling:
Definición: Ajuste automático de recursos según demanda.
Auto-scaling para Big Data:
3.9. Modelos De Costes¶
CAPEX vs OPEX:
| CAPEX (Capital Expenditure) | OPEX (Operational Expenditure) |
|---|---|
| Inversión inicial alta | Sin inversión inicial |
| Compra de servidores físicos | Pago por uso mensual |
| Depreciación a lo largo de años | Gasto corriente |
| Predicción difícil de necesidades | Escala según demanda real |
| Datacenters tradicionales | Cloud Computing |
Modelos de Pago en Cloud:
1. On-Demand (Bajo demanda):
Características:
- Pago por hora o segundo
- Sin compromiso
- Sin pago inicial
| ✅ Ventajas | ❌ Desventajas |
|---|---|
| Flexibilidad máxima | Precio más alto |
| Sin compromiso |
Cuándo usar:
- Desarrollo y pruebas
- Cargas de trabajo impredecibles
- Aplicaciones nuevas
Ejemplo de precio (AWS EC2 t3.2xlarge en eu-south-2):
2. Reserved Instances (Instancias Reservadas):
Características:
- Compromiso de 1 o 3 años
- Descuento del 30-75%
- Pago inicial o mensual
Ejemplo:
Cuándo usar:
- Cargas de trabajo estables y predecibles
- Bases de datos de producción
- Servidores web base
3. Spot Instances (Instancias Spot):
Características:
- Usar capacidad no utilizada de AWS
- Descuento del 50-90%
- Pueden ser interrumpidas con 2 minutos de aviso
Ejemplo:
Cuándo usar:
- Procesamiento Big Data tolerante a fallos
- Análisis batch no urgentes
- Machine Learning training
Estimación de Costes:
Herramientas:
- AWS Pricing Calculator: https://calculator.aws
- Azure Pricing Calculator: https://azure.microsoft.com/pricing/calculator
- GCP Pricing Calculator: https://cloud.google.com/products/calculator
Ejemplo de arquitectura de Data Lake:
Optimización de Costes:
Estrategias:
- Rightsizing: Ajustar tamaño de instancias
- Auto-scaling: Escalar solo cuando necesario
- Reserved Instances: Para cargas base
- Spot Instances: Para procesamiento batch
- S3 Lifecycle: Mover datos antiguos a almacenamiento más barato
- Eliminar recursos no utilizados: Snapshots, volúmenes huérfanos