¿Qué es la pila de software?

Qué es la pila de software:
una pila de software es una colección de componentes independientes que colaboran para facilitar la implementación de la aplicación. Un sistema operativo, una capa arquitectónica, un protocolo, un entorno de tiempo de ejecución, una base de datos o una función de llamada se incluyen en una jerarquía. Los niveles inferiores de la jerarquía interactúan con frecuencia con el hardware, mientras que los niveles superiores de la jerarquía realizan actividades y servicios de usuario específicos. Los componentes interactúan con la aplicación directamente a través de una secuencia de instrucciones sofisticadas que atraviesan la pila.

Una aplicación se compone de una colección de funciones que operan juntas en una arquitectura definida para proporcionar ciertos servicios al usuario. La arquitectura de aplicación más básica se compone de tres capas:

  1. La capa de presentación es lo que ve un cliente cuando visita el programa a través de un sitio web o un portal de aplicaciones basado en la web.
  2. La capa lógica comprende la lógica de la aplicación y las reglas comerciales que ayudan en el cumplimiento de las requests de la aplicación. Esta capa calcula y emite juicios sobre cómo manejar las requests al mismo tiempo que administra la transferencia de datos entre la capa de datos y la capa de visualización.
  3. La capa de datos es un sistema del lado del servidor que entrega información de la capa lógica cuando es necesario un cálculo, o si se debe mover a una capa de presentación visible para el usuario.

Las pilas de software brindan varias ventajas, incluida la capacidad de proporcionar respuestas predeterminadas a los problemas, que a veces son las mejores soluciones.

  • Brindan el mínimo de software necesario para obtener los resultados deseados.
  • Las pilas de software pueden instalarse en un sistema o instalarse automáticamente en plantillas de computadora.
  • La instalación y el funcionamiento de las pilas de software son las mismas para los sistemas personalizables. Como resultado, las respuestas ofrecidas también son consistentes.
  • La mayoría de las pilas de software admiten el paquete completo. Algunos también tienen foros comunitarios.
  • Se puede usar una imagen o especificaciones de software para instalar pilas de software.

El sistema operativo y las condiciones de ejecución necesarias para habilitar programas como Java son parte de una pila de máquina cliente (consulte Máquina virtual de Java ). Las aplicaciones pueden incluirse en la pila, aunque esto normalmente se denomina pila de aplicaciones.

Cada componente agrega una capa de compatibilidad a los demás, y agruparlos hace que sea fácil descargarlos e implementarlos todos a la vez. Los componentes de una pila pueden variar desde el genérico 

Figura 1. Descripción de la pila de software en Pie.

Ejemplo:
el sistema operativo Mac OS X para los extremadamente especializados (por ejemplo, un marco PHP específico).
Hay varias razones por las que elegiría una pila sobre otra y, según el proyecto, más nueva no es necesariamente mejor. Tal vez imagina la necesidad de escalabilidad vertical en el futuro de su sitio, o su equipo de desarrollo es particularmente experto en un lenguaje de programación, los cuales pueden influir en su elección de la pila.
Hay varias pilas de la vieja escuela, principalmente obsoletas, como LAMP , que significa utilizar Linux para alojar Apache HTTPS , MySQL y PHP para ejecutar un sitio web. Todavía se recomienda Linux, mientras que otros ya no se recomiendan para sitios nuevos.

EJEMPLOS DE PILAS DE SOFTWARE CONOCIDAS:
1. La pila MEAN es lo primero que viene a la mente.
La pila MEAN (MongoDB, Express.js, AngularJS y Node.js) es una pila basada en JavaScript que utiliza el programa de base de datos MongoDB para el desarrollo de back-end, el marco Express.js creado sobre Node.js para el desarrollo de front-end y el framework AngularJS para el desarrollo frontend. El software de MEAN stack es gratuito y de código abierto, lo que lo hace fácil de entender y comenzar. Además, debido a que es una pila de Javascript de adelante hacia atrás, los desarrolladores pueden intercambiar y optimizar el código entre los componentes de frontend y backend.

2. La pila MEVN es lo que viene en segundo lugar.
Otra variación popular de la pila MEAN es la pila MEVN (MongoDB, Express.js, Vue.js y Node.js), que reemplaza a Angular con Vue.js, un marco Javascript liviano con capacidades mínimas. Vue, como React, se basa en una gran comunidad de desarrolladores para producir complementos y herramientas de terceros que agregan características y mejoran las capacidades del marco central.

Al buscar socios de ingeniería, es fundamental comprender qué herramientas utilizan para completar el trabajo que está buscando. Cuando se trata de plataformas, no todas las empresas de software ofrecen nuevas soluciones. Necesita un equipo con visión de futuro que no solo pueda crear su obra maestra, sino que también se asegure de que no se vuelva obsoleta en un corto período de tiempo.
La implementación del operador precompilado, que son funciones del kernel creadas por ingenieros de Huawei que utilizan lenguajes de programación particulares altamente optimizados para la arquitectura DaVinci, es proporcionada por la pila de software Ascend AI. Por el momento, los desarrolladores no tienen acceso a este nivel de programación.

Para habilitar la universalidad, estas operaciones están precompiladas e implementadas como núcleos comunes. La pila de software Ascend AI está inspirada en la idea de diseño de TVM para aumentar el rendimiento de la inferencia. Cuando el generador de modelos fuera de línea convierte un modelo, se proporciona un núcleo personalizado para ciertas formas de datos de entrada y combinaciones de parámetros para mejorar el rendimiento de la inferencia.

Conclusión:
esto es todo lo que necesita saber sobre qué es exactamente una pila de software. ¡Espero que este artículo le ayude a comprender los conceptos básicos e incluso los aspectos avanzados de la pila de software!

Publicación traducida automáticamente

Artículo escrito por icloudanshu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *