Fundamentos de Cloud Computing y Contenerización con Docker
Clasificado en Informática
Escrito el en
español con un tamaño de 5,66 KB
Conceptos Fundamentales de Cloud Computing
Cloud Computing: Se refiere a los servicios de computación bajo un modelo de pago por lo que se utiliza. Esto incluye recursos como almacenamiento de datos y servidores.
- Renta de servicios de TI: Permite aprovisionar instantáneamente poder de cómputo (CPU, RAM), almacenamiento seguro y bases de datos.
- Independencia de hardware: Facilita la expansión de recursos globalmente sin la necesidad de construir centros de datos físicos.
- Operación del proveedor: El proveedor cloud gestiona los respaldos de hardware, las actualizaciones de seguridad y garantiza una disponibilidad 24/7.
Modelo de Responsabilidad Compartida
Este modelo define quién es responsable de cada aspecto de la seguridad y operación:
- Consumer domain (Dominio del consumidor): El consumidor es responsable de todo lo que sube a la nube, incluyendo datos y archivos, dispositivos y la gestión de accesos.
- Microsoft domain (Dominio del proveedor): Representa lo que el proveedor cuida por ti, asegurando que los servidores físicos funcionen, tengan suministro eléctrico y cuenten con seguridad física.
Categorías de Servicios Cloud
| Característica | IaaS (Infrastructure as a Service) | PaaS (Platform as a Service) | SaaS (Software as a Service) |
|---|---|---|---|
| Proveedor | Administra hardware y redes. | Administra el SO, middleware y motores. | Administra todo el entorno. |
| Control del cliente | Control máximo: Configura el sistema operativo (SO). | Control medio: Controla el código y los datos. | Control bajo: Gestiona cuentas y datos. |
| Escenario | Migraciones lift and shift. | Desarrollo y pruebas de aplicaciones. | Herramientas de productividad. |
| Ejemplo | Azure VMs | App Services | Microsoft 365 |
Modelos de Despliegue Cloud
- Pública: Propiedad de un tercero, accesible vía internet y sin necesidad de infraestructura física propia.
- Privada: Dedicada exclusivamente a una sola empresa; es personalizada pero implica altos precios de hardware.
- Híbrida: Combina la nube pública y privada. Se utiliza para requisitos específicos, guardando lo confidencial en la privada y lo común en la pública.
Modelos de Precios y Gastos
- CapEx (Gasto de Capital): Inversión inicial en la compra de servidores y bases de datos por adelantado.
- OpEx (Gasto Operativo): Pago por servicios continuos según el uso real.
Disponibilidad y Escalabilidad
- Alta disponibilidad: Garantiza que la aplicación nunca se caiga mediante respaldos automáticos y contratos de nivel de servicio (SLA).
- Escalado Vertical: Incrementar la potencia de un servidor existente (más RAM o CPU).
- Escalado Horizontal: Añadir más servidores idénticos para repartir la carga de trabajo.
Confiabilidad y Predictibilidad
- Diseño confiable: Si una región falla, la nube se recupera y mueve los datos a otra región automáticamente.
- Rendimiento predecible: Asegura que la aplicación funcione siempre a la misma velocidad.
- Pronóstico de costos: Permite calcular presupuestos y gastos en tiempo real.
Seguridad, Gobernanza y Administración
- Controles de gobernanza: Automatiza el cumplimiento de las reglas corporativas mediante plantillas y políticas.
- Seguridad inherente: Incluye protección nativa contra ataques DDoS.
- Administración simple: Permite gestionar toda la infraestructura de forma visual o mediante comandos.
El Desafío del Software y la Contenerización
Desafíos Comunes
- Fragmentación: Las aplicaciones dependen de versiones específicas de lenguajes y librerías.
- Fricción operativa: Tiempo perdido configurando entornos de desarrollo y producción.
¿Qué es la Contenerización?
Es una forma de virtualización ligera. Empaqueta una aplicación junto con todas sus dependencias necesarias para ejecutarse de forma aislada en su propio contenedor.
Ecosistema Docker
- Imágenes: Planos estáticos de solo lectura que contienen el código y el entorno necesario.
- Contenedores: Instancias vivas y ejecutables creadas a partir de las imágenes.
- Registry: Bibliotecas o repositorios donde se almacenan y comparten las imágenes.
Dockerfile
Es un archivo de texto simple que contiene una lista de instrucciones para construir una imagen de Docker automáticamente.
Ventajas del Dockerfile:
- Control de versiones de la infraestructura.
- Builds repetibles y reproducibles.
- Eliminación de la configuración manual.