Tema 2 - Implementación y Administración de Sistemas en la nube
1. Servicios en la nube
IaaS (Infraestructura como servicio): Proporciona recursos básicos de computación: máquinas virtuales, redes, almacenamiento. El usuario gestiona el sistema operativo, el middleware, las aplicaciones y los datos.
PaaS (Plataforma como servicio): Ofrece entornos de desarrollo y despliegue listos para usar. El proveedor gestiona el sistema operativo, el middleware y la infraestructura.
SaaS (Software como servicio): Aplicaciones completas accesibles vía web. El proveedor gestiona todo: infraestructura, plataforma y software.
1.1 Servicios clave en AWS
Servicio |
Descripcion |
Tipo |
|---|---|---|
EC2 |
Maquinas virtuales |
IaaS |
S3 |
Almacenamiento de objetos |
IaaS |
RDS |
Bases de datos |
PaaS |
Lambda |
Ejecucion de funciones sin servidor |
PaaS |
VPC |
Red privada |
IaaS |
IAM |
Gestion de usuarios, roles y permisos |
Seguridad |
2. Monitor de recursos
El monitoreo de recursos en la nube, es el proceso de rastrear, analizar y gestionar el rendimiento, la disponibilidad y la seguridad de los servicios e infraestruturas en la nube. Se realiza mediante el uso de herramientas manuales y automaticas para observar metricas clave.
Que implica el monitoreo de recursos en la nube:
Analisis continuo: Se supervisa el rendimiendo en tiempo real
Seguimiento de metricas clave: Se monitorizan datos como la utilizacion de CPU, memoria, etc
Identificacion de problemas: Se buscan problemas potenciales, como cuellos de botella
Seguridad y cumplimiento: Se rastrean los datos para identificar vulnerabilidades de seguridad y asegurarse de que se cumplen las normativas.
Optimizacion de costos: Se analiza el uso de recursos para optimizar gastos
Herramientas: Las herramientas destacadas en los principales proveedores de cloud son:
Amazon CloudWatch (AWS)
Azure Monitor (Microsoft)
Google Operations (GCP)
Buenas practicas
Definir metriclas clave
Consolidar datos en una plataforma
Controlar costes
Supervisar uso
Automatizar reglas de rendimiento
Centralizar y probar regularmente herramientas
Servicios de monitoreo en AWS Amazon CloudWatch
Métricas: CPU, memoria, tráfico de red, etc.
Logs: registro de eventos y errores.
Alarmas: notificaciones automáticas ante eventos críticos.
Dashboards: visualización personalizada. AWS CloudTrail
Registro de actividad de usuarios y servicios.
Auditoría de seguridad y cumplimiento. AWS X-Ray
Análisis de rendimiento de aplicaciones distribuidas.
Trazado de solicitudes entre microservicios.
Identificación de cuellos de botella.
2.1 Rendimiento en un entorno nube
El rendimiento en la nube hace referencia a la capacidad de los recursos y servicios cloud para trabajar de forma eficiente
Implica aspectos como:
Tiempo de respuesta de los servicios
Velocidad de procesamiento
Capacidad de red y disco
Adaptacion de la carga
En la nube, el rendimiento no depende solo del «hardware», sino también de la configuración, la arquitectura del sistema y las políticas de escalado y disponibilidad.
Diferencias entre rendimiento en local y en cloud
Aspecto |
Entorno Local |
Entorno Cloud |
|---|---|---|
Control sobre hardware |
Total |
Limitado |
Rendimiento estable |
Si, si no hay sobrecarga |
Puede variar |
Elasticidad |
Limitada o nula |
Alta |
Escalado |
Manual y lenta |
Automatica y rapida |
Mantenimiento |
A cargo del equipo local |
A cargo del proveedor |
Coste de rendimiento |
Inversion en hardware |
Pago por uso |
Factores que afectan al rendimiendo en la nube
Elasticidad: Es la capacidad de adaptarse automaticamente a los cambios en la carga de trabajo.
Escalabilidad: Es la capacidad del sistema para aumentar o reducir su capacidad para manejar una carga creciente
Disponibilidad: Asegura que los servicios esten disponibles y operativos cuando se necesitan
3. Seguridad y gestion de Identidades (IAM)
La seguridad en AWS, se rige por el Modelo de responsabilidad compartida (AWS protege la infraestructura y el cliente protege sus datos).
3.1 Conceptos de IAM (Identity and access management).
Entidades:
Usuario raiz: Tiene acceso total. No debe usarse para tareas diarias, se recomienda crear usuarios administradores.
Usuario IAM: Persona o aplicacion con credenciales especificas.
Grupo: Coleccion de usuarios con permisos identicos.
Rol: Identidad con permisos temporales, asumida por usuarios o servicios.
Polticas y permisos:
Documentos en formato json que definen que acciones se permiten o deniegan sobre ciertos recursos.
Estructura JSON: Incluye version,
statement(Declaracion),effect(Allow/Deny),actionyresource.Principio de minimo privilegio: Otorgar solo los permisos estrictamente necesarios.
4. Capa de almacenamiento: Amazon S3
Amazon S3 (Simple Storage Service), es un almacenamiento de objetos seguro y escalable. Estructura:
Buckets: Contenedores (como carpetas) donde se guardan los archivos (objetos).
Objetos: Archivos junto con sus metadatos, tienen una URL unica y un tamaño maximo de 5Tb
Clases de almacenamiento:
S3 Standart: Para acceso frecuente y uso general.
S3 Intelligen-Tiering: Mueve datos automaticamente segun patrones de uso.
S3 Standart-IA: Para acceso poco frecuentes
S3 Glacier: Para archivos a largo plazo
Funcionalidad clave:
Ciclo de vida: Reglas automaticas para mover objetos a clases mas baratas o eliminarlos tras cierto tiempo
Control de versiones: Protege contra borrados o sobreescrituras accidentales
Alojamiento web estatico: Permite alojar HTML/CSS/JS directamente desde un bucket.
5. Capa de Base de Datos
Tipos de bases de datos:
Relacionales (SQL): Estructura tabular, esquema rigido, escalado vertical. Ideal para integridad de datos.
No relacionales (NoSQL): Esquemas flexibles, escalado horizontal. Ideal para alto rendimiento.
Servicios AWS
Amazon RDS: Servicio para bases de datos relacionales, reduce la carga administrativa.
Amazon Aurora: Base de datos relacional creada para la nube, de alto rendimiendo y durabilidad. Compatible con MySQL y PostgreSQL
Amazon Aurora Sin Servidor: Configuracion de escalada automatico bajo demanda, adecuada para, cargas de trabajo variable, desarollo y prueba, planificacion de capacidad.
5.1 Practicas de seguridad recomendadas
Ejecutar instancias en VPCs, para obtener control del acceso a la red
Utilizar politicas de IAM, para asignar permisos
Usar grupos de seguridad para controlar las conexiones
Utilizar conexiones SSL/TLS con la base de datos
Cifrar las instancias de base de datos