Su pregunta se responde a sí misma: “Demasiado preocupado” implica más de lo que debería ser.
¿Debería estar preocupado por la escala? Hay algunas personas que dirán que no. Y hay algunas circunstancias en las que estaría de acuerdo.
Diría que depende del dominio y de qué etapa de MVP estás hablando.
- ¿Para qué se utiliza Google App Engine?
- ¿Cuáles son los mejores servicios de desarrollo de aplicaciones móviles?
- ¿Cuánto tiempo llevará tener una aplicación móvil para el negocio?
- ¿Cuánto tiempo sobrevivirán los sitios web de escritorio teniendo en cuenta que todo está cambiando hacia la aplicación móvil?
- ¿Dónde debo ir para obtener una aplicación iOS de calidad construida a un buen precio?
En al menos una descripción de un MVP que he leído, realmente enfatizan el M: el producto mínimo absoluto para el cliente, con un backend profundamente no escalable. Por ejemplo, un nuevo sitio web de venta de libros donde cada “compra” genera un correo electrónico que hace que alguien corra a una librería, compre el libro y lo deje en el correo.
Ese tipo de MVP es útil para evaluar el mercado. Si se vuelve más popular de lo que puede soportar, entonces crea una versión de lanzamiento.
Pero si está trabajando con alguien que realmente está hablando de un lanzamiento alfa de la aplicación, con características mínimas pero un backend completo, y hablan de ampliarlo durante los pocos meses posteriores al lanzamiento, entonces planear escalar el diseño es defensa personal simple
La mejor manera de lograr un compromiso es simplemente usar una pila que pueda escalar. NodeJS es una gran opción, aunque si conoce Rails y sabe cómo, probablemente pueda escalarlo lo suficientemente bien.
Pero las otras capas son probablemente el desafío más grande: cualquier base de datos o capa de mensajería es donde encontrarás cuellos de botella a medida que las cosas crecen.
Solo use una base de datos ACID como Postgres si necesita una. Pista: probablemente no lo hagas. Pero es posible que desee utilizar un esquema informal de todos modos.
MongoDB es un estándar en estos días para una base de datos NoSQL escalable, pero tiene problemas conocidos con consistencia; RethinkDB no es tan rápido, pero se puede hacer consistente incluso cuando se distribuye en docenas de servidores, y tiene una increíble supervisión de cambios en tiempo real. Redis es ideal para comportamientos similares a la caché o para falsificar una cola de mensajes. ZeroMQ es excelente por ser una simple cola de mensajes. Todo lo anterior es realmente fácil de conectar bajo NodeJS, y debería estar bajo Rails.
Nginx es excelente para equilibrar la carga, el proxy y ser su servidor de aplicaciones.
Si utiliza todas estas herramientas juntas en una configuración óptima, entonces no debería tener que preocuparse por el escalado. Si choca con los cuellos de botella de rendimiento, entonces solo es cuestión de perfilar.
Buena suerte.
EDITAR: También puede leer la opinión de Paul Graham en Do Things that Don’t Scale.