Opciones de Cómputo en la Nube de Google (GCP)

Clase 5 de 22Curso de Introducción a Google Cloud Platform

Resumen

¿Cuáles son las opciones de cómputo en la nube de Google Cloud Platform (GCP)?

Hoy en día, la nube se ha posicionado como un componente esencial para la infraestructura de muchas empresas, ofreciéndonos diversas opciones de cómputo. Con Google Cloud Platform (GCP), las opciones de cómputo se extienden desde máquinas virtuales a sistemas serverless, cada uno con sus características y ventajas únicas:

  1. Compute Engine:

    • Compuesto principalmente por máquinas virtuales (VMs).
    • Ofrece dos sabores: Uno de los sabores de Linux (Debian, Ubuntu, RedHat, etc.) o servidores Windows.
    • En casos excepcionales, existe el concepto de bare metal para necesidades específicas de licencias.
  2. Kubernetes Engine:

    • Se centra en la orquestación de contenedores.
    • Facilita la creación de clusters con contenedores propios o adquiridos de terceros.
    • Ofrece flexibilidad en customización y configuración para operarlos a escala.
  3. Opciones Serverless:

    • App Engine: Ideal para aplicaciones web, permite centrarte en el desarrollo sin preocuparte por la administración de infraestructura.
    • Cloud Run: Permite ejecutar contenedores de manera serverless. No requiere la configuración de software preliminar.
    • Cloud Functions: Se enfoca solo en la lógica del código, sin preocuparse por contenedores o dependencias del sistema operativo.
    • Firebase: Automiza completamente el backend, permitiendo enfocarte en el frontend de tu aplicación.

Estas opciones permiten a las startups enfocarse en la velocidad, que es un arma poderosa para competir en el mercado.

¿Por qué deberías considerar Kubernetes y tecnologías serverless?

El uso de tecnologías como Kubernetes y las opciones de serverless en GCP presentan diversas ventajas que pueden ser decisivas para el éxito de un proyecto, especialmente para startups o desarrolladores independientes:

  • Kubernetes Engine:

    • Facilita el uso de contenedores para crear aplicaciones escalables.
    • Permite que el tráfico de los usuarios se enrute al data center más cercano, asegurando una respuesta ágil.
    • La elasticidad es clave, ya que los contenedores pueden escalar según la demanda o reducirse cuando la carga disminuye.
  • Serverless:

    • Asegura la autoescalabilidad, lo que previene que el sistema colapse por su propio éxito.
    • Ofrece administración completa, liberándote de gestionar infraestructura.
    • Facilita la rapidez de llegar al mercado, esencial para nuevas empresas.

La elección de usar Kubernetes con su capacidad de gestionar contenedores o elegir serverless con su enfoque en el desarrollo y rapidez, dependerá de las necesidades específicas de cada proyecto.

¿Cómo se utilizan estas tecnologías para desplegar aplicaciones globalmente?

Desplegar aplicaciones a escala global puede parecer un desafío monumental, pero con las herramientas y plataformas adecuadas, este proceso se simplifica:

  1. Desarrollo del Contenedor:

    • Se comienza desarrollando y probando el contenedor localmente.
    • Utiliza herramientas como VIM o VSCode para facilitar esta etapa.
  2. Despliegue con Kubernetes:

    • Una vez preparado, el contenedor se envía a Google.
    • Se despliega en data centers estratégicamente ubicados alrededor del mundo.
    • El tráfico se enruta al data center más cercano, optimizando la eficiencia.
  3. Actualizaciones Dinámicas:

    • Las actualizaciones pueden integrarse sin necesidad de tiempos de inactividad.
    • Kubernetes gestiona y repara automáticamente los nodos, manteniendo la aplicación en ejecución constante.

Gracias a estos sistemas, escribir un servicio localmente y operarlo de manera global es un proceso más simplificado. Estos servicios nos permiten, sin necesidad de adentrarnos en el código, gestionar y asegurar el funcionamiento de las aplicaciones.