324

Cloud & DevOps · DevOps

DevOps-Prozesse mit Tools unterstützen

Du lernst, den Weg vom Commit bis in die Produktion zu automatisieren und mit Messwerten laufend zu verbessern.

Anspruchsvoll Anspruchsvoll ca. 30 Std. SelbststudiumApplikationsentwicklung: 4. Lehrjahr · Berufsfachschule
#DevOps#CI/CD#GitHub Actions#GitLab CI#Pull Request#Infrastructure as Code#Observability#DORA-Metriken#Feature Flags

Überblick

Worum geht es?

DevOps ist keine Abteilung und kein einzelnes Tool, sondern eine Arbeitsweise, bei der Entwicklung und Betrieb gemeinsam Verantwortung tragen. Du analysierst, wo Änderungen heute hängen bleiben, führst klare Regeln für Branches und Reviews ein und baust eine Pipeline, die jede Änderung automatisch prüft und ausliefert. Umgebungen entstehen aus Code, und Monitoring zeigt dem Team, wie sich Releases auswirken. Am Ende kannst du mit Kennzahlen belegen, dass Auslieferungen schneller und sicherer geworden sind.

Wofür brauchst du das?

Schweizer Softwarehäuser, Banken und Versicherungen liefern heute oft mehrmals pro Woche aus statt viermal pro Jahr. Das funktioniert nur mit automatisierten Pipelines, guten Reviews und Monitoring. Im vierten Lehrjahr bist du oft die Person, die im Team eine Pipeline verbessert oder ein Projekt neu aufsetzt. Das Modul bündelt Wissen aus 347 (Container), 210 (Cloud), 450 (Testen) und 426 (Agile Methoden).

Das solltest du schon können

  • Anwendungen als Container-Image bauen und mit Docker Compose betreiben (Modul 347)
  • Unit- und Integrationstests schreiben und automatisiert ausführen (Modul 450)
  • Eine Anwendung auf einer Cloud-Plattform bereitstellen (Modul 210)
  • In einem agilen Team mit Backlog, Sprints und Retrospektiven arbeiten (Modul 426)

Typische Tools & Technologien

Git / GitHub / GitLabGitHub Actions / GitLab CIDockerTerraformSonarQube / SonarQube CloudTrivy / DependabotPrometheus / GrafanaAzure Container Apps / Kubernetes

Lernziele

Was musst du können?

Das sind die Fähigkeiten, die am Ende des Moduls sitzen sollten. Jedes Ziel mit einem Beispiel aus dem Lehrbetrieb.

  1. 1

    Den Weg einer Änderung vom Commit bis zur Produktion analysieren und Engpässe benennen

    Kompetenz A, F

    Du zeichnest auf, welche Schritte eine Änderung durchläuft, wie lange sie wartet und wo manuelle Arbeit oder Fehler entstehen. Mit den vier DORA-Kennzahlen machst du den Ist-Zustand messbar.

    Situation

    Ein Softwarehaus in Zug liefert seine Kundenportal-App einmal pro Monat aus. Jedes Release dauert einen halben Tag, und jedes dritte braucht einen Hotfix.

    Deine Aufgabe

    Erstelle eine Wertstromanalyse und erhebe die DORA-Kennzahlen.

    Gutes Ergebnis

    Ein Diagramm zeigt: Code wartet im Schnitt 4 Tage auf Review und 9 Tage auf das nächste Release-Fenster, Tests laufen manuell. Kennzahlen: Deployment-Frequenz monatlich, Lead Time 16 Tage, Change Failure Rate 33 %, Wiederherstellung 6 Std. Die drei grössten Engpässe sind priorisiert.

    WertstromanalyseLead TimeDeployment-FrequenzChange Failure RateTime to Restore
  2. 2

    Eine Branching-Strategie mit Pull Requests und geschützten Branches einführen

    Kompetenz B

    Du legst fest, wie das Team mit Branches arbeitet, und erzwingst Qualität technisch: Kein Merge ohne grüne Pipeline und ohne Review. Kurze Branches verhindern grosse, riskante Merges.

    Situation

    Im Kundenportal-Team leben Feature-Branches oft drei Wochen. Merges dauern Stunden, und auf main landet manchmal Code, der nicht kompiliert.

    Deine Aufgabe

    Führe Trunk-Based Development mit kurzlebigen Branches ein.

    Gutes Ergebnis

    Branches leben höchstens 2 Tage, main ist geschützt: 1 Review, grüne Pipeline und aktueller Stand sind Pflicht. Eine PR-Vorlage fragt nach Tests und Screenshots, CODEOWNERS weist Reviews automatisch zu. Nach einem Monat ist die mittlere Review-Wartezeit von 4 Tagen auf 6 Stunden gesunken.

    Trunk-Based DevelopmentGitFlowPull / Merge RequestBranch ProtectionCODEOWNERS
  3. 3

    Eine CI-Pipeline mit Build, Tests, Codeanalyse und Sicherheitsprüfung aufbauen

    Kompetenz C

    Jeder Push wird automatisch gebaut, getestet und geprüft. Du ordnest die Schritte so an, dass schnelle Prüfungen zuerst laufen, nutzt Caching und sorgst dafür, dass die Pipeline auch bei Sicherheitslücken in Abhängigkeiten anschlägt.

    Situation

    Die Tests des Kundenportals laufen nur, wenn jemand daran denkt. Eine veraltete Bibliothek mit bekannter Lücke ist seit Monaten im Projekt.

    Deine Aufgabe

    Baue eine GitHub-Actions-Pipeline, die bei jedem Pull Request läuft.

    Gutes Ergebnis

    Jobs: Lint und Unit-Tests parallel (2 Min.), danach Integrationstests mit PostgreSQL-Service-Container, SonarQube Cloud-Analyse mit Quality Gate, Abhängigkeitsscan mit Dependabot und Trivy. Mit Caching dauert der ganze Lauf 7 statt 15 Minuten, und die alte Bibliothek ist ersetzt.

    Continuous IntegrationJob / StageCachingQuality GateDependency ScanningArtefakt
  4. 4

    Automatisch ausliefern und bei Problemen schnell zurückrollen

    Kompetenz D

    Was die CI-Prüfung besteht, wird automatisch in Test und nach Freigabe in Produktion ausgeliefert. Du wählst eine Strategie, mit der neue Versionen ohne Ausfall live gehen und bei Fehlern in Minuten zurückgenommen werden können. Feature Flags trennen Deployment und Freischaltung.

    Situation

    Releases des Kundenportals finden am Freitagabend mit 30 Minuten Wartungsfenster statt. Ein fehlerhaftes Release blieb einmal ein ganzes Wochenende online.

    Deine Aufgabe

    Stelle auf Continuous Delivery mit ausfallfreiem Deployment um.

    Gutes Ergebnis

    Jeder Merge auf main landet automatisch in Test, Produktion nach Klick auf 'Approve'. Container Apps Revisions mit 10 % Traffic auf die neue Version für 15 Minuten, dann 100 %. Rollback ist ein Klick oder ein Befehl, unfertige Features sind per Flag ausgeschaltet. Releases finden jetzt dienstags um 10 Uhr statt.

    Continuous Delivery / DeploymentBlue-GreenCanary ReleaseFeature FlagRollback
  5. 5

    Umgebungen und Konfiguration als Code reproduzierbar machen

    Kompetenz E

    Test- und Produktionsumgebung sollen sich nur in klar definierten Werten unterscheiden. Du beschreibst Infrastruktur mit Terraform, legst Konfiguration pro Umgebung fest und lässt Änderungen daran ebenfalls durch Review und Pipeline laufen.

    Situation

    Ein Fehler tritt nur in Produktion auf, weil dort eine andere PostgreSQL-Version und andere Timeouts eingestellt sind.

    Deine Aufgabe

    Bringe beide Umgebungen unter Terraform und dokumentiere die Unterschiede.

    Gutes Ergebnis

    Ein Terraform-Modul für die App-Umgebung, aufgerufen mit 'test.tfvars' und 'prod.tfvars'. Unterschiede sind nur Grösse, Replikas und Domain. Infrastrukturänderungen laufen über Pull Requests, die Pipeline zeigt das Ergebnis von 'terraform plan' als Kommentar.

    Infrastructure as CodeUmgebungsparitättfvars / VariablenGitOpsSecrets-Management
  6. 6

    Mit Monitoring und Logs Rückmeldung aus dem Betrieb ins Team holen

    Kompetenz F

    Nach dem Deployment ist nicht Schluss. Du sorgst dafür, dass das Team sieht, wie sich eine neue Version verhält: Fehlerquote, Antwortzeiten, Logs mit Version. Vorfälle werden ohne Schuldzuweisung nachbesprochen, und die Erkenntnisse landen im Backlog.

    Situation

    Nach einem Release beschweren sich Kundinnen über langsame Ladezeiten. Das Team merkt es erst nach zwei Tagen über den Support.

    Deine Aufgabe

    Mach die Auswirkungen von Releases sichtbar.

    Gutes Ergebnis

    Die App exportiert Metriken an Prometheus, ein Grafana-Dashboard zeigt Antwortzeit und Fehlerquote mit Markierungen für jedes Deployment. Ein Alarm meldet eine 95%-Antwortzeit über 800 ms in den Teamkanal. Nach dem Vorfall gibt es ein Post-Mortem mit drei konkreten Massnahmen im Backlog.

    ObservabilityMetriken / Logs / TracesDeployment-MarkerSLOPost-Mortem

Selbsteinschätzung

Wo stehst du?

Die Kompetenzmatrix zerlegt das Modul in Themenstränge und drei Stufen. Für den Kompetenznachweis solltest du überall mindestens Stufe 2 erreichen. Dein Stand bleibt in diesem Browser gespeichert und färbt Lernweg und Übungen ein.

Tippe auf eine Aussage, um deinen Stand zu setzen: offen unsicher sitzt
A

Lieferfluss analysieren

Ziel 1

Grundlagen

Fortgeschritten

Erweitert

B

Branches und Reviews

Ziel 2

Grundlagen

Fortgeschritten

Erweitert

C

Continuous Integration

Ziel 3

Grundlagen

Fortgeschritten

Erweitert

D

Ausliefern und zurückrollen

Ziel 4

Grundlagen

Fortgeschritten

Erweitert

E

Umgebungen als Code

Ziel 5

Grundlagen

Fortgeschritten

Erweitert

F

Feedback aus dem Betrieb

Ziel 6Ziel 1

Grundlagen

Fortgeschritten

Erweitert

Praxisfall

Schneller ausliefern bei der Seeland Mobility AG

Selin ist im 4. Lehrjahr als Informatikerin Applikationsentwicklung bei der Seeland Mobility AG in Biel, 80 Mitarbeitende. Ihr Team entwickelt die Buchungs-App für E-Bike-Sharing mit einem Spring-Boot-Backend und einem React-Frontend. Releases gibt es einmal im Monat an einem Donnerstagabend, zwei Personen brauchen dafür vier Stunden, und danach folgen oft Hotfixes.

  1. Kapitel 1

    Wo bleibt die Zeit?

    Selin verfolgt zehn abgeschlossene Änderungen vom ersten Commit bis zur Produktion und nutzt dafür Git-Log und Jira. Im Median dauert eine Änderung 19 Tage, davon warten 12 Tage auf das Release-Fenster und 4 Tage auf ein Review. Drei der letzten zehn Releases brauchten einen Hotfix. Auf einem Miro-Board zeichnet sie den Wertstrom und markiert das monatliche Release und die manuellen Tests als grösste Engpässe.

    Ziel 1

  2. Kapitel 2

    Kurze Branches, schnelle Reviews

    Bisher lebten Feature-Branches einen ganzen Sprint lang, und vor jedem Release gab es Merge-Konflikte. Selin schlägt kurze Branches von höchstens zwei Tagen vor, Pull Requests mit einem Pflicht-Review und CODEOWNERS für das Zahlungsmodul. Am ersten Tag will ein Kollege einen Hotfix direkt auf main pushen und wird von der Branch Protection gestoppt. Das Team einigt sich darauf, dass auch Hotfixes über einen Pull Request gehen, mit einem Express-Review innerhalb von 30 Minuten.

    Ziel 2

  3. Kapitel 3

    Die Pipeline als Türsteherin

    In GitHub Actions baut Selin eine Pipeline mit Maven-Build, Unit-Tests, SonarQube Cloud-Quality-Gate und einem Trivy-Scan des Docker-Images. Der erste Lauf dauert 14 Minuten, mit Caching der Abhängigkeiten sind es noch 6. Gleich beim ersten Scan meldet Trivy eine kritische Lücke in einer alten Jackson-Bibliothek. Dependabot erstellt dazu einen Pull Request, der nach grünen Tests gemergt wird.

    Ziel 3

  4. Kapitel 4

    Ausliefern am Dienstagmittag

    Jeder Merge auf main landet jetzt automatisch in der Staging-Umgebung auf Azure Container Apps, für Produktion braucht es eine Freigabe im Pipeline-Lauf. Neue Versionen bekommen zuerst 10 Prozent des Verkehrs. Bei einem Release steigt die Fehlerrate im Canary, weil der QR-Code-Scan auf älteren Android-Geräten nicht mehr funktioniert. Selin schiebt den Verkehr in unter zwei Minuten zurück auf die alte Revision, und weil alle Datenbankänderungen abwärtskompatibel sind, geht dabei nichts verloren.

    Ziel 4

  5. Kapitel 5

    Gleiche Umgebungen und ehrliche Zahlen

    Bei der Ursachensuche fällt auf, dass Staging von Hand eingerichtet war und eine Umgebungsvariable anders gesetzt hatte als Produktion. Selin beschreibt beide Umgebungen mit Terraform, die Unterschiede stehen nur noch in tfvars-Dateien und die Secrets im Key Vault. In Grafana zeigt ein Dashboard Fehlerrate und Antwortzeit mit Markern für jedes Deployment. Nach zwei Monaten liefert das Team zweimal pro Woche aus, die Lead Time liegt bei 3 Tagen, und Selin leitet das Post-Mortem zum QR-Fehler ohne Schuldzuweisung.

    Ziel 5Ziel 6

