Stack als Basis für Online-Plattformen und Portale
«Stack» klingt nach Fachjargon und meint etwas Handfestes: eine feste Kombination von Software-Komponenten, die aufeinander abgestimmt sind. Wie so ein Stapel aufgebaut ist und was er für Plattform-Projekte konkret ändert.
Wer nicht täglich mit IT zu tun hat, kann mit dem Begriff «Stack» wenig anfangen. Dahinter steckt keine Produktkategorie, sondern eine Herangehensweise: Statt in jedem Projekt neu zu entscheiden, welche Technologien zum Einsatz kommen, legst du eine Kombination von Komponenten fest und baust alle Plattformen darauf auf.
Was ein Stack ist
«Stack» heisst übersetzt «Stapel». Gemeint ist eine Zusammenstellung von Software-Komponenten, die aufeinander abgestimmt sind und sich in ihren Funktionen ergänzen. Jede Komponente deckt einen Aufgabenbereich ab, jede ist für sich eine geschlossene Umgebung, und oft stammen sie von unterschiedlichen Herstellern. Charakteristisch ist der modulare Aufbau: Der Stapel lässt sich Schicht für Schicht lesen und Schicht für Schicht austauschen.
Woraus ein Stack besteht
Am bekanntesten Beispiel lässt sich die Zusammensetzung gut ablesen, LAMP:
- Linux als Betriebssystem
- Apache als Webserver
- MySQL als Datenbank
- PHP als Programmiersprache
Damit ist alles beisammen, um eine Webapplikation online zu stellen. In der Praxis kommen weitere Bausteine dazu:
- Programmiersprachen und Frameworks
- Datenbanken und Suchindizes
- Front-End-Werkzeuge
- Back-End-Werkzeuge
- Container- und Deployment-Werkzeuge
- Anwendungen, die über APIs angebunden sind
Front-End, Back-End und die Frage der Spezialisierung
Die Entwicklung von Plattformen, Software und Websites teilt sich in zwei Bereiche. Bei einem CMS ist das Front-End die sichtbare Oberfläche, das Back-End der administrative Bereich, in dem du Inhalte erfasst und pflegst. Im Front-End geht es um Gestaltung, Interaktion und Auffindbarkeit, im Back-End um Datenmodell, Integrationen und Architektur.
Für beide Bereiche führen mehrere Wege zum gleichen Ergebnis. Neben LAMP gibt es etwa WIMP mit Windows als Betriebssystem und IIS als Webserver. Wer beides bedient, arbeitet mit doppelt so vielen Systemen, Sprachen und Eigenheiten. Deshalb legen wir uns fest: ein Stack, auf den sich das ganze Team spezialisiert. Wer alle Schichten davon beherrscht, arbeitet in der Full-Stack-Entwicklung.
Das hat handfeste Folgen. Wissen lässt sich intern weitergeben, weil alle mit denselben Werkzeugen arbeiten. Projekte bleiben untereinander kompatibel. Und kein Projekt hängt an einer einzelnen Person, die als Einzige eine bestimmte Technologie kennt.
Wofür ein Stack zum Einsatz kommt
Ein Kundenportal braucht mehr als eine Applikation: ein Betriebssystem, einen Webserver, eine Container-Schicht, eine Programmiersprache, ein Applikations-Framework und eine Datenbank. Der Stack stellt diese Basis fertig bereit: abgestimmt, getestet und im Betrieb bewährt. Damit fällt ein erheblicher Teil des technischen Risikos weg, bevor die erste Zeile Fachlogik geschrieben ist.
Der Stack legt zugleich fest, auf welcher Grundlage Erweiterungen entstehen und wie die Komponenten Daten austauschen. Genau diese Abstimmung entscheidet später über Geschwindigkeit und Stabilität.
Warum unser Stack auf Open Source setzt
Wir setzen auf etablierte Open-Source-Komponenten: Symfony als Applikations-Framework, API Platform für Schnittstellen, Sylius für E-Commerce, MariaDB und Apache Solr für Daten und Suche. Das hält den Stack auf langfristigen Betrieb ausgelegt und trotzdem beweglich: einzelne Komponenten lassen sich ersetzen, ohne die ganze Plattform anzufassen.
Darunter liegt die Infrastruktur. Wir betreiben die Plattformen in Docker-Containern, orchestriert mit Docker Swarm und verwaltet über Portainer, auf eigener Infrastruktur im Schweizer VDC. Betriebssystem und PHP-Version sind pro Container gekapselt und im Image definiert. Ein Wechsel der Infrastruktur bleibt damit ein überschaubarer Vorgang statt eines Migrationsprojekts.
Weil der Stack von der Infrastruktur über die Plattform bis zur Software durchgehend ist, sind Installation und Deployment weitgehend standardisiert. Das senkt die Komplexität im Betrieb und vereinfacht die Verwaltung.
Standardisierung zahlt auch auf die Sicherheit ein: Tests laufen als Routine über alle Plattformen, und eine Lücke wird einmal zentral geschlossen statt in jedem Projekt einzeln.
Die Vorteile im Überblick
- Klar definierte Technologie statt Entscheid von Fall zu Fall
- Standardisierung, die Aufwand und Fehlerquellen senkt
- Wissenstransfer im Team, weil alle dieselben Werkzeuge kennen
- Kompatibilität zwischen den Projekten
- Weniger Abhängigkeit von einzelnen Personen
- Standardisiertes Deployment und ein Betrieb nach festen Regeln
- Geschwindigkeit durch aufeinander abgestimmte Komponenten
Was das für dein Projekt heisst
Benutzerverwaltung, Rollen und Rechte, API-Layer, CMS, Hosting, Monitoring: Diese Anforderungen wiederholen sich in fast jedem Plattform-Projekt. Sie kommen bei uns aus dem Stack, rund 60 Prozent der fertigen Plattform. Die restlichen 40 Prozent sind das, was dein Geschäft ausmacht: Geschäftsmodell, Prozesse, Oberfläche. Wie der Stack im Detail aufgebaut ist, zeigt die Übersicht zum cloudtec Stack.