deployment
So veröffentlichst du eine kleine Web-App auf einem VPS – ganz ohne DevOps
Deine App läuft auf dem Laptop einwandfrei – das Schwierige ist die Kluft zwischen „läuft auf meinem Rechner“ und „online im Internet“. Hier erfährst du, was Veröffentlichen wirklich bedeutet, welche vier Dinge jede App braucht und wie du dir das ganze Werkzeug sparst.
Du hast etwas gebaut. Es läuft auf deinem Laptop – du tippst einen Befehl, öffnest localhost, und da ist es. Jetzt möchtest du, dass auch andere es sehen, unter einer echten Adresse, im Internet. Genau an diesem letzten Schritt bleiben erstaunlich viele Nebenprojekte still liegen.
Der Code ist fertig. Was bleibt, ist alles, was drumherum liegt: die App auf einen Server bringen, sie am Laufen halten, auch nachdem du den Laptop zugeklappt hast, und sie unter einer ordentlichen Adresse erreichbar machen – mit Schloss und allem. Dieses Bündel an Fleißarbeit hat einen Namen – DevOps – und es ist der Teil, für den sich niemand angemeldet hat.
Was „Veröffentlichen“ wirklich bedeutet
Veröffentlichen heißt nur, deine App von „läuft auf meinem Rechner“ zu „läuft auf einem Rechner, den die ganze Welt erreichen kann“ zu bringen. Damit das gelingt, müssen drei Dinge zutreffen:
- der Code muss auf dem Server liegen,
- er muss weiterlaufen – auch nach einem Absturz oder Neustart,
- und Besucher müssen ihn unter einer Domain erreichen können, über HTTPS.
Auf deinem Laptop bekommst du die ersten beiden fast geschenkt: Du startest die App, und sie läuft, bis du sie stoppst. Ein Server ist etwas anderes – und genau dieser Unterschied ist die ganze Arbeit.
Die Mauer zwischen deiner App und dem Internet
Hier ist der Stapel kleiner, ungewohnter Bausteine, der sich normalerweise dazwischenstellt:
- Ein Prozessmanager – deine App muss von selbst starten und nach einem Absturz oder Neustart wieder hochkommen. Startest du sie von Hand, stirbt sie in dem Moment, in dem du dich abmeldest.
- Ein Reverse Proxy – deine App lauscht auf einem internen Port wie 3000, aber Besucher kommen auf 80 und 443 an. Etwas muss davorstehen und sie hineinleiten.
- HTTPS – das Schloss. Ein Zertifikat, ausgestellt und erneuert, sonst kennzeichnen Browser deine Seite als „Nicht sicher“.
- Eine Domain und eine offene Tür – der Name muss auf den Server zeigen, und die Firewall muss Web-Verkehr durchlassen.
Keines davon ist für sich genommen schwer. Zusammen sind sie bei der ersten Veröffentlichung eine Mauer – vier Werkzeuge, die du noch nie getroffen hast, jedes mit seiner eigenen Konfigurationsdatei und seiner eigenen Art, still zu scheitern.
Was deine App wirklich braucht
Nimm das Werkzeug weg, und die Anforderungen sind einfach. Deine App braucht einen Ort zum Laufen, eine Möglichkeit, in Betrieb zu bleiben, einen Weg von der öffentlichen Adresse zu ihrem internen Port und ein Zertifikat, damit die Verbindung privat ist. Das ist die ganze Liste. Jedes Werkzeug im DevOps-Haufen ist dafür da, eines dieser vier Dinge zu liefern.
Behalte das im Kopf, und Veröffentlichen fühlt sich nicht länger wie Magie an. Es sind vier Bedürfnisse – ganz gleich, wie du dich entscheidest, sie zu erfüllen.
Die Abkürzung
Du kannst jedes Teil selbst verdrahten: einen Prozessmanager wählen, einen Reverse Proxy konfigurieren, Zertifikate einrichten, die Domain ausrichten, den Port öffnen. Das ist eine echte Lehrstunde und ein echter Nachmittag – oder drei. Oder du lässt Server Manager das übernehmen: Du sagst ihm, dass du eine Web-App hast und unter welcher Adresse sie leben soll, und er bringt deine App auf den Server, hält sie über Abstürze und Neustarts hinweg am Laufen, leitet deine Domain zu ihr und schaltet HTTPS ein – die vier Bedürfnisse, erledigt, ohne dass eine Konfigurationsdatei in Sicht wäre.
Die einzige Voraussetzung ist die Domain. Falls du das noch nicht erledigt hast, fang damit an, eine Domain mit deinem Server zu verbinden – und das Schloss folgt von allein, sobald der Name aufgelöst wird.
Deine App, dein Server
Die Kluft zwischen „es läuft auf meinem Rechner“ und „es ist online“ ist der Punkt, an dem viele gute Ideen für immer im Wartezimmer landen. So muss es nicht sein. Der Code war der schwere Teil, und den hast du schon geschafft – ihn online zu stellen sollte der einfache Teil sein, nicht die Mauer, die dich aufhält. Deine App, auf deinem eigenen Server, unter deiner eigenen Adresse: Das ist der ganze Lohn.
Die Hilfe-Anleitungen begleiten dich Schritt für Schritt durch die Veröffentlichung einer App, sobald du bereit bist.