Todas las claves sobre la infraestructura Google Cloud Platform

Índice de contenidos

Google Cloud Platform (GCP) tiene una oferta de servicios extensa, desde almacenamiento hasta procesamiento de datos. Con tantos servicios, que puede ser confuso comprender lo que Google ofrece con cada uno y en qué se diferencian. Esto es especialmente cierto para los servicios Compute del GCP. Si tienes dudas sobre la diferencia entre Compute Engine y Cloud Run, este artículo es para ti.

Empezaremos por el siguiente diagrama:

Los servicios de computación de GCP se pueden ordenar de menor a mayor abstracción

La abstracción es la virtualización de recursos de un ordenador. De esta forma, un solo ordenador puede comportarse como varios. Estos ordenadores, conocidos como máquinas virtuales, son un entorno virtual que dispone de su propio CPU, memoria, disco duro, etc.

Mientras más abstracto sea un servicio, más simplificado será para el usuario, pero el usuario también tendrá menos control sobre sus aplicaciones.

Servicios Cloud

Antes de entrar en los diferentes servicios de GCP, es importante entender los términos IaaS, PaaS, etc. Estos términos indican el servicio que Google está ofreciendo (as a Service).

Es clave entender que dependiendo del nivel del servicio, tendrá más/menos funcionalidades y características.

Por ejemplo, Infrastructure as a Service (IaaS) es el nivel más bajo que se puede proveer, e implica dar al usuario las herramientas para crear su infraestructura desde cero. Los servicios IaaS dan acceso a la modificación total de las máquinas virtuales.

En cambio, Software as a Service (SaaS) está diseñado para el usuario final, proporciona una aplicación en concreto y no permite mucha modificación.

Compute Engine              

Compute Engine es la oferta de IaaS de Google. 

Es un servicio de computación personalizable con el que puedes crear y ejecutar máquinas virtuales en Google Cloud. Permite la modificación de todos los componentes y los detalles de la máquina, por lo tanto se puede ver como tener un ordenador propio en la nube.

También tiene máquinas predeterminadas con diferentes niveles de poder de computación (E2, N2, M2), lo cual facilita la elección de los recursos deseados.

Los casos de uso de Compute Engine son los mismos que los de un ordenador físico. Desde microservicios y entornos virtuales hasta servidores y aprendizaje automático.

Contenedores

Para entender el resto de servicios, debemos contestar a una pregunta: ¿Qué es un contenedor?

Un contenedor es una unidad estandarizada de software que empaqueta código y sus dependencias para que una aplicación se ejecute en cualquier entorno de forma segura y veloz.

Se puede entender un contenedor como un nivel de abstracción más avanzada que una máquina virtual, ya que los contenedores son virtualizaciones que abstraen el sistema operativo sin necesidad de abstraer el hardware ni el kernel. Esto los hace mucho más rápidos, compactos y portátiles que una máquina virtual. Estas características también hacen que los contenedores sean mucho más baratos que las máquinas virtuales, rebajando costes para los servicios GCP que los utilizan.

Los contenedores permiten la modularización de aplicaciones. Por ejemplo, una máquina virtual puede ejecutar dos contenedores, uno para el front end y otro para el back end de una página web.

El programa más popular para la creación de contenedores es Docker.  Docker es un kit de herramientas que facilita la implementación, ejecución y actualización de contenedores.

Docker Free Icon of Aegis

Kubernetes Engine

Kubernetes es una plataforma de código abierto que automatiza operaciones de contenedores Docker. Es la solución Containers as a Service (CaaS) de Google Cloud Platform.

Es una herramienta de orquestación de contenedores que elimina muchos de los procesos manuales de despliegue y escalado de aplicaciones en contenedores y facilita su manejo eficiente. Automatiza la creación de contenedores cuando hay peticiones y los sustituye en caso de error.

Kubernetes está diseñado principalmente para aplicaciones de tráfico masivo. Aplicaciones que requieren docenas de máquinas virtuales y miles de contenedores para poder atender todas las peticiones de los usuarios.

Cloud Run

Cloud Run es otra solución CaaS de Google que permite la creación y ejecución de contenedores sin estado, invocables a través de solicitudes web.

