dev staging

So richtest du Dev-, Staging- und Production-Server in der Cloud ein

So richtest du Dev-, Staging- und Production-Server in der Cloud ein

Wer Software in der Cloud betreibt, braucht mehr als nur einen Server. Damit Updates nicht direkt die Live-Umgebung treffen, arbeitest du am besten mit drei getrennten Umgebungen: Development, Staging und Production. In diesem Artikel erfhrst du, wie du diese drei Umgebungen Schritt fr Schritt einrichtest, welche Cloud-Dienste sich eignen und worauf du bei der Trennung achten musst. Vorkenntnisse in Cloud-Grundlagen helfen, sind aber nicht zwingend ntig.

Die drei Umgebungen und ihre Aufgaben

Development (kurz Dev) ist der Ort, an dem du neuen Code schreibst und testest. Hier darf vieles experimentell sein ? Datenbanken knnen Resets vertragen, und Performance ist zweitrangig. Staging ist die Vorstufe zur Live-Umgebung. Hier wird getestet, ob alles zusammenluft, bevor es an echte Nutzer geht. Die Konfiguration sollte mglichst identisch zur Production sein. Production ist die Live-Umgebung, die deine Nutzer tatschlich verwenden. Hier zhlen Stabilitt, Sicherheit und Performance. Ein einfaches Beispiel: Du nderst eine Datenbank-Spalte. In Dev testest du das lokal, in Staging prfst du, ob bestehende Daten damit klarkommen, und erst dann rollst du die nderung in Production aus.

Cloud-Anbieter und Grundstruktur whlen

Die groen Anbieter wie AWS, Google Cloud und Microsoft Azure bieten alle Mglichkeiten, mehrere Umgebungen zu trennen. Fr den Einstieg reicht es oft, pro Umgebung ein eigenes Projekt oder eine eigene Resource Group anzulegen. So bekommst du eine saubere Trennung von Kosten, Zugriffsrechten und Konfiguration. Bei AWS nutzt du zum Beispiel separate Accounts ber AWS Organizations, bei Google Cloud legst du eigene Projekte an. Ein praktischer Tipp: Starte mit der kleinstmglichen Infrastruktur in Dev. Ein einzelner kleiner Server reicht oft aus, whrend du in Production spter auf Load Balancer und mehrere Instanzen setzt. So sparst du Kosten, solange du noch entwickelst.

Infrastruktur mit Code verwalten

Statt Server per Hand zu konfigurieren, beschreibst du deine Infrastruktur am besten als Code. Tools wie Terraform oder AWS CloudFormation erlauben es dir, Server, Datenbanken und Netzwerke in Dateien zu definieren. Der groe Vorteil: Du kannst die gleiche Konfiguration fr alle drei Umgebungen nutzen und nur einzelne Werte wie Servergre oder Domain-Namen anpassen. So stellst du sicher, dass Dev, Staging und Production wirklich gleich aufgebaut sind. Ein konkretes Beispiel: Du definierst in Terraform eine Datenbank mit einer Variablen fr die Instanzgre. In Dev verwendest du eine kleine Instanz, in Production eine groe. Die Grundstruktur bleibt identisch, nur die Leistung skaliert.

Deployment und Updates steuern

Wenn deine drei Umgebungen stehen, brauchst du einen klaren Weg, wie Code dorthin gelangt. Ein CI/CD-Pipeline-Tool wie GitHub Actions, GitLab CI oder Jenkins automatisiert das: Neuer Code wird zuerst in Dev deployed, dann in Staging getestet und schlielich in Production freigegeben. Wichtig ist, dass du in Staging einen echten Testlauf machst ? nicht nur einen kurzen Blick, sondern die wichtigsten Nutzerpfade durchgehst. Ein hufiger Fehler ist, Staging zu berspringen, weil es Zeit spart. Das fhrt aber oft zu Problemen, die erst auffallen, wenn echte Nutzer betroffen sind. Nimm dir die Zeit fr diesen Schritt, besonders bei Datenbank-nderungen oder neuen Abhngigkeiten.

Fazit

Drei getrennte Cloud-Umgebungen einzurichten ist kein Hexenwerk. Mit einer klaren Trennung von Dev, Staging und Production, einem Cloud-Anbieter deiner Wahl und Infrastructure-as-Code-Tools hast du die Grundlage fr sichere und zuverlssige Deployments. Starte klein, automatisiere schrittweise und berspringe Staging nie. So vermeidest du die meisten Probleme, bevor sie deine Nutzer erreichen.