☁️ Definición de Cloud Computing

¿Qué es?

La computación en la nube es el suministro de recursos informáticos bajo demanda —servidores, almacenamiento, bases de datos, redes, software— a través de internet, pagando solo por lo que se usa.

Definición oficial del NIST (National Institute of Standards and Technology): "modelo que permite acceso ubicuo, conveniente y bajo demanda a un conjunto compartido de recursos configurables."

Breve Historia

El concepto nació en los 60s con los mainframes compartidos. Amazon lanzó AWS en 2006 con S3 y EC2. Google y Microsoft siguieron en 2008-2010. Hoy la nube mueve más de $600 mil millones al año.

Características Esenciales

Según el NIST, la nube tiene 5 características esenciales:

  • Autoservicio bajo demanda
  • Acceso amplio desde la red
  • Conjunto de recursos compartidos (multi-tenancy)
  • Rápida elasticidad y escalabilidad
  • Servicio medido (pago por uso)

Ventajas Clave

¿Por qué migrar a la nube?

  • 🟠 Sin inversión inicial en hardware
  • 🟠 Escalar en minutos, no meses
  • 🟠 Alta disponibilidad y redundancia
  • 🟠 Acceso global desde cualquier lugar
  • 🟠 Actualizaciones automáticas
  • 🟠 Recuperación ante desastres integrada

🏗️ Tipos de Implementación (Deployment Models)

☁️ Public Cloud

Nube Pública

Los recursos son propiedad del proveedor y compartidos entre múltiples clientes. Accesible vía internet. Ejemplo: AWS, Azure, GCP.

AWS Azure GCP Multi-tenant
🏢 Private Cloud

Nube Privada

Infraestructura dedicada exclusivamente a una organización. Mayor control y seguridad. Montada on-premise o en datacenter dedicado.

VMware OpenStack On-premise
🔀 Hybrid Cloud

Nube Híbrida

Combina nube pública y privada conectadas entre sí. Permite mover datos y apps entre entornos según necesidad.

AWS Outposts Azure Arc VMware Cloud
🌐 Multi-Cloud

Multi-Nube

Uso simultáneo de múltiples proveedores de nube. Evita el vendor lock-in y aprovecha las fortalezas de cada proveedor.

AWS + GCP Terraform Kubernetes

📦 Los 4 Modelos de Servicio en la Nube

IaaS

Infrastructure as a Service

El proveedor ofrece servidores virtuales, almacenamiento y redes. Tú gestionas el SO, middleware y aplicaciones. Máximo control.

EC2 S3 Azure VM Google Compute
PaaS

Platform as a Service

El proveedor gestiona la infraestructura y el SO. Tú solo** te preocupas por el código y los datos. Ideal para desarrollo ágil.

Elastic Beanstalk Heroku App Engine Azure App Service
SaaS

Software as a Service

El proveedor gestiona todo. El usuario solo usa la aplicación desde el navegador. Sin instalación ni mantenimiento.

Gmail Salesforce Office 365 Slack
FaaS / Serverless

Function as a Service

Ejecutas funciones individuales sin gestionar servidores. Solo pagas por cada ejecución. Escala automáticamente a cero.

AWS Lambda Cloud Functions Azure Functions

🧩 ¿Quién gestiona qué? — Modelo de Responsabilidad Compartida

Componente On-Premise IaaS PaaS SaaS
Aplicaciones 👤 Tú👤 Tú👤 Tú ☁️ Nube
Datos 👤 Tú👤 Tú👤 Tú ☁️ Nube
Runtime / Middleware👤 Tú👤 Tú☁️ Nube☁️ Nube
Sistema Operativo 👤 Tú👤 Tú☁️ Nube☁️ Nube
Virtualización 👤 Tú☁️ Nube☁️ Nube☁️ Nube
Servidores / Hardware👤 Tú☁️ Nube☁️ Nube☁️ Nube
Almacenamiento Físico👤 Tú☁️ Nube☁️ Nube☁️ Nube
Red Física 👤 Tú☁️ Nube☁️ Nube☁️ Nube

💰 Modelos de Precios en la Nube

💳

Pay-as-you-go

Pagas solo por los recursos que consumes, por segundo u hora. Sin compromisos a largo plazo. Ideal para cargas variables.

Sin pago inicial

Spot / Preemptible

Capacidad sobrante del proveedor a precio reducido. Puede interrumpirse. Ideal para procesamiento por lotes y ML training.

Hasta 90% descuento
🆓

