Begriff
Server
Warum wichtig?
Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.
Ein Server ist ein Diener (engl. "to serve" = dienen). Es ist ein Computer, der darauf wartet, dass andere (Clients) etwas von ihm wollen.
- Webserver: "Zeig mir diese Webseite!"
- Mailserver: "Nimm meine E-Mail an!"
- Fileserver: "Speichere diese Datei!"
Technisch ist jeder Computer ein Server, wenn er Dienste anbietet. Auch dein Laptop kann ein Server sein. Aber meistens meint man damit starke, laute Rechner ohne Bildschirm, die in klimatisierten Kellern (Rechenzentren) stehen.
Merksatz: Ein Computer oder Programm, das Ressourcen (Daten, Dienste) für andere bereitstellt.
Im Büro steht oft ein "Serverraum". Da steht der Firmenserver. Darauf liegen alle Word-Dateien, damit alle Kollegen gleichzeitig darauf zugreifen können. Wenn der Server abstürzt, kann keiner arbeiten ("Das Netz ist weg").
Server laufen 24/7. Sie werden nie ausgeschaltet. Sie haben spezielle Hardware:
- Redundante Netzteile: Wenn eins kaputt geht, übernimmt das zweite ohne Unterbrechung.
- ECC-RAM: Arbeitsspeicher mit Fehlerkorrektur.
- RAID: Festplatten-Spiegelung (wenn eine platzt, sind die Daten noch da).
Praxisroutine
In der Praxis lernst du Server, indem du mit einem kleinen, kontrollierten Beispiel beginnst. Baue zuerst einen Minimalfall, prüfe das Ergebnis, veraendere genau eine Sache und beobachte, was sich ändert. Notiere dir Eingabe, Aktion, Ausgabe und typischen Fehler.
Übung: Erstelle ein Beispiel aus deinem Alltag, fuehre den Ablauf gedanklich Schritt für Schritt durch und markiere die Stelle, an der du Feedback oder ein Log brauchst. Wenn du diese Stelle benennen kannst, verstehst du den Begriff praktisch.
1. Physisch vs. Virtuell
Früher: 1 App = 1 Blechkiste. (Teuer, Platzverschwendung). Heute: Virtualisierung. Auf einem physischen Server laufen 50 virtuelle Server (VMs). Für die Software fühlt es sich an wie ein eigener PC, aber eigentlich teilen sie sich die Hardware.
2. Client-Server-Modell
Das Grundprinzip des Internets. Der Client (Browser) sendet einen Request (Anfrage). Der Server sendet eine Response (Antwort). Der Server ist passiv (er wartet). Er spricht dich nie von sich aus an (außer bei modernen Push-Techniken wie WebSockets).
Technische Einordnung im System
Technisch ist Server nicht isoliert. Es wirkt mit Nachbarbegriffen zusammen, hat Voraussetzungen und erzeugt Folgen. Für ein robustes Verständnis prüfst du drei Fragen: Welche Daten oder Bedingungen braucht dieser Schritt? Welche Ausgabe oder Wirkung entsteht? Was passiert bei falschen, fehlenden oder zu großen Eingaben?
Diese Sicht ist wichtig, weil echte Systeme selten am Hauptpfad scheitern. Sie scheitern an Randfällen, Berechtigungen, Zeitpunkten, Formaten, Reihenfolgen oder stillen Annahmen.
1. Load Balancing und High Availability (HA)
Wenn Amazon Black Friday hat, reicht nicht ein Server. Es sind Tausende. Wie verteilt man die Last? Mit einem Load Balancer (z.B. Nginx oder HAProxy). Das ist ein "Proxy-Server", der als einziger die echte öffentliche IP-Adresse (oder Anycast) hat. Alle Requests schlagen dort auf. Der Load Balancer schaut in seinen Pool (die Backend-Server 1 bis 100), prüft, welcher gerade am wenigsten CPU-Last hat, und reicht die HTTP-Anfrage transparent an ihn durch ("Round-Robin" oder "Least Connections"). Zusätzlich macht er Health Checks: Antwortet Server 4 nicht auf ein Ping, wird er aus dem Pool geworfen. Der Kunde merkt davon gar nichts (High Availability).
2. Containerisierung (Docker & Kubernetes)
Das Problem von virtuellen Maschinen (VMs): Jeder Server bringt sein eigenes komplettes Betriebssystem (OS) mit (und verschwendet GBs an RAM). Heute verpackt man Software in Container (meist Docker). Ein Container abstrahiert das OS weg. Er enthält nur die App (z.B. node.js) und ihre direkten Abhängigkeiten (libraries), teilt sich aber den Kernel mit dem Wirts-System ("Host"). Er startet in Millisekunden statt Minuten. Systeme wie Kubernetes orchestrieren tausende solcher Container über mehrere physische Server und fahren sie je nach Last hoch und wieder runter.
3. IaaS, PaaS, SaaS
Miete in der Cloud kommt in verschiedenen Flavors (Shared-Responsibility-Modell):
- IaaS (Infrastructure as a Service): AWS / Hetzner. Du bekommst ein nacktes Blech mit Strom. Das OS und Software musst du verwalten, du bist komplett selbst für das Backup verantwortlich.
- PaaS (Platform as a Service): Heroku. Du wirfst deinen Code auf die Plattform. Um Node.js, Webserver-Konfiguration und Load Balancing kümmert sich der Provider.
- SaaS (Software as a Service): Microsoft 365, Dropbox. Du nutzt nur die fertige Software als User.
Quick-Check
Braucht ein Server einen Bildschirm?
Nein. Man verwaltet ihn "headless" (kopflos) über das Netzwerk (Fernwartung mit SSH oder Remote Desktop). Ein Monitor steht nur für Notfälle im Serverraum.Was ist "Server Down"?
Der Server reagiert nicht. Gründe: Stromausfall, Internet weg, abgestürzt oder überlastet (DDoS).Warum sind Server so laut?
Wegen den Lüftern. Sie erzeugen enorme Hitze und müssen extrem gekühlt werden. Die kleinen Lüfter drehen mit 15.000 Umdrehungen pro Minute und klingen wie ein Triebwerk.