¿Qué tecnologías elegirás para implementar el backend para una aplicación web escalable hoy?

Usaría AngularJS o Ember.js en el front-end, que consumirá puntos finales API (middleware). Elegiría uno de estos porque están listos para la producción y están bien respaldados. Los desplegaría usando una aplicación simple que sirve la página HTML inicial desde donde se inicia el Javascript.

Para el middleware, usaría Python o Go. Tengo mucha experiencia escribiendo API en Python, así que me siento más cómodo con él. También estoy familiarizado con Go, que tiene un gran modelo de simultaneidad para la escalabilidad, pero pierde muchas cosas buenas sobre la programación orientada a objetos, por lo que determinaría la mejor herramienta para eso. Es probable que los ejecute en contenedores Docker para escalar fácilmente agregando / eliminando contenedores según sea necesario para los niveles de tráfico.

Es probable que mi middleware consuma una capa API adicional (back-end) que lee y escribe en una o más bases de datos. Este servicio sería lo suficientemente inteligente como para saber que las operaciones de escritura deben ir a una base de datos maestra y que la mayoría de las operaciones de lectura podrían realizarse desde una base de datos esclava de solo lectura, suponiendo que fuera una base de datos relacional. Si se tratara de una base de datos noSQL, imagino que este servicio necesitaría conocer todos los hosts en ese clúster y consultarlos adecuadamente. También desplegaría este servicio en contenedores Docker para poder agregar más capacidad según sea necesario. Es probable que también los escriba en Go o Python por concurrencia y familiaridad.

Es probable que los sistemas de bases de datos se ejecuten en algo muy cercano al “metal desnudo” en los servidores, tan optimizado como sea posible (y tan práctico).

Prefiero usar Scala para la aplicación de fondo escalable, porque es más confiable que nodejs. CMIIW

More Interesting

¿Qué tan difícil es pasar de ser un desarrollador front-end a back end?

¿Por qué la mayoría de los CTOs o VPs de desarrolladores de back-end de ingeniería pueden un desarrollador de front-end asumir un papel de liderazgo en una empresa tecnológica?

Cómo conectar los puntos entre tutoriales de programación y aplicaciones de la vida real

¿Cuáles son las diferencias entre hacer solicitudes HTTP desde el frontend frente al backend?

¿Qué idioma tiene un futuro más prometedor (Elixir, Golang o JavaScript del lado del servidor)?

Soy un desarrollador de PHP con muchos años de experiencia, principalmente en Back End Development. Quiero aprender cosas nuevas, algo requerido en el mercado que paga bien. ¿Qué debo esperar?

Mi amigo dijo que las habilidades de front-end están cambiando demasiado rápido y pierden tiempo para aprender, él me sugiere que me concentre en el backend, ¿qué te parece?

Como novato total en el desarrollo web backend, ¿debería aprender PHP y MySQL o debería aprovechar mi conocimiento de Javascript y usar Javascript node.js en el backend para interactuar con la base de datos MySQL?

¿La programación de backend es mejor que la de frontend?

¿Cuál es el mejor backend para mi sitio web para almacenar nombres de usuario, contraseñas y envíos de formularios?

¿Cuáles son algunos lenguajes de programación de back-end que se requieren para construir una aplicación híbrida?

Cómo conectar mi aplicación con un servidor MySQL back-end con C # en Android Studio

¿Debo continuar con JavaScript o saltar a Python?

¿Cuál es el mejor camino para convertirse en un desarrollador experto de back-end?

¿Spring es un back-end seguro y Node.js como mensaje de lectura / escritura de una arquitectura robusta?