Proveedor Servidor

El proveedor de la plataforma es aquel que nos brinda la infraestructura y los servicios adicionales necesarios para cumplir con el objetivo del bloque. Dado que es el proveedor de la infraestructura, está sometido a las mismas restricciones que el bloque.

Restricciones

 * Recepción en "tiempo real" y de forma concurrente.
 * Gran cantidad de información (almacenada, de entrada y de salida).

Criterios

 * Velocidad de respuesta a solicitudes
 * Disponibilidad de la información
 * Estandarización de escritura/lectura de datos (API)
 * Costo

Tipos de Plataformas
Los proveedores de plataformas se pueden clasificar de acuerdo al nivel de abstracción que ofrecen sobre la misma.

DIY/Alquiler
Consiste en la compra o alquiler de los equipos, y la construcción de toda la plataforma desde el hardware, instalación, mantenimiento del hardware y del software.

Decisión Tipo de Plataforma
Decidimos usar una PaaS, dado que nos brinda un mayor nivel de abstracción permitiéndonos concentrarnos en el desarrollo de la base de datos y las APIs. Además de garantizarnos la flexibilidad y disponibilidad del servicio requeridos por el proyecto.

Proveedores
Además de definir el tipo de plataforma a utilizar, también necesitamos definir con quién se va a tomar el servicio. Para este fin analizamos 2 de los proveedores más reconocidos del tipo de plataforma escogida (PaaS).

Heroku

 * Clientes
 * Ninguno grande o reconocido
 * Lenguajes de programación:
 * Java
 * Python
 * NodeJS
 * Ruby
 * Clojure
 * Scala
 * Servicios adicionales:
 * Memcache
 * MongoDB
 * Hadoop
 * Etc
 * Costos (Precios en dolares:
 * Instancia 0.05 $/hora-instancia (1 instancia gratis)
 * Base de datos PostgreSQL 9 $/10M rows
 * Base de datos MongoDB 15 $/2GB (512 MB gratis)
 * Memcache 15 $/100MB-mes (25MB/mes gratis)
 * Email 9.95 $/40k emails-mes (6k emails/mes gratis)
 * Capa gratis no requiere tarjeta de crédito

Google App Engine

 * Clientes
 * Snapchat
 * Rovio (Angry Birds)
 * Best Buy
 * Google (Monta sus servicios sobre la misma infraestructura)
 * Lenguajes de programación
 * Java
 * Python
 * PHP
 * Go
 * Servicios Adicionales
 * Memcache
 * Email
 * Cloud Endpoints
 * Etc
 * Costos (Precios en dólares)
 * Instancia 0.08 $/hora-instancia (28 hora-instancia gratis al dia)
 * Base de datos Big Table 0.18 $/GB (1GB gratis)
 * Ancho de banda saliente 0.12 $/GB (1GB gratis al dia)
 * Solicitudes de lectura/escritura: 0.09 $/100k operaciones (50k operaciones gratis al dia)
 * Capa de uso gratuito sin tarjeta de crédito

Decisión Proveedor
Se decidió usar Google App Engine como proveedor de la PaaS que vamos a utilizar para el proyecto debido a que tiene menores costos, una capa de uso gratuita más grande, una base de datos distribuída y diseñada específicamente para Big Data, cuenta con facilidades para programar una API que se conecte a Android, iOS o Web.