En el ámbito de los proveedores de cloud pública, Amazon Web Services va destacado en cabeza de carrera desde hace unos años. Pero otros competidores, como Microsoft Azure o Google Cloud Platform, no se rinden y continúan luchando para recortar la distancia existente en clientes e ingresos.

En este post vamos a examinar a los dos contrincantes principales en el espacio de cloud pública: AWS y GCP. Veremos qué soluciones de procesamiento y almacenamiento nos aporta cada uno.

cloudvsaws

Procesamiento

Esto es lo primero que pensamos cuando queremos migrar nuestro datacenter a la nube: en nuestras necesidades para procesar datos y calcular. Si necesitamos mayor capacidad de procesamiento para renderizado de gráficos, para análisis de datos o para cualquier otra tarea específica, lo podemos alcanzar en la nube.

Ambos proveedores nos aportan soluciones para cualquier tipo de necesidad que tengamos y estructuran su oferta de una forma muy pareja. Existen diferencias en la manera de facturar, Amazon lo hace por horas, mientras que Google lo hace por minutos y, además, ofrece descuentos por uso continuado. Por esto, aunque ambos tienen un rendimiento similar, Google es, a día de hoy, la opción más económica.

IaaS

Si queremos disponer de instancias cloud, Elastic Compute Cloud (EC2) es el representante de Amazon en esta categoría y Compute Engine es el de Google.

La categorización de las instancias que hace Google es bastante simple, tienen instancias normales e instancias preemptible. La diferencia es que las preemptible son mucho más baratas porque no están reservadas para nuestro uso, como máximo podemos usarlas durante 24 horas y, si por necesidades de carga fueran necesarias, Google nos las podría quitar antes.

iaas

Amazon ofrece más formas de contratar las instancias. Podemos utilizar instancias bajo demanda, pagando sólo por la capacidad de computación que utilicemos, lo que nos permite incrementar y decrementar las instancias a utilizar en función de las necesidades.

Existen instancias reservadas que salen mucho más baratas si nos comprometemos por 1 o 3 años. Hay instancias spot, que son instancias infrautilizadas que salen a subasta y por las que se puede pujar para usarlas por horas. E incluso se pueden contratar hosts dedicados si queremos contar con un servidor EC2 físicamente dedicado para nuestro uso (disponibles bajo demanda o en reserva).

PaaS

Existe también la posibilidad de utilizar un PaaS para desplegar aplicaciones web o móviles directamente, podríamos utilizar AWS Elastic Beanstalk y Google App Engine.

Beanstalk posiblemente no será el servicio más conocido ni el más utilizado de AWS, pero permite el uso de un conjunto de lenguajes muy amplio: Java, .NET, PHP, Node.js, Python, Ruby, Go.

paas

App Engine, por su parte, está disponible en dos sabores. El estándar, con unos stacks tecnológicos muy limitados (Python 2.7, Java 7, PHP, Go) pero cuyas instancias arrancan a gran velocidad. Y el reciente App Engine Flexible Environment, cuyas instancias no están tan optimizadas y arrancan en tiempos del orden de una instancia normal, pero que permiten utilizar unos stacks más abiertos (Python 2.7/3.4, Java 8, Go, Node.js, Ruby, PHP y otros).

El uso del entorno flexible se ha popularizado mucho últimamente y Google está haciendo esfuerzos por mejorarlo haciéndolo más rápido y añadiendo nuevas opciones.

Contenedores

En caso de querer desplegar nuestro software en contenedores Docker, también podríamos utilizar EC2 Container Service (ECS) y Container Engine. La principal diferencia entre ambos servicios es que el de Google utiliza Kubernetes. Ambas plataformas disponen de servicios para alojar nuestros registros de imágenes Docker: EC2 Container Registry (ECR) y Container Registry.

contenedores

Serverless

Si no necesitáramos nada de lo anterior y únicamente quisiéramos un sitio donde ejecutar nuestro código, podríamos optar por una arquitectura serverless utilizando AWS Lambda y Cloud Functions.

serverless

Cloud Functions todavía no está disponible de manera general, está en su versión Alfa. Lambda está bastante más avanzado, le saca un tiempo de ventaja y, además de Node.js, permite utilizar Java y Python. Y actualmente ofrece un millón de peticiones gratuitas cada mes para clientes nuevos y existentes ( esta promoción no está ligada a la capa gratuita de AWS).

Almacenamiento

Otro pilar fundamental de los servicios cloud es el almacenamiento. En la nube tenemos la misma facilidad para almacenar unos pocos Gigas que unos cuantos Petabytes.

Existen diferentes soluciones de almacenamiento en función de qué queramos almacenar y la disponibilidad, la durabilidad y el rendimiento que deseemos para dicha información.

Para el almacenamiento de objetos, Amazon pone a nuestra disposición Simple Storage Service (S3). Por su parte Google tiene Cloud Storage Standard. En esta categoría Google ofrece precios sensiblemente inferiores.

EBS en Amazon y Persistent Disk en Google se ofrecen para almacenamiento de bloques. En este tipo de almacenamiento es difícil realizar una comparativa de precios, habría que realizarla en el producto final que se vaya a contratar, algunos son más baratos en Amazon y otros en Google.

Para archivado y backup, cuando queremos almacenar datos que no vamos a acceder frecuentemente y queremos hacerlo a un bajo coste soportando velocidades de acceso más bajas, tenemos los servicios de Amazon Elastic File System (EFS), Amazon Glacier y Google Cloud Storage Nearline. En este segmento, es Amazon quien tiene mejores precios.

almacenamiento

Ambos proveedores tienen servicios para importar y exportar datos entre dispositivos de almacenamiento on-premise y su almacenamiento cloud, Amazon Storage Gateway y Cloud Storage Transfer Service.

Además podemos utilizar servicios como Amazon Import/Export y Offline Media Import/Export, en los que recogen los datos de los clientes en soporte físico y los llevan a sus datacenters o viceversa.

Este servicio resulta muy útil si por determinado motivo hubiera que utilizar discos o cintas magnéticas como soporte, o si fuera necesario importar/exportar una cantidad de datos ingente cuya transferencia por red llevara mucho tiempo.

En el caso del servicio de Google está provisto por terceros que serán los encargados de transportar los datos y transferirlos al almacenamiento en GCP.

Nuevo llamado a la acción

Cuéntanos qué te parece.

Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.

Suscríbete

Estamos comprometidos.

Tecnología, personas e impacto positivo.