¿Cuál es la arquitectura de implementación ideal del entorno de producción durante la etapa beta?

Todos los proveedores que mencionó son excelentes, pero no es realmente una elección de proveedor que tendrá el mayor impacto en su negocio a medida que escala.

Lo importante es que haga que su código sea lo más modular posible, especialmente mientras aún no haya alcanzado el hipercrecimiento. Será casi imposible determinar cuál de sus sistemas será víctima del crecimiento, ya sea su base de datos, caché, código de fondo, etc.

Es por eso que es mejor dividirlos en servicios lo antes posible e implementarlos en un sistema distribuido que permita que cada uno de ellos falle individualmente, con suerte sin desmantelar su producto. Pero incluso si elimina su producto, podrá reparar el servicio específico que se bloqueó de forma independiente.

Una buena regla general es hacer lo siguiente:

  1. Ejecute su base de datos en un servidor separado
  2. Ejecute su servidor de aplicaciones en un servidor separado, preferiblemente dos, de modo que agregar un tercero o un cuarto se vuelva trivial
  3. Servidor de caché separado
  4. Ejecute sus elementos estáticos fuera de todo esto
  5. Arquitecto en un enfoque orientado al servicio

A continuación, tendrá el mayor impacto en su capacidad para escalar su negocio, independientemente del proveedor que elija.