En informática, un conjunto de soluciones (también denominado stack de soluciones), es un set de sistemas o componentes necesarios para realizar una solución funcional y robusta.
Por ejemplo; para desarrollar una aplicación web, el desarrollador necesita un sistema operativo, un servidor web, un SGBD y un lenguaje de programación. Hay muchas posibles soluciones:
- LAMP
- Linux (sistema operativo)
- Apache (servidor web)
- MySQL o MariaDB (base de datos)
- Perl, PHP, y/o Python (lenguajes de programación)
- LYME y LYCE
- Linux ((sistema operativo)
- Yaws (servidor web escrito en Erlang)
- Mnesia o CouchDB (base de datos escrito en Erlang)
- Erlang (lenguaje de programación funcional)
- GLASS
- GemStone (database and application server)
- Linux (operating system)
- Apache (web server)
- Seaside (web framework)
- Smalltalk (lenguaje de programación)
- LEAP
- Linux (operating system)
- Eucalyptus (alternativa libre para EC2)
- AppScale (Cloud computing-framework and free and open-source alternative to Google App Engine),
- Python (lenguaje de programación)
- OpenStack
- Linux – OpenStack nodos del controlador funcionar exclusivamente con Linux
- OpenStack
- Ganeti
- Xen o KVM (hypervisor)
- Linux con LVM (gestión)
- Distributed Replicated Block Device (replicación de almacenamiento)
- Ganeti (virtual machine cluster management)
- Ganeti Web Manager (interfaz web)
- MEAN
- MongoDB: Una base de datos NoSQL orientada a documentos. Almacena datos en formato JSON (BSON) y es muy flexible para manejar información no estructurada. Funciona como el almacén de datos para el proyecto MEAN.
- Express: Un framework minimalista de Node.js que se utiliza para construir aplicaciones web y APIs. Facilita el manejo de rutas, solicitudes y respuestas del servidor, lo que agiliza el desarrollo del backend.
- Angular: Un framework de JavaScript desarrollado por Google para construir aplicaciones web del lado del cliente (frontend). Proporciona herramientas y componentes para crear interfaces de usuario interactivas y dinámicas.
- Node.js: Un entorno de ejecución de JavaScript en el servidor. Permite desarrollar el backend del proyecto MEAN utilizando JavaScript. Utiliza el modelo de E/S no bloqueante, lo que lo hace ideal para aplicaciones en tiempo real y de alta concurrencia.
- MERN (ver MEAN)
- MongoDB
- Express
- ReactJS: Comúnmente conocido simplemente como React, es una biblioteca de JavaScript que se utiliza para crear interfaces de usuario. Cada aplicación web React se compone de componentes reutilizables que forman parte de la interfaz de usuario. En la mayoría de los casos, la sintaxis utilizada para crear aplicaciones React se llama JSX (JavaScript XML), que es una extensión de sintaxis de JavaScript .
- Node.js
- Rosenblatt, B. (2011). "Web services: A Manager's Guide". Addison-Wesley Professional. (ISBN: 978-0321714022)
- Bass, L., Clements, P., & Kazman, R. (2012). "Software Architecture in Practice". Addison-Wesley Professional. (ISBN: 978-0321815736)
- Stal, M. (2005). "Pattern-Oriented Software Architecture: A Pattern Language for Distributed Computing". John Wiley & Sons. (ISBN: 978-0470059029)
- Pressman, R. S. (2014). "Software Engineering: A Practitioner's Approach". McGraw-Hill Education. (ISBN: 978-0078022128)