Free Tier

Capa gratuita para explorar y aprender. AWS ofrece 12 meses gratis en servicios seleccionados más servicios always-free.

aws.amazon.com/free

🏢 Los Grandes Proveedores de Cloud

Amazon Web Services

Pionero y líder del mercado desde 2006. El ecosistema más amplio con +200 servicios. La referencia del sector.

~32% del mercado

Microsoft Azure

Segunda en el mercado. Fuerte integración con el ecosistema Microsoft (Office 365, Active Directory, .NET).

~23% del mercado

Google Cloud Platform

Tercera en mercado pero líder en AI/ML, Big Data y Kubernetes (GKE). Fuerte en cargas analíticas.

~11% del mercado

IBM Cloud

Especializada en enterprise, mainframe e industria regulada (finanzas, salud). Fuerte en IA con Watson.

~4% del mercado

⚖️ Comparativa de Proveedores

Criterio 🟠 AWS 🔵 Azure 🔴 GCP
Lanzamiento200620102008
Servicios+200+200+150
Cómputo IaaSEC2Virtual MachinesCompute Engine
Object StorageS3Blob StorageCloud Storage
Base de datos relacionalRDS / AuroraAzure SQLCloud SQL / AlloyDB
ServerlessLambdaAzure FunctionsCloud Functions / Run
Kubernetes GestionadoEKSAKSGKE
AI / MLSageMakerAzure MLVertex AI
Fortaleza claveEcosistema más maduroIntegración MicrosoftBig Data & AI

🌍 Infraestructura Global de AWS

33 Regiones Geográficas
105 Zonas de Disponibilidad
600+ Puntos de Presencia (PoP)
245 Países y Territorios
🌐

Región (Region)

Área geográfica con múltiples centros de datos. Ejemplo: us-east-1 (Virginia), sa-east-1 (São Paulo). Los datos no salen de la región sin tu permiso.

🏢

Zona de Disponibilidad (AZ)

Uno o más datacenters físicamente separados dentro de una región. Conectados por fibra de baja latencia. Aislan fallos entre sí.

Edge Location / PoP

Puntos de presencia para cachear contenido con CloudFront (CDN) cerca del usuario final. Reduce latencia globalmente.

Adicionalmente, si quieres explorar el mapa interactivo real y exacto de AWS, puedes hacerlo visitando su sitio web oficial de Infraestructura Global: 🔗 Mapa Interactivo de Infraestructura Global de AWS

☁️ Servicios Esenciales de AWS

🖥️
Amazon EC2

Elastic Compute Cloud

Servidores virtuales (instancias) en la nube. Elige CPU, RAM, SO y región. Escala vertical y horizontalmente. El servicio más fundamental de AWS.

IaaS Linux/Windows Auto Scaling t3.micro Free Tier
AWS Lambda

Serverless Functions

Ejecuta código sin gestionar servidores. Soporta Node.js, Python, Java, Go y más. Facturación por milisegundo de ejecución. Escala a cero automáticamente.

FaaS Event-driven 1M req/mes gratis
🐳
Amazon ECS / EKS

Contenedores y Kubernetes

ECS es el orquestador de contenedores propio de AWS. EKS es Kubernetes gestionado. Ambos se integran con Fargate para serverless containers.

Docker Kubernetes Fargate
🪣
Amazon S3

Simple Storage Service

Almacenamiento de objetos infinitamente escalable. Guarda archivos, imágenes, backups, datasets y sitios web estáticos. 99.999999999% (11 nueves) de durabilidad.

Object Storage Buckets 5GB Free Tier Versioning
💾
Amazon EBS

Elastic Block Store

Discos virtuales de alta performance para instancias EC2. Similar a un disco duro en la nube. Persiste independientemente de la instancia.

Block Storage SSD/HDD Snapshots
🗂️
Amazon EFS

Elastic File System

Sistema de archivos NFS compartido que múltiples instancias EC2 pueden montar simultáneamente. Escala automáticamente con el uso.

NFS Shared Storage Multi-AZ
🗃️
Amazon RDS

Relational Database Service

BD relacionales gestionadas: MySQL, PostgreSQL, MariaDB, Oracle, SQL Server y Aurora. AWS gestiona backups, parches, alta disponibilidad y réplicas.

MySQL PostgreSQL Multi-AZ Read Replicas
Amazon Aurora

High-Performance DB

Base de datos relacional compatible con MySQL y PostgreSQL, 5x más rápida que MySQL estándar. Arquitectura distribuida y serverless disponible.

MySQL compatible PostgreSQL compatible Serverless v2
📄
Amazon DynamoDB

NoSQL Key-Value & Document

Base de datos NoSQL totalmente gestionada. Latencia de un dígito en milisegundos. Escala automáticamente. Ideal para apps móviles, gaming, IoT.

NoSQL Serverless Streams Global Tables
🌐
Amazon VPC

Virtual Private Cloud

Red virtual privada e aislada dentro de AWS. Define subnets públicas/privadas, tablas de rutas, gateways y grupos de seguridad. Fundamento de toda arquitectura AWS.

Networking Subnets IGW Security Groups
⚖️
Elastic Load Balancing

ELB / ALB / NLB

Distribuye el tráfico entrante entre múltiples instancias. ALB (capa 7, HTTP/S), NLB (capa 4, TCP/UDP). Integrado con Auto Scaling.

ALB NLB Layer 7 HTTPS
🚀
Amazon CloudFront

Content Delivery Network

CDN global con +600 puntos de presencia. Cachea contenido cerca del usuario. Integrado con S3 y ALB. Soporte de HTTPS y Geo-restriction.

CDN Edge Locations S3 Origin
🔑
AWS IAM

Identity and Access Management

Controla quién puede hacer qué en AWS. Usuarios, grupos, roles y políticas. Principio de mínimo privilegio. Es gratis y esencial en toda cuenta AWS.

Users & Groups Roles Policies JSON Gratis
🔐
AWS KMS

Key Management Service

Gestión de claves de cifrado. Crea, rota y audita el uso de claves criptográficas. Integrado con S3, RDS, EBS, DynamoDB y más.

Encryption CMK CloudTrail
🔌
Amazon API Gateway

Managed REST & WebSocket API

Crea, publica y gestiona APIs REST, HTTP y WebSocket. Integra con Lambda para arquitecturas serverless completas. Throttling y autenticación integrados.

REST API WebSocket Lambda Proxy
📨
Amazon SQS / SNS

Mensajería y Notificaciones

SQS es una cola de mensajes desacoplada. SNS es un sistema pub/sub para notificaciones. Fundamentales en arquitecturas de microservicios y event-driven.

Queue Pub/Sub Decoupling
🤖
Amazon SageMaker

Plataforma ML Completa

Plataforma end-to-end para Machine Learning. Entrena, ajusta y despliega modelos a escala. Incluye notebooks Jupyter, pipelines y AutoML.

ML Training Model Deploy AutoML
🧠
Amazon Bedrock

Generative AI Foundation Models

Accede a modelos de IA generativa de Anthropic (Claude), Meta (Llama), Stability AI y Amazon (Titan) via API. Sin gestionar infraestructura de IA.

GenAI Claude Llama RAG
🔧
AWS CloudFormation

Infrastructure as Code

Describe y provisiona infraestructura AWS mediante plantillas YAML o JSON. Permite versionar y reproducir entornos. La base de IaC en AWS.

IaC YAML/JSON Stacks
🔄
AWS CodePipeline

CI/CD Gestionado

Automatiza el pipeline de entrega de software. Integra CodeCommit, CodeBuild, CodeDeploy. Conecta con GitHub y Jenkins. Despliega automáticamente.

CI/CD CodeBuild CodeDeploy

🏛️ Arquitectura Web de Referencia en AWS

👤 Users Internet 🚀 CloudFront CDN ⚖️ ALB Load Balancer Auto Scaling 🖥️ EC2 🖥️ EC2 🗃️ RDS Aurora Primary + Read 🪣 S3 Static Assets ⚡ Lambda Async Tasks VPC — us-east-1

🏛️ AWS Well-Architected Framework

El AWS Well-Architected Framework es el conjunto de buenas prácticas definidas por AWS para construir sistemas seguros, de alto rendimiento, resilientes y eficientes en la nube. Se organiza en 6 pilares fundamentales.

🔧

Excelencia Operacional

Automatiza operaciones, monitorea sistemas, mejora continuamente. Usa IaC (CloudFormation / Terraform). Documenta procesos con runbooks.

🔒

Seguridad

Aplica mínimo privilegio en IAM. Habilita MFA. Cifra datos en reposo y tránsito con KMS. Monitorea con CloudTrail y GuardDuty.

💪

Fiabilidad

Diseña para Multi-AZ. Usa Auto Scaling grupos. Implementa Circuit Breakers. Prueba fallos con Chaos Engineering.

Eficiencia de Rendimiento

Elige el tipo correcto de instancia. Usa caching (ElastiCache). Aprovecha CDN (CloudFront). Revisa métricas con CloudWatch.

💰

Optimización de Costos

Usa Reserved Instances para cargas estables. Spot para batch. Elimina recursos huérfanos. Monitorea con Cost Explorer y presupuestos.

🌱

Sostenibilidad

Elige regiones con energía renovable. Usa instancias Graviton (ARM) más eficientes. Apaga recursos en horas sin carga. Optimiza el código.

🔐 Seguridad: Reglas de Oro en AWS

Nunca uses el Root Account

La cuenta root tiene acceso total. Crea inmediatamente un usuario IAM con permisos administrativos y usa ese en el día a día. Activa MFA en root.

CRÍTICO

Principio de Mínimo Privilegio

Otorga solo los permisos estrictamente necesarios. Prefiere políticas Allow explícitas sobre *. Revisa permisos regularmente.

IAM Policies

Rota las credenciales

Nunca almacenes Access Keys en código fuente. Usa Roles IAM para aplicaciones en EC2/Lambda. Rota keys cada 90 días mínimo.

AWS Secrets Manager

Cifra todo

Activa cifrado en S3 (SSE-S3 o SSE-KMS), EBS, RDS. Usa HTTPS siempre. Habilita CloudTrail para auditoría completa de todas las acciones.

KMS CloudTrail

💰 Tips de Optimización de Costos

📊

Monitorea con Cost Explorer

Activa AWS Cost Explorer y configura alertas de presupuesto. Identifica qué servicios consumen más y optimiza antes de recibir una factura sorpresa.

🔍

Trusted Advisor

AWS Trusted Advisor analiza tu cuenta y recomienda mejoras en seguridad, rendimiento, tolerancia a fallos y ahorro de costos de forma automática.

🗑️

Elimina Recursos Huérfanos

IPs elásticas no asociadas, snapshots antiguos, Load Balancers sin tráfico, instancias detenidas... todos generan costo. Revisa mensualmente.

📅

Reserved vs Spot Savings Plans

Para EC2 estables: Reserved Instances 1-3 años (hasta 75% off). Para batch y ML: Spot Instances (hasta 90% off). Compute Savings Plans para Lambda.

📚 Certificaciones AWS

🥉 Cloud Practitioner

Nivel básico. Conceptos generales de la nube y servicios AWS fundamentales. Recomendado como primer paso. Sin experiencia técnica previa necesaria.

CLF-C02 Foundational

🥈 Solutions Architect Associate

La más popular y reconocida. Diseño de arquitecturas escalables, resilientes y seguras en AWS. Altamente valorada por empleadores.

SAA-C03 Associate

🥇 Solutions Architect Professional

Nivel avanzado. Arquitecturas complejas y multi-cuenta. Alta demanda en el mercado. Requiere experiencia real con AWS.

SAP-C02 Professional

⚡ Developer / SysOps / DevOps

Certificaciones especializadas en desarrollo (DVA), operaciones (SOA) y DevOps (DOP). Ideales si tienes un rol técnico específico.

Associate Professional

🔑 IAM — Identity and Access Management

🔑
aws iam

Crear usuario y asignar permisos

Seguridad
1

Abre la terminal con AWS CLI configurado (aws configure) e ingresa tu región, Access Key y Secret Key.

2

Crea un nuevo usuario IAM con nombre descriptivo para identificarlo fácilmente en tu cuenta.

3

Adjunta una política gestionada de AWS al usuario para otorgarle los permisos necesarios (principio de mínimo privilegio).

4

Genera un Access Key para que el usuario pueda autenticarse programáticamente desde su entorno local.

AWS CLI
# Crear usuario
aws iam create-user --user-name jordy-dev
# Asignar política
aws iam attach-user-policy --user-name jordy-dev \
  --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
# Crear access key
aws iam create-access-key --user-name jordy-dev
📋 Copiar

🖥️ EC2 — Elastic Compute Cloud

🖥️
aws ec2

Lanzar instancia y conectarse por SSH

Cómputo
1

Elige una AMI (Amazon Machine Image). ami-0c02fb55956c7d316 corresponde a Amazon Linux 2 en us-east-1.

2

Selecciona el tipo de instancia. t2.micro es elegible para Free Tier (750 h/mes gratis en el primer año).

3

Especifica tu Key Pair (MiClave) y el Security Group que permita el puerto 22 para SSH desde tu IP.

4

Obtén la IP pública de tu instancia en la consola y conéctate con el archivo .pem descargado al crear el Key Pair.

AWS CLI
aws ec2 run-instances --image-id ami-0c02fb55956c7d316 \
  --instance-type t2.micro --key-name MiClave \
  --security-group-ids sg-xxxxxxxx --count 1
# Conectar por SSH
ssh -i "MiClave.pem" ec2-user@<IP-PUBLICA>
📋 Copiar

🪣 S3 — Simple Storage Service

🪣
aws s3

Crear bucket, subir archivos y habilitar sitio web estático

Storage
1

Crea un bucket con nombre globalmente único en toda AWS. Usa un sufijo con la fecha o tu nombre para asegurar unicidad.

2

Sube un archivo individual con cp o sincroniza toda una carpeta local con sync (solo sube los archivos nuevos o modificados).

3

Habilita el hosting de sitio web estático especificando el documento de índice. El bucket quedará accesible vía URL pública de S3.

4

Para acceso público, recuerda deshabilitar el "Block Public Access" y agregar la política de bucket correspondiente en la consola.

AWS CLI
aws s3 mb s3://mi-bucket-unico-2024
aws s3 cp archivo.html s3://mi-bucket-unico-2024/
aws s3 sync ./carpeta s3://mi-bucket-unico-2024/
# Habilitar sitio web estático
aws s3 website s3://mi-bucket-unico-2024 \
  --index-document index.html
📋 Copiar

⚡ Lambda — Serverless Functions

aws lambda

Crear función serverless e invocarla

Serverless
1

Empaqueta tu código en un archivo ZIP. El handler index.handler indica que Lambda ejecutará la función handler exportada desde index.js.

2

Crea un rol IAM con la política AWSLambdaBasicExecutionRole para que Lambda pueda escribir logs en CloudWatch.

3

Despliega la función especificando el runtime, el rol y el archivo ZIP. Lambda escala automáticamente con cada invocación.

4

Invoca la función y revisa la respuesta en output.json. Lambda cobra solo por tiempo de ejecución (primer 1M de peticiones/mes son gratis).

AWS CLI
aws lambda create-function --function-name MiFuncion \
  --runtime nodejs18.x --role arn:aws:iam::123:role/lambda-role \
  --handler index.handler --zip-file fileb://function.zip
# Invocar
aws lambda invoke --function-name MiFuncion output.json
📋 Copiar

🗃️ RDS — Relational Database Service

🗃️
aws rds

Crear base de datos MySQL gestionada

Base de Datos
1

Define un identificador único para tu instancia de BD. Este será el nombre con el que la identificarás en la consola y en el CLI.

2

Selecciona la clase db.t3.micro (elegible para Free Tier) y el motor MySQL. RDS gestiona parches, backups y alta disponibilidad automáticamente.

3

Asigna credenciales de administrador seguras. Nunca hardcodees la contraseña en tu código; usa AWS Secrets Manager.

4

El storage inicial de 20 GB es más que suficiente para desarrollo. RDS puede escalar automáticamente el almacenamiento si se habilita autoscaling.

AWS CLI
aws rds create-db-instance \
  --db-instance-identifier mi-db \
  --db-instance-class db.t3.micro \
  --engine mysql --master-username admin \
  --master-user-password MiPassword123 \
  --allocated-storage 20
📋 Copiar

🌐 VPC — Virtual Private Cloud

🌐
aws ec2

Crear red privada virtual desde cero

Red
1

Crea la VPC con un bloque CIDR privado. 10.0.0.0/16 permite hasta 65 536 direcciones IP internas en tu red virtual.

2

Crea al menos una subred dentro de la VPC. 10.0.1.0/24 es una subred pública con 256 IPs disponibles. Asígnala a una AZ específica.

3

Crea un Internet Gateway (IGW) para permitir que los recursos de tu VPC se comuniquen con internet de forma bidireccional.

4

Adjunta el IGW a tu VPC y actualiza la tabla de rutas de la subred pública para que el tráfico 0.0.0.0/0 salga por el IGW.

AWS CLI
aws ec2 create-vpc --cidr-block 10.0.0.0/16
aws ec2 create-subnet --vpc-id vpc-xxxx --cidr-block 10.0.1.0/24
aws ec2 create-internet-gateway
aws ec2 attach-internet-gateway \
  --vpc-id vpc-xxxx --internet-gateway-id igw-xxxx
📋 Copiar
✓ Copiado