Was ist ein Technologiestapel?
Auf dieser Seite erfahren Sie, warum es so wichtig ist, die richtigen Schichten in Ihrem Technologiepaket zu haben:
- Woher kommen die Technikstapel?
- Schichten des Technologiestapels
- Was sind die verschiedenen Technologiestufen?
- Couchbase Technologie Stacks
- Schlussfolgerung
Ein Technologiestapel (Tech Stack) ermöglicht es Ihnen, Software, Tools und Dienste zu kombinieren, um eine Web- oder mobile Anwendung zu erstellen. Jede Schicht eines typischen Technologiestapels ist fĂŒr eine bestimmte Art von Aufgabe zustĂ€ndig, entweder fĂŒr die PrĂ€sentation, die Anwendungslogik oder die Persistenz.
Woher kommen die Technikstapel?
Das Konzept eines Technologiestapels gibt es schon seit den AnfĂ€ngen des Internets. Die frĂŒhesten Webseiten waren einfache "statische Inhalte". Um Inhalte abzurufen, verwendeten die Webseiten eine rudimentĂ€re Methode, ein externes Programm namens Gemeinsame Gateway-Schnittstelle (CGI). Ein CGI-Skript wĂŒrde es dem Webserver ermöglichen, ein Programm zur Bearbeitung von Benutzeranfragen auszufĂŒhren. Viele dieser frĂŒhen Programme wurden von Hand in der Programmiersprache C erstellt.
Fast sofort begannen die ersten Webentwickler, mit besseren Frameworks und Abstraktionen fĂŒr die Erstellung von Web-Software zu experimentieren. Perl entpuppte sich als einfachere und zugĂ€nglichere Sprache zum Schreiben dieses Codes. Aber es war noch nicht ganz ein Tech-Stack.
Nach weiteren Innovationen und Weiterentwicklungen entstanden verschiedene Technologiepakete. Anstatt HTML von Hand zu schreiben, wurden Bibliotheken und Frameworks fĂŒr Seitenvorlagen fĂŒr die PrĂ€sentationsschicht Logik wurde allmĂ€hlich ĂŒblich, wĂ€hrend der Rest des Programms frei gestaltet war. Dinge wie relationale Datenbanken boten eine klare Möglichkeit, den Datenzugriff fĂŒr App-Entwickler zu verwalten und auszudrĂŒcken, so dass die Persistenzschicht und es entstanden Konzepte wie Verbindungspools.
Schichten des Technologiestapels
Die Leute verwenden unterschiedliche Bezeichnungen fĂŒr dieselben Stapelschichten, daher werden wir sie fĂŒr unsere Zwecke einfach als oberste Schicht, mittlere Schicht und unterste Schicht bezeichnen. Wichtiger ist die Aufgabe, fĂŒr die jede Schicht zustĂ€ndig ist, und wir werden diese Aufgaben von oben nach unten durchgehen.
Oberste Schicht des Technologiestapels: PrÀsentation
Die PrĂ€sentationsebene eines technischen Stapels ist der Ort, an dem Formatierung und Lokalisierung stattfinden. Eine Website kann zum Beispiel ein Logo und eine Reihe von Farben haben, aber wenn sich die Stile Ă€ndern, möchten Sie vielleicht das Aussehen und die Handhabung Ă€ndern. Ein weiteres Beispiel fĂŒr den Einsatz der PrĂ€sentationsschicht ist die Personalisierung. Wenn eine Browser-Anfrage aus einem Land kommt, in dem die Benutzer die Temperatur in Celsius statt in Fahrenheit angezeigt haben möchten, werden die Informationen anders dargestellt.
Mittlere Schicht des Technologiestapels: Anwendungslogik
Die Anwendungslogik befindet sich in der mittleren Schicht Ihres technischen Stacks. Die Webbrowser-Anfrage kann beispielsweise einen Standort (z. B. Austin, Texas) und eine Zeitzone (Central) enthalten, die die Anwendungslogik in die richtige Datenbankabfrage auflösen muss.
Die mittlere Schicht kann mit Hilfe einer auf Microservices basierenden Architektur verteilt werden, die es ermöglicht, verschiedene Anwendungsteile unabhĂ€ngig voneinander ĂŒber gut beschriebene Dienstschnittstellen zu implementieren.
Unterste Schicht des Technologiestapels: Persistenz (oder Datenbank)
Die Persistenzschicht ist in der Regel die unterste Schicht des Stacks und kann so einfach sein wie ein Satz von Dateien in einem Dateisystem. Die Verwaltung von Daten in einem einfachen Dateisystem erfordert jedoch, dass ein Entwickler selbst Möglichkeiten zur Indizierung und zum Zugriff auf die Daten entwickelt - eine gewaltige Aufgabe.
Stattdessen entscheiden sich die meisten Entwickler fĂŒr eine Datenbank. UrsprĂŒnglich war die bevorzugte Datenbank eine relationale Datenbank weil sie am weitesten verbreitet waren. Mit der Zeit jedoch, NoSQL-Datenbanken sind aufgrund der FlexibilitĂ€t, der Skalierbarkeit und der breiteren Möglichkeiten von NoSQL eine weitere beliebte Option fĂŒr Entwickler geworden.
Was sind die verschiedenen Technologiestufen?
Der LAMP-Stack (bestehend aus Linux, Apache, MySQL und PHP) wurde zu einem der ersten populÀren Stacks. Linux wurde zum meistgenutzten Betriebssystem, Apache zum meistgenutzten Webserver, MySQL zur meistgenutzten Datenbank und PHP zur meistgenutzten Seitenvorlagen- und Programmiersprache.
Tech Stack Beispiele
Die folgende Liste ist nur ein Beispiel dafĂŒr, wie vielfĂ€ltig und interoperabel Technologie-Stacks sein können:
WIMP
Windows-Betriebssystem, IIS-Webserver, MySQL-Datenbank und PHP-Anwendungsschicht
MAMP
Mac OS, Apache-Webserver, MySQL-Datenbank und PHP-Anwendungsschicht
FAMP
FreeBSD-Betriebssystem, Apache-Webserver, MySQL-Datenbank und PHP-Anwendungsschicht
LAPP
Linux-Betriebssystem, Apache-Webserver, PostgreSQL-Datenbank und PHP-Anwendungsschicht
LNMP
Linux OS, NGINX Webserver, MySQL Datenbank und PHP Anwendungsschicht
MEAN
MongoDB-Datenbank, Express.js-App-Controller, Angular.js-App-PrÀsentation und Node.js
LYME
Linux OS, Yaws Webserver, Mnesia Datenbank und Erlang Anwendungsschicht
LYCE
Linux OS, Yaws Webserver, CouchDB Datenbank und Erlang Anwendungsschicht
ELK
Elasticsearch-Suche/Statistik-Aggregator, Logstash-Protokollabfrage, Kibana-Grafikdarstellung
Jamstack
JavaScript-PrĂ€sentation, APIs fĂŒr den Datenzugriff und Markup (statische oder Vorlageninhalte)
Couchbase Technologie Stacks
Als Cloud-Datenbank-Plattform, Couchbase spielt eine entscheidende Rolle in Technologie-Stacks. Da Couchbase eine Reihe von Datenzugriffs- und -verwaltungsfunktionen integriert, die von App-Entwicklern hÀufig benötigt werden, erleichtert es die Skalierung und das Wachstum.
Der CEAN-Stapel
Dieser Stack verwendet Couchbase, Express, Angular.js und Node.js. Er ist dem MEAN-Stack Ă€hnlich, verwendet aber stattdessen Couchbase als Datenbank. CEAN hat sogar ein Community-getriebenes ProjektgerĂŒst-Tool.
Der COdE-Stapel
Dieser Stack verwendet Couchbase fĂŒr die Datenbank, Ottoman.js fĂŒr den Object Document Mapper (eine Software, die es einfacher macht, Programmierstrukturen in Datenbanken abzubilden) und Express.js fĂŒr das App-Routing.
Schlussfolgerung
Es kann hilfreich sein, die Anwendung oder den Dienst, den Sie fĂŒr Ihre Benutzer entwickeln, als einen technischen Stapel zu betrachten. Dies ist ein guter Weg, um jede einzelne Komponente sorgfĂ€ltig zu betrachten - und was noch wichtiger ist: Indem Sie die Verantwortlichkeiten jeder Schicht separat betrachten, können Sie eine flexiblere Systemarchitektur mit austauschbaren Komponenten aufbauen.