Este documento ofrece un resumen completo y detallado de los temas clave abordados en tus presentaciones de clase. Incluye todos los puntos importantes, sin omitir detalles que podrían ser objeto de preguntas en evaluaciones.
📌 Evolución de Modelos de Despliegue de Servicios
| Modelo | Características clave |
|---|
| Mainframe | Terminales ‘tontas’ conectadas a un computador central (predominante en los años 60 y 70). Caracterizado por texto plano y ausencia de interfaz gráfica. |
| Servidores físicos | Requieren refrigeración controlada. Disponibles en formatos torre (para sucursales pequeñas) y rack (para centros de datos). También existen servidores dedicados (ej. Oracle Exadata). |
| Virtualización | Separa el hardware físico del software mediante hipervisores (KVM, VirtualBox, Hyper-V, VMWare, XEN). Permite ejecutar múltiples sistemas operativos en una única máquina física. |
| Cloud Computing | Ofrece escalabilidad, servicios bajo demanda y un modelo de pago por uso. Proveedores principales: AWS, Azure, GCP. Ejemplos de software para nubes privadas: OpenStack. |
| Kubernetes | Orquestador de contenedores que automatiza el despliegue, escalado y gestión de aplicaciones. Utiliza kubectl para su administración. Ventajas clave: escalabilidad, alta disponibilidad, entre otras. |
| Serverless (FaaS) | Permite ejecutar funciones sin la necesidad de gestionar servidores subyacentes. El pago se realiza únicamente por el uso de los recursos. Ejemplos: AWS Lambda, Azure Functions, Google Cloud Functions. |
🖥️ Sistemas Operativos para Servidores
| Sistema | Características |
|---|
| Windows Server | Interfaz gráfica, popular en entornos empresariales. Versiones destacadas: 2008 (Fin de Soporte 2020), 2012, 2016, 2019, 2022. Ofrece una fuerte integración con otras tecnologías de Microsoft. |
| Linux | Ampliamente utilizado por proveedores de servicios y en infraestructuras de nube. Es de código abierto (open source) y se administra principalmente a través de la terminal. Existen diversas distribuciones: comerciales, para IoT, sistemas móviles, embebidos, entre otras. |
💽 Particionado y Sistemas de Archivos
| SO | Sistema de Archivos |
|---|
| Windows | NTFS, FAT32 (limitado a 4GB por archivo), exFAT (sin soporte de journaling). |
| Linux | Ext4 (el más popular), BTRFS (soporte para snapshots y volúmenes), XFS (optimizado para archivos grandes), ZFS (desarrollado por Oracle), F2FS (diseñado para SSDs). |
⚙️ Comandos de Administración de Sistemas
| Recurso | Comandos |
|---|
| CPU | top, htop, nproc, lscpu |
| Memoria | free, vmstat |
| Disco | iostat, lsof, iotop, df, du |
| Red | netstat, iptraf, nethogs |
| Monitoreo remoto | Grafana, Telegraf, InfluxDB (con agentes de recolección), SNMP (con colectores de datos) |
🐳 Docker: Contenedorización de Aplicaciones
Ventajas de Docker
- Modularidad
- Capas y control de versiones
- Restauración de versiones
- Implementación rápida
Conceptos Clave de Docker
- Imágenes: Se construyen a partir de otras imágenes base o desde DockerHub.
- Volúmenes: Utilizados para la persistencia de datos fuera del ciclo de vida del contenedor.
- Dockerfile: Archivo de texto que describe cómo construir una imagen de Docker.
- Contenedores: Instancias ejecutables de una imagen, efímeros por defecto (a menos que se usen volúmenes).
Prácticas Comunes con Docker
docker run hello-worlddocker run -d -p 808X:80 nginx- Edición de contenido dentro de un contenedor.
- Añadir persistencia de datos.
- Creación de imágenes personalizadas.
- Uso de Docker Compose (definición de servicios, redes y volúmenes).
- Despliegue de WordPress con y sin persistencia de datos.
- Multi-stage builds (construcciones multi-etapa).
☸️ Kubernetes (K8s): Orquestación de Contenedores a Escala
Conceptos Básicos de Kubernetes
- Plataforma líder para la orquestación de contenedores.
- Arquitectura distribuida compuesta por nodos maestros (control plane) y nodos trabajadores.
Componentes Principales de Kubernetes
- Maestro (Control Plane): kube-apiserver, etcd, kube-scheduler, kube-controller-manager.
- Nodos Trabajadores: kubelet, kube-proxy, Container Runtime (ej. Docker, containerd).
Objetos Fundamentales de Kubernetes
- Pods: La unidad de despliegue más pequeña, puede contener uno o varios contenedores.
- Servicios (Services): Abstracciones que exponen un conjunto de Pods y proporcionan estabilidad de red.
- ConfigMaps y Secrets: Utilizados para almacenar datos de configuración no confidenciales y sensibles, respectivamente.
Redes en Kubernetes
- Descubrimiento de servicios DNS interno.
- Balanceo de carga automático para servicios.
- Ingress: Proporciona acceso externo a los servicios del clúster mediante reglas HTTP/HTTPS.
Estrategias de Escalado y Despliegue
- Autoscaling Horizontal de Pods (HPA).
- Rolling Updates y Rollbacks (actualizaciones y reversiones).
- Integración con herramientas CI/CD (ej. GitLab CI/CD, Jenkins).
Seguridad en Kubernetes
- RBAC (Control de Acceso Basado en Roles) para permisos mínimos.
- Políticas de red (Network Policies).
- Gestión segura de Secrets.
Monitoreo y Logging
- Prometheus + Grafana: Para la recolección y visualización de métricas.
- Fluentd + ELK Stack (Elasticsearch, Logstash, Kibana): Para la gestión y análisis de logs.
🌐 Servidores Web: Fundamentos y Opciones
| Servidor | Características |
|---|
| Apache | Ampliamente utilizado, altamente configurable y compatible con múltiples sistemas operativos. Puede ser más pesado en recursos y su configuración, a veces, es compleja. |
| NGINX | Rápido, eficiente y con bajo consumo de recursos. Su configuración puede ser menos intuitiva para principiantes. |
| IIS | Ideal para entornos Microsoft, con fuerte integración con tecnologías .NET. Su compatibilidad es limitada fuera del ecosistema Windows. |
Temas Relacionados con Servidores Web
- Sitios Dinámicos: Generación de contenido personalizado (ej. con PHP, ASP.NET).
- HTTPS: Utiliza SSL/TLS para cifrar y proteger la comunicación de datos.
- Seguridad Web: Implementación de cortafuegos, uso de certificados digitales y prevención de ataques comunes (ej. inyección SQL, XSS).
- Balanceo de Carga: Distribución del tráfico entre múltiples servidores (ej. algoritmos round-robin, least connection).
- Despliegue Automatizado: Herramientas como Terraform y Docker para la automatización de la infraestructura y aplicaciones.
🔐 Seguridad Informática y Certificados Digitales
Fundamentos de Criptografía
- Criptografía Simétrica: Utiliza la misma clave para cifrar y descifrar la información.
- Criptografía Asimétrica: Emplea un par de claves (pública y privada), siendo más segura para el intercambio de claves.
Funciones Hash
- Utilizadas para la verificación de la integridad de los datos.
- Algoritmos comunes: MD5, SHA-1, SHA-256.
- Producen una salida de longitud fija y son fundamentales en procesos de autenticación.
Firmas Digitales
- Garantizan la autenticidad y la no repudiación de un documento o mensaje.
- El emisor firma el documento con su clave privada, y el receptor verifica la firma utilizando la clave pública del emisor.
Certificados Digitales y Autoridades Certificadoras
- Previenen la suplantación de identidad y aseguran la autenticidad.
- Emitidos por Autoridades Certificadoras (CA) de confianza.
- Contienen la clave pública del titular, su identidad y están firmados digitalmente por una CA.
¿Quieres que te genere también un cuestionario con preguntas de repaso o un formato tipo examen para practicar?