carloscastilla - Fotolia
AWS CodeCommit versus GitHub: Wo die Tools jeweils punkten
Bevor Entwickler sich für den Quellcodekontrollservice von AWS entscheiden, sollten sie die Vor- und Nachteile im Vergleich zu Alternativen wie GitHub prüfen.
Entwicklern mangelt es nicht an Anwendungen, um Softwarecode und andere Artefakte zu speichern sowie zu kontrollieren. Neben Services wie GitHub und Bitbucket bieten auch einige Public-Cloud-Anbieter eigene native Quellcodekontrollsysteme an.
In AWS ist diese native Option CodeCommit, ein gemanagter Service für die Quellcodekontrolle, mit dem Entwickler ihre Git-Repositorys auf die Infrastruktur von AWS erweitern können. CodeCommit bietet zwar viele Vorteile, wird aber nicht den Anforderungen jedes Entwicklungsteams gerecht.
Lassen Sie uns prüfen, wann der Service sinnvoll ist und wann man Alternativen in Betracht ziehen sollten.
Vorteile von AWS CodeCommit
Einer der größten Vorteile von AWS CodeCommit ist die Integration mit dem Rest des AWS-Ökosystems. CodeCommit lässt sich eng mit anderen nativen Diensten wie CodeBuild und CodePipeline integrieren. Ein Entwickler kann während der Einrichtung der Build Pipeline einfach ein Git-Repository in der AWS-Konsole auswählen.
Durch CodeCommit-Integrationen kann ein Entwickler auch eine Lambda-Funktion oder den Amazon Simple Notification Service (SNS) auslösen. Darüber hinaus ermöglicht CodeCommit einem Entwicklungsteam die Verwendung vorhandener und vorkonfigurierter Rollen über AWS Identity and Access Management.
AWS CodeCommit enthält außerdem kostenlose, private Git-Repositorys für Entwickler. Im Gegensatz zu anderen Diensten, wie zum Beispiel GitHub, ermöglicht CodeCommit unbegrenzte öffentliche und private Git-Repositorys mit einem Pay-as-you-go-Modell, das nur aktive monatliche Nutzer abrechnet. Dies kann ein großer Vorteil für kleine Unternehmen oder einzelne Entwickler sein, die nur wenige Repositorys ohne hohe Kosten oder ohne die Verwaltung der zugrunde liegenden Infrastruktur benötigen.
CodeCommit bietet auch robuste Sicherheit, da es automatisch alle Dateien während des Transports und im Ruhezustand verschlüsselt. Dies trägt dazu bei, die üblichen Bedenken, proprietäre Informationen in die Public Cloud zu bringen, zu verringern.
Einschränkungen von AWS CodeCommit
Obwohl CodeCommit einige interessante Funktionen zur Verfügung stellt, ist es nicht für alle Situationen geeignet. GitHub zum Beispiel – der Hauptkonkurrent von CodeCommit – verfügt über eine umfangreiche Benutzerbasis sowie einige wichtige Funktionen, die CodeCommit fehlen, wie zum Beispiel die Protokollierung einzelner Commits innerhalb eines Git. Dies liegt wahrscheinlich daran, dass CodeCommit, das 2015 veröffentlicht wurde, noch relativ jung ist im Vergleich zu GitHub, das 2008 eingeführt und 2018 von Microsoft übernommen wurde.
Während sich AWS bisher auf das Backend von CodeCommit konzentriert hat, könnte der Cloud-Anbieter noch an einer verbesserten Dokumentation und einer benutzerfreundlicheren Oberfläche arbeiten.
Darüber hinaus ist die CodeCommit-Performance laut verschiedener Berichte problematisch. Dies kann auf periodische HTTPS-Verbindungsprobleme und einen gewissen Overhead zurückzuführen sein, der durch die Verschlüsselung von Daten im Ruhezustand verursacht wird.
Auch wenn AWS-Benutzer von der nativen Integration von CodeCommit profitieren, wird die breitere Entwicklergemeinde wahrscheinlich abwarten, wohin sich der Dienst entwickelt. Man sollte den Service erst einmal ausprobieren und als Ergänzung zu einem bestehenden Quellcodekontrollsystem verwenden. Weitere Feature-Updates und Bugfixes könnten das Potenzial des Angebots aber in Zukunft erhöhen.