lunes, 10 de julio de 2017

Elección de la mejor opción en Google Cloud [GCP]


La elección dentro de Google Cloud.

Cuando inicia un nuevo proyecto en Google Cloud Platform (GCP), una de las primeras decisiones que se tiene que tomar es qué servicio de cloud utilizar: Google Compute Engine, Google Container Engine, Google App Engine o Google Cloud Functions y Firebase.

GCP ofrece una gama de servicios de computación que van desde dar a los usuarios un control total (es decir, Compute Engine) hasta altamente abstraído (es decir, Firebase y Cloud Functions), permitiendo que Google cuide cada vez se encarge de  la gestión y las operaciones y entorno.

Si está acostumbrado a administrar VMs y desea una experiencia similar en el cloud, elija Compute Engine. Si utiliza contenedores y Kubernetes, puede abstraer algunos de los gastos generales de administración necesarios mediante el uso de Container Engine.

Si desea centrarse en su código y olvidarse de la infraestructura por completo, utilice App Engine.

Por último, si desea centrarse exclusivamente en el código y crear microservices para entregar API endpoints para sus aplicaciones, utilice Firebase y cloud Functions.

A lo largo de los años, nos han indicado que esta forma de seleccionar los sevicios que quermos del Cloud funciona, pero puede no ser la mejor formula y convertir en un reto si lo hace de este modo.

En Google se ha recopilado comentarios e información  y le proponemos otra forma de elegir sus opciones de cloud usando un conjunto de preguntas basado en restricciones. (Hay que indicar que estamos considerando aspectos muy pequeños de su proyecto.)

1. ¿Está construyendo una aplicación móvil o HTML que el uso de backend sea muy basico?
Si está construyendo un cliente pesado  que sólo se usa el un backend para sincronización y / o almacenamiento, Firebase es una gran opción . Firebase le permite almacenar documentos complejos NoSQL (o objetos si es así como piensa en ellos) y archivos usando una API y un cliente muy fácil de usar para iOS, Android y Javascript. También hay una API REST para acceder desde otras plataformas.

2. ¿Está construyendo un sistema basado más en eventos que en la interacción del usuario? En otras palabras, ¿está creando una aplicación que responde a los archivos cargados o tal vez a otras aplicaciones?
 ¿Está buscando soluciones "sin servidor" o "Funciones como servicio"? No busque más que Cloud Functions. Cloud Functions le permite escribir funciones Javascript que se ejecutan en Node.js y que pueden llamar a cualquiera de nuestras APIs, incluyendo Cloud Vision, Translate, Cloud Storage o más de otras 100. Con Cloud Functions, puede crear funciones individuales complejas que se exponen como microservicios para aprovechar todos los servicios sin tener que mantener los sistemas y juntarlos todos.

3. ¿Su solución ya existe en algún otro lugar? ¿Incluye software con licencia? ¿Requiere algo más que HTTP / S? 
Si respondió "no", App Engine es lo que tienes que  mirar. App Engine es una solución sin servidor que ejecuta el código en la infraestructura y le cobra sólo por lo que usa. Lo escalamos hacia arriba o hacia abajo para usted dependiendo de la demanda. Además, App Engine tiene acceso a todos los SDK de Google disponibles para que puedas aprovechar el ecosistema completo de Google Cloud.

4. ¿Está buscando construir un sistema basado en contenedores basado en Kubernetes?
Si ya está utilizando Kubernetes en GCP, deberas usar Container Engine.
 Container Engine reduce la construcción de un cloud de soluciones Kubernetes a un solo clic. Además, auto-escalas Kubernetes y miembros del clúster, lo que le permite construir soluciones basadas en  Kubernetes que crecen y basados en los  contrato en la demanda.

5. ¿Está montando sistemas completos? ¿Está buscando utilizar en su solución  GPUs ?¿Está construyendo una solución basada en contenedores que no sea Kubernetes? ¿Está migrando una solución on-prem existente al Cloud? ¿Está usando software con licencia? ¿Está utilizando protocolos distintos de HTTP / S?
¿No ha encontrado otra solución para satisfacer sus necesidades? Si respondió "sí" a cualquiera de estas preguntas, es probable que necesite ejecutar su solución en máquinas virtuales en Compute Engine. Compute Engine es nuestro producto de computación más flexible y le permite tener la mayor libertad para configurar y administrar sus máquinas virtuales como quiera.

Reúna todas estas preguntas y obtendrá el siguiente diagrama de flujo:


Este no es un árbol de decisiones completo, y cada uno de los productos soporta una gama más amplia de casos de uso que los presentados aquí. Pero esto debe ser una buen sitio para empezar.

Para obtener más información acerca de las soluciones de computación, consulta la sección de Informática de Google Cloud Platform y pruébala hoy mismo con $ 300 en créditos gratuitos cuando te registras.

Disfruta con el Cloud.