Lernweg

Wie lernst du das?

  1. 1

    Ist-Zustand verstehen

    ca. 4 Std.

    Du analysierst ein bestehendes Projekt aus Schule oder Lehrbetrieb, bevor du etwas automatisierst.

    • Den Weg einer Änderung vom Ticket bis zur Produktion als Wertstrom aufzeichnen
    • Die vier DORA-Kennzahlen für das Projekt schätzen oder aus Git und Tickets auslesen
    • Die drei grössten Engpässe priorisieren und Ziele festlegen

    Trainiert Kompetenz A1A2

    Lernziel1

  2. 2

    Zusammenarbeit im Repository

    ca. 3 Std.

    Du richtest Regeln ein, die gute Zusammenarbeit technisch unterstützen.

    • Branch Protection, PR-Vorlage und CODEOWNERS in einem Übungsrepo einrichten
    • Trunk-Based Development und GitFlow für das eigene Team vergleichen
    • Mit einer Kollegin drei Pull Requests gegenseitig reviewen und Feedbackregeln festhalten

    Trainiert Kompetenz B1B2

    Lernziel2

  3. 3

    Continuous Integration

    ca. 6 Std.

    Du baust eine schnelle, aussagekräftige CI-Pipeline. GitHub Actions ist für öffentliche Repos und mit dem Student Developer Pack grosszügig kostenlos nutzbar.

    • Workflow mit Lint, Unit-Tests und Build erstellen und mit Caching beschleunigen
    • Integrationstests mit einer Datenbank als Service-Container ergänzen
    • SonarQube Cloud und einen Abhängigkeitsscan einbinden und ein Quality Gate definieren

    Trainiert Kompetenz C1C2

    Lernziel3

  4. 4

    Continuous Delivery

    ca. 6 Std.

    Du lieferst automatisch in zwei Umgebungen aus und übst das Zurückrollen.

    • Image in eine Registry pushen und in Test automatisch deployen
    • Produktions-Deployment mit Freigabe und Canary- oder Blue-Green-Strategie umsetzen
    • Ein Feature Flag einbauen und ein fehlerhaftes Release bewusst zurückrollen

    Trainiert Kompetenz D1D2

    Lernziel4

  5. 5

    Infrastruktur und Konfiguration als Code

    ca. 5 Std.

    Du beschreibst beide Umgebungen mit Terraform und bindest Infrastrukturänderungen in den Pull-Request-Prozess ein.

    • Ein Terraform-Modul für die App-Umgebung schreiben und mit zwei tfvars-Dateien nutzen
    • 'terraform plan' in der Pipeline als PR-Kommentar ausgeben
    • Secrets aus der Pipeline in einen Key Vault oder Secrets Manager verschieben

    Trainiert Kompetenz E1E2

    Lernziel5

  6. 6

    Feedback schliessen und Wirkung messen

    ca. 5 Std.

    Du machst Releases sichtbar, besprichst einen Vorfall nach und misst die Verbesserung.

    • Grafana-Dashboard mit Deployment-Markern aufbauen
    • Ein Post-Mortem zu einem echten oder simulierten Vorfall schreiben
    • Die DORA-Kennzahlen erneut erheben und mit dem Ausgangszustand vergleichen

    Trainiert Kompetenz F1F2A3

    Lernziel61

