La plataforma de la nube de Google (GCP) se puede dividir en 6 categorías principales de servicios:

  • Compute (capacidades computacionales)
  • Storage (almacenamiento)
  • Networking (redes y balanceo)
  • StackDriver (operaciones y monitoreo)
  • Tools (herramientas auxiliares)
  • Big Data (trabajo con grandes volúmenes de datos)

Cada categoría contiene varias utilidades, veamos las funciones y ventajas de cada una de ellas.

 

App Engine (GAE).

Es la opción PaaS de GCP. Consiste en un servidor de aplicaciones con abstracción total de la infraestructura por debajo.

app engine overview.PNG

Se usa para desplegar aplicaciones y delegar las tareas de operaciones e infraestructura a la plataforma. Ideal si es más importante la velocidad de desarrollo que el control sobre el ambiente y cuando la carga de trabajo de las aplicaciones es impredecible. Los principales casos de uso son: construir sitios webs, back-ends de aplicaciones móviles y de juegos, RESTful APIs, aplicaciones IoT, etc.

Posee una amplia gama de servidores de aplicaciones con gran estabilidad, configuraciones optimizadas y posibilidad de customización. El usuario solo tiene que proveer el código fuente y GAE se encarga de crear y configurar el resto, ej: base de datos, balanceador de carga, cache, trazas, jobs, buscador, chequeos de sanidad, autenticación, etc.

Provee un SDK para ambientes de desarrollo locales y servicios manejados.

Permite distribución de tráfico, versionamiento de las aplicaciones con cero indisponibilidad y opciones de auto-escalamiento integrados.

Se puede seleccionar entre dos tipos de ambientes:

  • Estándar: Las aplicaciones se ejecutan en un sandbox de Google Cloud pre-configurado con Python 2.7, Java, Go, PHP, Ruby y Node.js. No permite customizaciones.
  • Flexible: Las instancias de la aplicación se van a ejecutar en unos contenedores de Docker desplegados en GCE. Permite otras opciones de lenguajes como .NET, Python3.x, Java 8, etc. Esta variante si permite personalizaciones del ambiente a través de un Dockerfile.

gae standar vs flexible

 

Compute Engine (GCE).

Es la opción IaaS. Permite crear, configurar y administrar máquinas virtuales.

compute engine overview.png

Es ideal para trabajos que requieran de un sistema operativo específico y control absoluto de la infraestructura, acceso a hardware de alto rendimiento, migración de aplicaciones locales a la nube y hospedar stacks de sitios web, por ejemplo, se puede publicar un sitio web WordPress con el asistente Cloud Louncher en menos de 5 minutos.

Se pueden construir desde máquinas virtuales con capacidad de red y opciones de almacenamiento y procesamiento ultra rápidos hasta máquinas virtuales preferenciales (preemtible) de bajo costo y corta vida para ejecutar procesos en lotes poco importantes y tareas tolerantes a fallos.
Una máquina virtual preferencial puede ser eliminada por GCP en cualquier momento luego de 30 segundos de notificación, por lo que se recomienda contar con un script de shutdown y solo utilizarla para operaciones que puedan ser pausadas y reanudadas en otro momento.

Permite realizar balanceo de carga y auto escalabilidad horizontal entre máquinas virtuales homogéneas mediante la creación de grupos de instancias y un template de inicio.

En cuanto a las opciones de hardware se ofrece 3 tipos de pre-cofiguraciones: estandar, más CPU y más memoria. También se pueden hacer configuraciones personalizadas.

compute options.PNG

También se ofrecen las opciones de adjuntar un GPU para acelerar trabajos específicos que requieran tratamiento gráfico y de agregar un disco de tipo SSD local RAM para trabajos con intenso uso de escritura y lectura en disco y mínima latencia relacionada con los datos almacenados.

disk options.PNG

Se puede seleccionar entra una gran diversidad de sistemas operativos y versiones. Por ejemplo:

  • Debian
  • Ubuntu
  • Centos
  • Suse
  • RedHat
  • Windows

Cada maquina virtual cuenta con una dirección IP interna por defecto y se le puede asignar otras IP internas secundarias del rango de la subred donde se encuentre ubicada. Las IP pueden ser estáticas o efímeras, lo que significa que puede cambiar cada 24 horas o al reiniciar la máquina. Las direcciones IP externas deben ser asignadas manualmente y también pueden ser efímeras o estáticas.

 

Kubernetes Engine (GKE).

Es un orquestador de contenedores, opción híbrida entre PasS e IaaS.

kubernetes engine overview.jpg

Brinda todas las ventajas que implican tener las aplicaciones en containers, por lo tanto, permite incrementar el tiempo de puesta en producción y disminuir los esfuerzos de operaciones drásticamente. Es muy útil cuando las aplicaciones o servicios a desplegar pueden ser contenerizados fácilmente, para aplicaciones nativas de la nube y arquitecturas de microservicios.

Que sea un orquestador de contenedores no elimina la posibilidad de tener acceso a almacenamiento persistente y a recursos de alto rendimiento mediante aceleradores de harwdare.

Se integra facilmeten con Istio y es un pilar fundamental en la opción de nube híbrida que ofrece Google, sobretodo con el último acuerdo logrado con Cisco.google-cisco-partnership.png

Goza de las ventajas de GCP de alta disponibilidad, de Google Site SRE y provee un eficiente sistema de auto-escalamiento y replicación.

 

Cloud Functions.

Es la variante serverless de GCP, considerada como una arquitectura de microservicios.

cloud functions.PNG

Posee la ventaja que trae consigo el tipo de ambiente serverless. Las aplicaciones desplegadas en este ambiente solo se activan cuando se dispara algún evento específico y pueden orquestar con suma facilidad otros servicios de la plataforma, tratando estos mismo como bloques de construcción (building blocks).

Se escriben usando javascript y se ejecutan en un servidor de nodeJS.

Es ideal para aplicaciones de procesamiento de datos: carga de ficheros, análisis de flujos (streaming), procesos ETL, backEnd de móviles e IoT que no requieran estar activas 100% del tiempo. Y especialmente para aplicaciones inteligentes: asistentes virtuales, chatbots y análisis de image/video.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

%d