Creo que, en cuanto al flujo de trabajo, hay muchas variables que probablemente no consideres al comienzo de un proyecto de aplicación web.
Puedo mostrarle cómo (en Usersnap) abordamos los proyectos de aplicaciones web desde una perspectiva técnica / de infraestructura:
¿Cómo empezar?
- ¿Cuáles son algunas de las mejores prácticas no conocidas al desarrollar aplicaciones Javascript para la web?
- ¿Esta configuración controlaría el Arduino de forma inalámbrica?
- ¿Qué lleva más tiempo construir un sitio web o una aplicación móvil?
- ¿Hay una API o algo para obtener la imagen del artículo principal de una página web?
- ¿Se pueden usar los marcos Javascript (API Angular + NodeJs + REST) para estas situaciones?
¿Qué lenguaje de programación, qué base de datos, qué herramientas de software debería elegir? Hay muchas preguntas que deben responderse al principio.
¿Qué lenguaje de programación?
Crear una aplicación web significa crear un producto con lenguajes de programación modernos.
Además de las habilidades y destrezas personales, la elección de su lenguaje de programación estará influenciada por las posibilidades de cada idioma. Existen varios lenguajes de programación (modernos) que hacen que sea difícil elegir el correcto.
Eche un vistazo a los más destacados, juegue con ellos e intente experimentar tanto como sea posible.
=> Terminamos usando Python.
La base de datos perfecta
Entonces, una de las primeras cosas en su lista incluirá la instalación de una base de datos. Recomendamos utilizar una base de datos orientada a documentos . Las bases de datos de documentos son bastante diferentes al concepto tradicional de bases de datos relacionales.
¿Por qué elegir una base de datos orientada a documentos?
Las bases de datos de documentos obtienen su tipo de información de los datos en sí. Por lo tanto, cada instancia de datos puede ser diferente de cualquier otra. Esto lo hace más flexible para manejar el cambio y los valores opcionales, se asigna más fácilmente a los objetos del programa y, a menudo, reduce el tamaño de la base de datos.
En resumen, el concepto DOB está diseñado para ofrecer una experiencia más rica con técnicas modernas de programación.
=> Terminamos usando MongoDB.
AWS y EC2
Al crear una aplicación web escalable, probablemente termines usando Amazon Web Services tarde o temprano.
AWS le permite alojar y ejecutar sus aplicaciones web, así como realizar trabajos por lotes masivos de alto rendimiento. Con Elastic Compute Cloud (EC2), AWS proporciona servidores virtuales escalables para todas las empresas.
Configurar un CDN
Una red de entrega de contenido es básicamente un sistema de servidores distribuidos que le permite servir contenido a los usuarios de su aplicación con alto rendimiento y alta disponibilidad.
Supongamos que tiene 3 EC2 instalados. Uno en los Estados Unidos, uno en Europa y uno en Singapur. Si alguien de Nueva York visita su aplicación, el CDN le permite servir contenido al usuario a través del EC2 ubicado en los EE. UU.
También escribí sobre este flujo de trabajo en detalle en este artículo: Fundamentos sobre la construcción de una arquitectura SaaS basada en la nube
También recomiendo consultar los siguientes recursos:
- La lista definitiva de recursos de desarrollo web
- Lo que nadie te dice sobre trabajar en desarrollo web
- El último tutorial de desarrollo web