Es una plataforma sin servidores, así que elimina la complejidad de la administración de una infraestructura. Esto convierte Cloud Run en una abstracción de Kubernetes. El usuario crea contenedores y deja la administración de los recursos a Google. Los contenedores son fácilmente desplegables y autoescalables sin configuración adicional.

Cómo implementar automáticamente una aplicación en Google Cloud Run

Cloud Run es utilizado principalmente para la creación de APIs REST y generación programada de documentos.

App Engine

Es un servicio Platform as a Service (PaaS) que sirve para desarrollar y alojar aplicaciones web en centros de datos gestionados por Google. Este servicio abstrae los contenedores y máquinas virtuales para el usuario, habilitando de esta forma una plataforma preconfigurada a la que el usuario puede subir su código.

App Engine automatiza el balanceo de carga, configuración de hardware, control de versiones y escalado de contenedores dependiendo de la demanda de tráfico y almacenamiento. El usuario simplemente entrega el código necesario para ejecutar su aplicación y Google se encarga del resto. Es la mejor opción para desarrolladores y empresas que no están interesados en la personalización de la infraestructura de su aplicación.

Desarrollo de Aplicaciones en Cloud con Google App Engine | Cursos Cloud  Incubator

Se utiliza como plataforma para páginas webs, especialmente cuando el tráfico de una aplicación es impredecible.

Cloud Functions

Es un servicio Functions as a Service (FaaS), la opción más abstracta de computación de GCP. 

Las Cloud Functions son un entorno de ejecución sin servidor que sirve para compilar código y comunicar diferentes servicios de GCP. Permite programar funciones simples (en JavaScript, Python, Java o GO) de un solo propósito, sin necesidad de aprovisionar ninguna infraestructura.

Servicios de Google Cloud para Big Data - Blog de Hiberus Tecnología

Son principalmente utilizadas para crear lanzadores y eventos para los servicios GCP. Por ejemplo, sirven para encender instancias de Compute Engine a una hora deseada, o actualizar/eliminar datos de Google Cloud Storage.

Conclusión

Tras ver en detalle todas las opciones que ofrece el Google Cloud Platform, podemos ver que hay un servicio para cualquier tipo de cliente. 

Desde el desarrollador con ganas de personalizar su infraestructura detalladamente, a la empresa con prisa por lanzar su última aplicación, los niveles de abstracción permiten la creación de productos eficientes con menos conocimientos técnicos.

Con todas estas herramientas, solo falta experimentar y encontrar la que mejor se adapte a nuestras necesidades.

Share on facebook
Share on twitter
Share on linkedin
Share on email
4 min
Suscríbete a nuestra newsletter

Los mejores artículos de analítica digital para potenciar tu negocio.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Entradas relacionadas

Innodata Barcelona Congreso de Big Data y Analytics

Asistimos a Innodata, Congreso de Big Data & Analytics, donde nos han puesto al día en técnicas de aprendizaje automático y sus aplicaciones, así como herramientas para el tratamiento de grandes volúmenes de datos.

3 minutos

Dificultad

¡Hola TensorFlow!

TensorFlow es una de las herramientas más potentes qué conocemos enfocadas al machine learning.

3 minutos

Dificultad

BigQuery ML: machine learning desde BigQuery

Hace unos meses Google anunció una nueva funcionalidad de Google BigQuery llamada BigQuery ML, la cual está actualmente en Beta. Consiste en un conjunto de extensiones del lenguaje SQL que permiten crear modelos de aprendizaje automático (machine learning, en inglés), evaluar su capacidad predictiva y hacer predicciones para nuevos datos directamente desde dentro de BigQuery.

¿Qué es Google Cloud Platform?

Este post forma parte de un seguido de posts relacionados con la Google Cloud Platform. Al ser el primero, vamos a introducir los diferentes productos y servicios que integra la plataforma para tener una idea de su potencial y versatilidad. Introducción Gooogle Cloud Platform, es una suite que contiene diversos servicios que funcionan en la

Ir arriba

Esta web utiliza ‘cookies’ de terceros. Al clicar aceptar está aceptando el uso que realizamos de las cookies. Para más información puede consultar nuestra Política de cookies