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ísticaIaaS (Infrastructure as a Service)PaaS (Platform as a Service)SaaS (Software as a Service)
ProveedorAdministra hardware y redes.Administra el SO, middleware y motores.Administra todo el entorno.
Control del clienteControl máximo: Configura el sistema operativo (SO).Control medio: Controla el código y los datos.Control bajo: Gestiona cuentas y datos.
EscenarioMigraciones lift and shift.Desarrollo y pruebas de aplicaciones.Herramientas de productividad.
EjemploAzure VMsApp ServicesMicrosoft 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.

Entradas relacionadas: