¿Cuáles son las ventajas y desventajas de utilizar Google App Engine y Heroku en este momento?

No puedo darte ninguna respuesta sobre Heroku, sino solo sobre GAE.

En el último inicio en el que trabajé durante los últimos tres años, utilizamos Google App Engine ampliamente. Como servicio es genial.

  • No tiene que preocuparse por escalar, todo es automático
  • El almacén de datos es bastante potente y rápido para una base de datos noSQL (búsqueda por múltiples índices …)
  • Puede utilizar una variedad de otros servicios de Google con un mínimo esfuerzo de integración (Big data, almacenamiento de archivos en la nube, envío de correos …)
  • Implementar y cambiar a una nueva versión es fácil.
  • Puede tener múltiples módulos con múltiples versiones ejecutándose si lo desea.
  • Puede retroceder a versiones anteriores si algo salió mal (si implementa correctamente)
  • Los registros están integrados en el panel de GAE y se pueden buscar
  • Los servicios de cola y cron son parte de GAE

Pero GAE puede morderte:

  • Los costos pueden aumentar, al principio cuando la carga es pequeña (pocas solicitudes por segundo), los costos están bien. Pero por encima de cierto límite pueden volverse bastante significativos.
  • Paga por almacenamiento, carga, número de solicitudes, instancias en ejecución … Todo suma y hay poco que pueda hacer al respecto.
  • Debe vigilar la cantidad de máquinas que se ejecutan en una instancia. Un código incorrecto o una configuración agresiva pueden hacer girar varias máquinas o cientos si no tiene cuidado.
  • Una vez que se haya conformado con GAE, es difícil cambiar a otra arquitectura sin cambios importantes en el código.
  • Con el tiempo, aprenderá los entresijos de GAE y qué se puede hacer y qué no. Pero lleva tiempo, como con cualquier marco. Por ejemplo, las tareas de la cola no pueden ejecutarse más de 10 minutos … por lo que debe dividir las tareas más largas en fragmentos, etc. Hay un montón de conocimientos para aprender a utilizar GAE al máximo.
  • GAE no era compatible con todas las librerías de Java … oye, no era compatible con Java8 (no sé si sigue siendo el caso), y esto significa que debe solucionarlo o escribir sus propias bibliotecas.
  • Sin embargo, Google introdujo sus motores de cómputo que son máquinas independientes. Ahí tienes un poco más de manos abiertas. Sin embargo, cuando lo probamos, no funcionaron a la par con GAE (esto fue hace 2 años … así que las cosas podrían haber cambiado)

Por lo tanto, GAE es excelente si tiene un proyecto más pequeño o un negocio realmente lucrativo.
GAE no es adecuado para startups que pueden generar mucho tráfico, pero no pueden monetizarlo.

Actualmente trabajo en una nueva startup con un par de colegas y hemos excluido a GAE.

Compruébalo en: devscore.co

GAE es justo en cuanto a costos impredecibles. Pero esto significaba que teníamos que:

  • Cree nuestro propio entorno y debemos cuidar nuestros servidores
  • La implementación se realiza actualmente a mano (pero esto puede cambiar cuando nos ponemos al día: Kubernetes, Docker …)
  • Necesitábamos implementar / integrar nuestro propio visor de registros, servicio de cola, cron y servicios de correo
  • Pero nuestros costos son montos fijos cada mes, y calcular costos es fácil y predecible

En un nivel súper alto tienes los mismos pros y contras. En el lado profesional para ambos:

  • PaaS: plataforma como servicio, lo que significa que tiene un mayor nivel de abstracción. Ambos se centran en permitirle centrarse en la creación de su aplicación, frente a toda la infraestructura subyacente.
  • Ambos tienen compañías fuertes detrás de ellos, uno de Google y el otro Heroku es parte de Salesforce.com: la plataforma de éxito del cliente para hacer crecer su negocio
  • Tanto en los alrededores como en el origen del espacio PaaS ayudaron a tantas innovaciones, ya que se han basado en el trabajo preliminar establecido.

En cuanto a las estafas, generalmente caen en el cubo alrededor del control. Si crees que esto es válido o no, es un debate común. Si bien si administra su propio hardware, controla su propio tiempo de actividad, pero es poco probable que por el mismo precio que Heroku o GAE pueda contratar el mismo equipo de operaciones de calidad.

En cuanto a las diferencias entre los dos. Se trata un poco más de si prefieres algo completamente abierto, o las tecnologías de Google.

GAE se adapta para trabajar con gran parte de su stack tecnológico patentado. Esto significa que si está utilizando una base de datos, es probable que sea Bigtable. Por un lado, Bigtable ha demostrado claramente que puede escalar en función del uso de Google, pero también significa que te estás atando a él y migrar significa más que solo ejecutarlo tú mismo. También hay otras peculiaridades en lenguajes específicos como que Google no ejecuta vanilla python y realiza algunos cambios en la biblioteca estándar para que funcione bien en GAE.

Heroku se enfoca en usar lenguajes y tecnologías de código abierto, lo que significa que lo que sea que use en su propio hardware son los mismos idiomas y bibliotecas en ellos. La base de datos que admiten es Postgres, aunque tienen una variedad de otros en su mercado de elementos. En cuanto a los precios, son bastante comparables en las instancias de cómputo, aunque GAE cobra por elementos adicionales como el ancho de banda por encima de una cierta cantidad.