Üben

Übungen aus der Praxis

Erste CI für ein Schulprojekt

Einstieg Einstieg

Euer Gruppenprojekt aus dem Modul 223 hat keine automatisierten Prüfungen. Es kommt immer wieder Code auf main, der nicht baut.

Weist nach C1B1

  1. Einen Workflow erstellen, der bei jedem Pull Request baut und die Tests ausführt
  2. main schützen: Merge nur mit grüner Pipeline und einem Review
  3. Einen absichtlich fehlerhaften PR erstellen und das Verhalten prüfen
Tipp anzeigen

Die Branch Protection kann die Pipeline erst verlangen, nachdem sie mindestens einmal gelaufen ist.

Lösungsskizze anzeigen

Workflow mit Trigger pull_request, Checkout, Setup der Sprache mit Cache, Build und Test. In den Repository-Einstellungen eine Regel für main mit 'Require status checks' und 'Require approvals'. Der fehlerhafte PR lässt sich nicht mergen.

Ausfallfreies Deployment mit Rollback

Fortgeschritten Fortgeschritten

Ein Startup in Lausanne betreibt eine Buchungs-API als Container. Jedes Deployment verursacht 2 Minuten Ausfall, und ein Rollback dauert eine halbe Stunde.

Weist nach D2C2

  1. Eine Pipeline erstellen, die Images mit Commit-SHA taggt und in Test deployt
  2. Ein Produktions-Deployment mit Freigabe und schrittweisem Traffic-Wechsel umsetzen
  3. Einen Healthcheck definieren, der den Wechsel bei Fehlern stoppt
  4. Ein Rollback durchführen und die Zeit messen
Tipp anzeigen

Ein Rollback ist nur dann schnell, wenn die alte Version noch als Image oder Revision bereitsteht und Datenbankänderungen rückwärtskompatibel sind.

Lösungsskizze anzeigen

Immutable Image-Tags, Deployment über Container-Apps-Revisions oder Kubernetes-Rolling-Update mit Readiness Probe. Canary mit 10 % für einige Minuten, dann voll. Rollback durch Traffic-Umschaltung auf die vorherige Revision in unter 2 Minuten. Datenbankmigrationen nach dem Expand-Contract-Muster.

DevOps-Verbesserung mit messbarer Wirkung

Anspruchsvoll Anspruchsvoll

Ein Team von 5 Entwickelnden in einer Versicherung liefert eine interne Schadenmelde-App quartalsweise aus. Die Teamleiterin will in drei Monaten wöchentlich ausliefern können, ohne dass die Fehlerquote steigt.

Weist nach A3E3F3D3

  1. Wertstrom und DORA-Kennzahlen des Ist-Zustands erheben
  2. Massnahmenplan mit Branching, CI, CD und IaC erstellen und priorisieren
  3. Die zwei wichtigsten Massnahmen technisch umsetzen
  4. Monitoring mit Deployment-Markern und einem Alarm einrichten
  5. Kennzahlen vorher und nachher in einem kurzen Bericht vergleichen
Tipp anzeigen

Fang mit dem Engpass an, der am meisten Wartezeit verursacht. Oft ist das nicht die Technik, sondern das Warten auf Reviews oder Freigaben.

Lösungsskizze anzeigen

Ist-Analyse zeigt meist lange Review- und Release-Wartezeiten. Massnahmen: kurze Branches mit Pflicht-Review, CI mit Tests und Quality Gate, automatisches Test-Deployment, Terraform für beide Umgebungen, Dashboard mit Fehlerquote. Bericht mit Tabelle der vier Kennzahlen vorher und nachher und offenen Punkten.

Selbstcheck

Kannst du das beantworten?

Welche vier DORA-Kennzahlen gibt es?

Deployment-Frequenz, Lead Time for Changes, Change Failure Rate und Time to Restore Service.

Was ist der Unterschied zwischen Continuous Delivery und Continuous Deployment?

Bei Delivery ist jede Version auslieferbar, der Schritt in die Produktion braucht aber eine Freigabe. Bei Deployment geht jede erfolgreiche Änderung automatisch live.

Warum sollen schnelle Prüfungen in der Pipeline zuerst laufen?

Damit Entwickelnde Fehler in wenigen Minuten sehen und teure, langsame Schritte nicht unnötig laufen.

Was ist ein Canary Release?

Die neue Version erhält zuerst nur einen kleinen Teil des Verkehrs. Erst wenn sie stabil läuft, wird schrittweise umgeschaltet.

Wozu dienen Feature Flags?

Um Code auszuliefern, ohne die Funktion sofort freizuschalten, und sie bei Problemen ohne neues Deployment wieder abzuschalten.

Was bedeutet Umgebungsparität?

Test- und Produktionsumgebung sind so gleich wie möglich aufgebaut, damit sich Fehler früh zeigen.

Was kennzeichnet ein gutes Post-Mortem?

Es sucht Ursachen im System statt Schuldige, hält den Ablauf fest und endet mit konkreten, verantworteten Massnahmen.

Prüfung

Stolpersteine & Prüfungstipps

Typische Stolpersteine

  • DevOps auf 'wir haben jetzt eine Pipeline' reduzieren, ohne an Reviews, Feedback und Zusammenarbeit zu arbeiten.
  • Eine Pipeline bauen, die 40 Minuten dauert. Dann wird sie umgangen oder ignoriert.
  • Fehlschlagende Tests deaktivieren, damit die Pipeline wieder grün ist.
  • Secrets als Klartext in Workflow-Dateien oder Variablen ohne Schutz ablegen.
  • Datenbankmigrationen so bauen, dass die alte Version nach einem Rollback nicht mehr läuft.
  • Verbesserungen behaupten, ohne Kennzahlen vorher und nachher zu messen.

