Qu'est-ce qu'une pile technologique ?
Pour vous aider à comprendre pourquoi il est essentiel d'avoir les bonnes couches dans votre pile technologique, cette page aborde les sujets suivants :
- D'où viennent les piles technologiques ?
- Couches de la pile technologique
- Quelles sont les différentes piles technologiques ?
- Piles technologiques Couchbase
- Conclusion
Une pile technologique permet de combiner des logiciels, des outils et des services pour créer une application web ou mobile. Chaque couche d'une pile technologique typique est responsable d'un type de tâche distinct, soit la présentation, la logique d'application ou la persistance.
D'où viennent les piles technologiques ?
Le concept de pile technologique existe depuis les premiers jours du web. Les premières pages web étaient de simples “contenus statiques”. Pour récupérer le contenu, les pages web utilisaient une méthode rudimentaire consistant à appeler un programme externe appelé Interface de passerelle commune (CGI). Un script CGI permet au serveur web d'exécuter un programme pour traiter les demandes des utilisateurs. Bon nombre de ces premiers programmes ont été conçus à la main dans le langage de programmation C.
Presque immédiatement, les premiers développeurs web ont commencé à expérimenter de meilleurs cadres et abstractions pour construire des logiciels web. Perl s'est imposé comme un langage plus simple et plus accessible pour écrire ce code. Mais ce n'était pas encore tout à fait une pile technologique.
Après plus d'innovation et d'évolution, diverses piles technologiques ont commencé à émerger. Plutôt que d'écrire du HTML à la main, des bibliothèques et des cadres de création de modèles de pages pour l'Internet ont été créés. couche de présentation La logique des applications a commencé à se généraliser alors que le reste du programme était libre. Les bases de données relationnelles ont fourni aux développeurs d'applications un moyen clair de gérer et d'exprimer l'accès aux données. couche de persistance et des concepts tels que les pools de connexion sont apparus.
Couches de la pile technologique
Les gens utilisent des noms différents pour désigner les mêmes couches de la pile. Pour notre propos, nous les appellerons simplement la couche supérieure, la couche intermédiaire et la couche inférieure. Ce qui est plus important, c'est la tâche dont chaque couche est responsable, et nous examinerons ces responsabilités de haut en bas.
Couche supérieure de la pile technologique : Présentation
La couche de présentation d'une pile technologique est l'endroit où se produisent le formatage et la localisation. Par exemple, un site web peut avoir un logo et un ensemble de couleurs, mais au fur et à mesure que les styles changent, il se peut que vous souhaitiez modifier l'aspect et la convivialité. La personnalisation est un autre exemple de la couche de présentation à l'œuvre. Si une requête de navigateur provient d'un pays où les utilisateurs souhaitent que les températures soient présentées en Celsius plutôt qu'en Fahrenheit, les informations fournies seront différentes.
Couche intermédiaire de la pile technologique : Logique d'application
La logique d'application se situe dans la couche intermédiaire de votre pile technologique. Par exemple, la requête du navigateur web peut inclure un lieu (par exemple, Austin, Texas) et un fuseau horaire (Central) que la logique d'application doit résoudre pour obtenir la bonne requête de base de données.
La couche intermédiaire peut être répartie à l'aide d'une architecture basée sur les microservices, qui permet à différentes parties de l'application d'être mises en œuvre indépendamment par le biais d'interfaces de service bien décrites.
Couche la plus basse de la pile technologique : Persistance (ou base de données)
La couche de persistance est généralement la couche la plus basse de la pile et peut être aussi simple qu'un ensemble de fichiers dans un système de fichiers. La gestion des données dans un système de fichiers de base exige toutefois du développeur qu'il mette au point des moyens d'indexer et d'accéder lui-même aux données, ce qui est une tâche ardue.
La plupart des développeurs choisissent plutôt une base de données. À l'origine, la base de données utilisée était un base de données relationnelle parce qu'ils étaient les plus courants. Au fil du temps, cependant, Bases de données NoSQL sont devenus une autre option populaire pour les développeurs en raison de la flexibilité, de l'évolutivité et des capacités plus larges de NoSQL.
Quelles sont les différentes piles technologiques ?
La pile LAMP (composée de Linux, Apache, MySQL et PHP) est devenue l'une des premières piles populaires. Linux est devenu le système d'exploitation le plus utilisé ; Apache, le serveur web le plus utilisé ; MySQL, la base de données la plus utilisée ; et PHP, le langage de modélisation et de programmation de pages le plus utilisé.
Exemples de piles technologiques
La liste suivante n'est qu'un exemple de la diversité et de l'interopérabilité des piles technologiques :
WIMP
Système d'exploitation Windows, serveur web IIS, base de données MySQL et couche applicative PHP
MAMP
Mac OS, serveur web Apache, base de données MySQL et couche applicative PHP
FAMP
Système d'exploitation FreeBSD, serveur web Apache, base de données MySQL et couche applicative PHP
LAPP
Système d'exploitation Linux, serveur web Apache, base de données PostgreSQL et couche applicative PHP
LNMP
Système d'exploitation Linux, serveur web NGINX, base de données MySQL et couche applicative PHP
MOYEN
Base de données MongoDB, contrôleur d'application Express.js, présentation d'application Angular.js et Node.js
LYME
Système d'exploitation Linux, serveur web Yaws, base de données Mnesia et couche applicative Erlang
LYCE
Système d'exploitation Linux, serveur web Yaws, base de données CouchDB et couche applicative Erlang
ELK
Agrégateur de recherche/statistiques Elasticsearch, récupération de logs Logstash, présentation graphique Kibana.
Jamstack
Présentation JavaScript, API pour l'accès aux données et balisage (contenu statique ou modèle)
Piles technologiques Couchbase
En tant que plateforme de base de données en nuage, Couchbase joue un rôle essentiel dans les piles technologiques. Parce qu'il intègre un ensemble de fonctionnalités d'accès et de gestion des données communément requises par les développeurs d'applications, Couchbase facilite la mise à l'échelle et la croissance.
La pile CEAN
Cette pile utilise Couchbase, Express, Angular.js et Node.js. Elle est similaire à la pile MEAN, mais utilise Couchbase comme base de données. CEAN dispose même d'un outil d'échafaudage de projet piloté par la communauté.
La pile COdE
Cette pile utilise Couchbase pour la base de données, Ottoman.js pour le mappeur de documents objets (logiciel qui facilite le mappage des structures de programmation dans les bases de données) et Express.js pour le routage des applications.
Conclusion
Il peut être utile pour vous de considérer l'application ou le service que vous construisez pour vos utilisateurs comme une pile technologique. C'est un bon moyen d'examiner attentivement chacun des composants individuels - et plus important encore, en réfléchissant aux responsabilités de chaque couche séparément, vous serez en mesure de construire une architecture de système plus souple avec des composants plus interchangeables.