GitLab: Die Referenz-Architektur für die vollständige DevOps-Plattform
TL;DR Moderne Softwareentwicklung erfordert mehr als nur Code-Hosting. Während Hyperscaler wie AWS …

Versionsverwaltung wird oft auf ein technisches Minimum reduziert: Code ablegen, Änderungen nachverfolgen, fertig. In modernen Plattformarchitekturen ist Git jedoch weit mehr als ein Entwicklerwerkzeug. Es ist Steuerungsinstanz, Integrationspunkt und häufig der Ort, an dem technische Wahrheit definiert wird.
AWS CodeCommit und GitLab adressieren beide Git-basierte Versionsverwaltung. Architektonisch stehen sie jedoch für zwei grundverschiedene Ansätze. Das eine ordnet Git einer Cloud-Plattform unter. Das andere macht Git zum zentralen Kern der Plattform.
AWS CodeCommit ist der verwaltete Git-Repository-Dienst von AWS. Er stellt private Repositories bereit, integriert sich nahtlos in IAM, CloudTrail und andere AWS-Services und lässt sich direkt mit CodePipeline und CodeBuild verbinden. Betrieb, Skalierung und Verfügbarkeit übernimmt AWS vollständig.
Für Teams, die ihre gesamte Toolchain innerhalb von AWS halten, ist CodeCommit funktional ausreichend. Repositories sind schnell angelegt, Zugriffsrechte sauber über IAM regelbar, Auditing ist integriert. Git wird hier wie andere Cloud-Bausteine konsumiert: zuverlässig, unspektakulär, ohne zusätzlichen Betriebsaufwand.
Diese Reduktion auf das Wesentliche ist jedoch kein Zufall.
CodeCommit beschränkt sich konsequent auf Quellcodeverwaltung. Pull Requests, einfache Review-Workflows und grundlegende Zugriffskontrolle sind vorhanden. Darüber hinausgehende Funktionen – CI/CD-Orchestrierung, Security-Scans, Artefakt-Registries, Projekt- oder Release-Management – existieren entweder nicht oder werden über separate AWS-Dienste abgebildet.
Git wird damit zu einem weiteren Baustein im AWS-Baukasten. Automatisierung, Deployment und Governance verteilen sich auf mehrere Services mit eigener Logik, eigenen APIs und eigenen Kostenmodellen. Das Repository selbst bleibt passiv. Es speichert Code, steuert aber nicht die Plattform.
Für einfache Setups ist das tragfähig. Für Plattformarchitekturen wird es zum strukturellen Nachteil.
GitLab verfolgt einen grundlegend anderen Ansatz. Als integrierte DevOps-Plattform vereint GitLab Versionsverwaltung, CI/CD, Artefakt-Registry, Security-Scanning und Projektmanagement in einem System. Git ist hier nicht nur Speicherort, sondern Auslöser, Referenz und Kontrollpunkt.
Der Kern von GitLab ist Open Source, ergänzt durch optionale kommerzielle Funktionen. Die Plattform lässt sich selbst betreiben – On-Premises, in Kubernetes oder in europäischen Cloud-Umgebungen – und folgt offenen Git-Standards ohne Bindung an einen einzelnen Infrastruktur-Anbieter.
Git wird damit vom Hilfsmittel zur tragenden Säule.
Der entscheidende Unterschied zwischen CodeCommit und GitLab liegt in der Rolle, die Git einnimmt. In GitLab ist das Repository die zentrale Quelle für Automatisierung und Betrieb. CI/CD-Pipelines, Infrastrukturdefinitionen, Deployment-Logik und Policies werden gemeinsam versioniert.
Gerade in Kubernetes-zentrierten Architekturen fügt sich dieses Modell nahtlos in GitOps-Ansätze ein. Git definiert den gewünschten Zustand, Plattformkomponenten setzen ihn um. Änderungen sind nachvollziehbar, reproduzierbar und auditierbar – weil sie alle über denselben Mechanismus laufen.
CodeCommit kann das nicht leisten, weil es dafür nicht entworfen ist.
Diese Offenheit hat direkte architektonische Konsequenzen. GitLab funktioniert unabhängig vom Cloud-Provider. Repositories, Pipelines, Zugriffsmodelle und Artefakte bleiben konsistent, auch wenn sich die darunterliegende Infrastruktur ändert.
Ob Kubernetes-Cluster in verschiedenen Clouds, hybride Umgebungen oder regulatorisch getrennte Setups – GitLab bleibt der stabile Ankerpunkt. Versionsverwaltung wird nicht Teil eines Ökosystems, sondern übergreifende Plattformfunktion.
Bei CodeCommit ist diese Entkopplung nicht vorgesehen. Git folgt hier der Cloud, nicht umgekehrt.
Der größere Funktionsumfang von GitLab ist kein Selbstläufer. GitLab ist kein minimalistischer Dienst. Betrieb, Updates, Backup-Strategien, Hochverfügbarkeit und Governance müssen bewusst gestaltet werden – insbesondere im Self-Managed-Betrieb.
Dafür entsteht eine integrierte Toolchain. Abhängigkeiten zwischen Tools werden reduziert, Schnittstellen vereinheitlicht, Verantwortlichkeiten klarer. Entwicklung, Betrieb und Deployment rücken näher zusammen – ein Modell, das insbesondere in Kubernetes- und Multi-Cloud-Umgebungen trägt.
Komplexität wird nicht vermieden, sondern kontrolliert.
| Aspekt | AWS CodeCommit | GitLab |
|---|---|---|
| Betriebsmodell | Vollständig gemanagt | Self-Managed oder SaaS |
| Rolle von Git | Cloud-Baustein | Plattformkern |
| CI/CD | Extern (AWS-Services) | Integriert |
| Plattformbindung | Hoch (AWS) | Gering |
| GitOps-Eignung | Begrenzt | Sehr hoch |
| Langfristige Portabilität | Gering | Hoch |
AWS CodeCommit ist sinnvoll für:
GitLab ist sinnvoll für:
Versionsverwaltung ist kein isoliertes Entwickler-Tool. Sie entscheidet darüber, wo Steuerung, Automatisierung und Wahrheit liegen.
AWS CodeCommit ordnet Git der Cloud unter. GitLab macht Git zur Plattform – offen, integrierend und unabhängig von einzelnen Anbietern.
Der Unterschied ist nicht funktional, sondern strategisch. Wer Versionsverwaltung als Cloud-Funktion betrachtet, akzeptiert Fragmentierung. Wer sie zum Plattformkern macht, schafft einen stabilen Ankerpunkt – auch dann, wenn sich Infrastruktur, Cloud oder Organisation verändern.
TL;DR Moderne Softwareentwicklung erfordert mehr als nur Code-Hosting. Während Hyperscaler wie AWS …
TL;DR GitLab CI/CD ist weit mehr als ein Build-Tool: Richtig eingesetzt wird es zum zentralen …
Service oder Architekturentscheidung? CI/CD wird oft als Werkzeugfrage behandelt: Welcher Dienst, …