Tipps für den Kompetenznachweis

  • Erkläre jede Pipeline-Stufe mit ihrem Zweck: Was würde ohne diesen Schritt schiefgehen?
  • Belege Verbesserungen mit Zahlen, z.B. Lead Time von 16 auf 3 Tage.
  • Zeige eine fehlschlagende Pipeline und wie du den Fehler findest. Das wirkt stärker als nur grüne Läufe.
  • Nenne bei Werkzeugen immer auch die Alternative (z.B. GitHub Actions oder GitLab CI) und warum du dich entschieden hast.

Glossar

Begriffe kurz erklärt

DevOps
Arbeitsweise, bei der Entwicklung und Betrieb gemeinsam Verantwortung für Auslieferung und Stabilität tragen.
Continuous Integration
Änderungen werden häufig zusammengeführt und jedes Mal automatisch gebaut und getestet.
Continuous Delivery
Jede geprüfte Version ist jederzeit auslieferbar, der Schritt in die Produktion ist ein Knopfdruck.
Trunk-Based Development
Alle arbeiten mit sehr kurzlebigen Branches nahe am Hauptzweig und mergen täglich.
Quality Gate
Automatische Schwelle, z.B. Testabdeckung oder keine kritischen Befunde, die erfüllt sein muss, damit es weitergeht.
Canary Release
Neue Version wird zuerst nur für einen kleinen Teil der Nutzenden ausgerollt.
Feature Flag
Schalter im Code, mit dem eine Funktion ohne neues Deployment ein- oder ausgeschaltet wird.
DORA-Kennzahlen
Vier Messgrössen für Leistungsfähigkeit in der Softwareauslieferung aus der DevOps-Forschung.
Post-Mortem
Strukturierte Nachbesprechung eines Vorfalls ohne Schuldzuweisung, mit Massnahmen.

Mit KI-Tutor

Jeder Kurs hat einen persönlichen KI-Tutor

  • Erklärt in deinem Tempo
  • Debuggt mit dir
  • Fachgespräch wie im QV
  • Unbegrenzt neue Übungen

Denkanstösse statt fertiger Lösungen. In der Gratis-Lektion zum Ausprobieren.

KI-Tutor · Modul 164Nur Tipps

Mein JOIN liefert plötzlich doppelte Zeilen. Was mache ich falsch?
Gute Frage! Schau dir die Spalte an, über die du verbindest: Ist sie in beiden Tabellen eindeutig? Was passiert mit einer Kundin, die zwei Bestellungen hat?
Ah, dann kommt sie zweimal vor …
Genau. Willst du die Bestellungen zählen oder nur die Kundinnen sehen? Je nachdem hilft dir GROUP BY oder DISTINCT.

Tutavio

So helfen wir dir bei Modul 324

  • Wir analysieren mit dir die heutige Auslieferung in deinem Lehrbetrieb und erarbeiten eine realistische Wertstromanalyse mit Kennzahlen.
  • Wir bauen gemeinsam deine GitHub-Actions- oder GitLab-CI-Pipeline auf und machen sie Schritt für Schritt schneller.
  • Wir üben mit dir ausfallfreie Deployments und Rollbacks in einer Test-Umgebung, bis du sie sicher erklären kannst.
  • Wir bereiten mit dir die Präsentation deines DevOps-Projekts vor, inklusive Vorher-nachher-Zahlen und Fragen der Prüfenden.

Unverbindlich anfragen. Wir melden uns innert 24 Stunden.

Tutor:in für Modul 324 finden

Passende Module

Diese Seite ist eine eigene Lernhilfe von Tutavio und keine offizielle Modulbeschreibung. Nummer, Titel und Einordnung stammen aus den öffentlichen Bildungsplänen. Die verbindliche Modulidentifikation findest du im Modulbaukasten von ICT-Berufsbildung Schweiz.

Gratis-LektionNachhilfe