¿Qué es una pila tecnológica?
Para ayudarle a entender por qué es esencial contar con las capas adecuadas en su pila tecnológica, esta página tratará:
- ¿De dónde proceden las pilas tecnológicas?
- Capas de la pila tecnológica
- ¿Cuáles son las diferentes pilas tecnológicas?
- Pilas tecnológicas Couchbase
- Conclusión
Una pila tecnológica permite combinar software, herramientas y servicios para crear una aplicación web o móvil. Cada capa de una pila tecnológica típica es responsable de un tipo distinto de tarea, ya sea la presentación, la lógica de la aplicación o la persistencia.
¿De dónde proceden las pilas tecnológicas?
El concepto de pila tecnológica existe desde los primeros días de la web. Las primeras páginas web eran simples "contenidos estáticos". Para recuperar el contenido, las páginas web utilizaban un método rudimentario de llamada a un programa externo llamado Interfaz común de pasarela (CGI). Un script CGI permitiría al servidor web ejecutar un programa para procesar las peticiones de los usuarios. Muchos de estos primeros programas se crearon a mano en el lenguaje de programación C.
Casi de inmediato, los primeros desarrolladores web empezaron a experimentar con mejores marcos y abstracciones para construir software web. Perl surgió como un lenguaje más sencillo y accesible para escribir este código. Pero aún no era una pila tecnológica.
Tras más innovación y evolución, empezaron a surgir diversas pilas tecnológicas. En lugar de escribir el HTML a mano, surgieron bibliotecas y marcos de plantillas de páginas para el capa de presentación mientras que el resto del programa era de forma libre. Cosas como las bases de datos relacionales proporcionaron una forma clara de gestionar y expresar el acceso a los datos para los desarrolladores de aplicaciones, por lo que la capa de persistencia y surgieron conceptos como los grupos de conexión.
Capas de la pila tecnológica
La gente utiliza diferentes nombres para las mismas capas de la pila, así que para nuestros propósitos simplemente nos referiremos a ellas como capa superior, capa intermedia y capa inferior. Lo que es más importante es la tarea de la que es responsable cada capa, y revisaremos esas responsabilidades de arriba a abajo.
Capa superior de la pila tecnológica: Presentación
La capa de presentación de una pila tecnológica es donde se produce el formateo y la localización. Por ejemplo, un sitio web puede tener un logotipo y un conjunto de colores, pero a medida que cambian los estilos, es posible que desee cambiar el aspecto y la sensación. Otro ejemplo de la capa de presentación es la personalización. Si un navegador solicita información de un país en el que los usuarios quieren que las temperaturas se presenten en grados Celsius en lugar de Fahrenheit, la información proporcionada será diferente.
Capa intermedia de la pila tecnológica: Lógica de aplicación
La lógica de la aplicación se encuentra en la capa intermedia de su pila tecnológica. Por ejemplo, la solicitud del navegador web puede incluir una ubicación (p. ej., Austin, Texas) y una zona horaria (Central) que la lógica de la aplicación debe resolver en la consulta correcta a la base de datos.
La capa intermedia puede repartirse utilizando una arquitectura basada en microservicios, que permite que varias partes de la aplicación se implementen de forma independiente a través de interfaces de servicio bien descritas.
Capa más baja de la pila tecnológica: Persistencia (o base de datos)
La capa de persistencia es normalmente la capa más baja de la pila, y puede ser tan simple como un conjunto de archivos en un sistema de ficheros. La gestión de datos en un sistema de archivos básico, sin embargo, requiere que un desarrollador desarrolle formas de indexar y acceder a los datos por sí mismo - una tarea de enormes proporciones.
En su lugar, la mayoría de los desarrolladores optan por una base de datos. Originalmente, la base de datos a la que se recurría era base de datos relacional porque eran los más comunes. Sin embargo, con el tiempo, Bases de datos NoSQL se han convertido en otra opción popular para los desarrolladores debido a la flexibilidad, escalabilidad y capacidades más amplias de NoSQL.
¿Cuáles son las diferentes pilas tecnológicas?
La pila LAMP (formada por Linux, Apache, MySQL y PHP) se convirtió en una de las primeras pilas populares. Linux se convirtió en el sistema operativo más utilizado; Apache, en el servidor web más utilizado; MySQL, en la base de datos más utilizada; y PHP, en el lenguaje de programación y plantillas de páginas más utilizado.
Ejemplos de pila tecnológica
La siguiente lista es sólo un ejemplo de lo diversas e interoperables que pueden ser las pilas tecnológicas:
WIMP
Sistema operativo Windows, servidor web IIS, base de datos MySQL y capa de aplicaciones PHP
MAMP
Mac OS, servidor web Apache, base de datos MySQL y capa de aplicaciones PHP
FAMP
Sistema operativo FreeBSD, servidor web Apache, base de datos MySQL y capa de aplicaciones PHP
LAPP
Sistema operativo Linux, servidor web Apache, base de datos PostgreSQL y capa de aplicaciones PHP
LNMP
Sistema operativo Linux, servidor web NGINX, base de datos MySQL y capa de aplicaciones PHP
MEAN
Base de datos MongoDB, controlador de aplicaciones Express.js, presentación de aplicaciones Angular.js y Node.js
LYME
Sistema operativo Linux, servidor web Yaws, base de datos Mnesia y capa de aplicaciones Erlang.
LYCE
Sistema operativo Linux, servidor web Yaws, base de datos CouchDB y capa de aplicaciones Erlang
ELK
Agregador de búsqueda/estadística Elasticsearch, recuperación de registros Logstash, presentación gráfica Kibana
Jamstack
Presentación en JavaScript, API de acceso a datos y marcado (contenido estático o de plantilla)
Pilas tecnológicas Couchbase
Como plataforma de base de datos en la nube, Couchbase desempeña un papel fundamental en las pilas tecnológicas. Dado que integra un conjunto de funciones de acceso y gestión de datos comúnmente requeridas por los desarrolladores de aplicaciones, Couchbase facilita la escalabilidad y el crecimiento.
La pila CEAN
Esta pila utiliza Couchbase, Express, Angular.js y Node.js. Es similar a la pila MEAN pero utiliza Couchbase como base de datos. CEAN incluso tiene una herramienta de andamiaje de proyectos impulsada por la comunidad.
La pila COdE
Esta pila utiliza Couchbase para la base de datos, Ottoman.js para el mapeador de documentos de objetos (software que facilita el mapeo de estructuras de programación en bases de datos) y Express.js para el enrutamiento de aplicaciones.
Conclusión
Puede resultarte útil pensar en abstraer la aplicación o el servicio que estás creando para tus usuarios como una pila tecnológica. Esta es una buena manera de considerar cuidadosamente cada uno de los componentes individuales y, lo que es más importante, al pensar en las responsabilidades de cada capa por separado, podrás construir una arquitectura de sistema más flexible con componentes que sean más intercambiables.