Azure DevOps vs. GitHub


Wenn es um moderne Softwareentwicklung geht, ist Zusammenarbeit das A und O. Zu diesem Zweck steht den Entwicklungsteams heute eine mehr als große Auswahl an Tools zur Verfügung. Mit einer Nutzerbasis im zweistelligen Millionenbereich ist GitHub der Dauerbrenner für das Teilen, Zusammenarbeiten und Speichern von Code, aber Azure DevOps, das als Visual Studio Online begann und dann eine Namensänderung durchlief, bei der es als Microsoft Visual Studio Team Services (VSTS) bekannt war, hat einen Teil seiner Show gestohlen, insbesondere wenn es um Softwareteams geht, die sich stark auf Microsoft-Technologien wie .NET und C# in ihrem Stack verlassen.

Der offensichtlichste, klassische Unterschied zwischen den beiden Plattformen besteht darin, dass Azure DevOps auf Closed-Source-Projekte ausgerichtet ist, während GitHub sich auf Open Source konzentriert. Allerdings hat GitHub es Entwicklern schon immer leicht gemacht, zwischen öffentlichem/privatem Entwicklungsmodus hin und her zu wechseln. Microsoft hat auch drastische Schritte unternommen, um die Gunst der Open-Source-Community zu gewinnen, wobei der vielleicht bedeutendste Schritt, um die Community zu umwerben, die Übernahme von GitHub im Jahr 2018 war.

Schon vor Abschluss der Übernahme von GitHub hatte Microsoft große Fortschritte gemacht, um Open-Source-freundlicher zu werden. Unter der Leitung von CEO Satya Nadella hat der Softwareriese erhebliche Investitionen in Open-Source-Software getätigt, darunter Akquisitionen, die Ausweitung der Unterstützung für Linux in einigen Produkten sowie die Open-Source-Bereitstellung seiner hauseigenen Technologien wie das .NET Framework.

Azure DevOps ist Open-Source-freundlich, geht aber nicht annähernd so weit wie GitHub. Der Dienst hat eine deutliche Überschneidung mit GitHub, zielt aber darauf ab, eine umfassende Plattform für die Verwaltung von DevOps zu sein. Dazu gehören das Release-Management und alle anderen Phasen des Softwareentwicklungslebenszyklus für große und kleine Teams. GitHub hat im Laufe der Jahre auch seine Fähigkeiten erweitert, um eine überzeugende Plattform für die Entwicklung und den Versand von Code zu werden.

Zum Vergleich kommt es also wirklich auf die Kundentauglichkeit in Bezug auf spezifische Funktionen, Benutzerfreundlichkeit und Preismodelle an. Lassen Sie uns in einige dieser Kategorien eintauchen und sehen, wie sie sich stapeln.

Microsoft Visual Studio Teamdienste (VSTS)

Azure DevOps, früher bekannt als Visual Studio Team Services (und davor Visual Studio Online), ist im Wesentlichen eine in der Azure-Cloud gehostete Version von Azure DevOps Server (früher als Team Foundation Server oder TFS bezeichnet), der Quellcode- und Anwendungslebenszyklusverwaltungsplattform von Microsoft.

Die Veränderungen, die das Produkt im Laufe der Zeit durchlaufen hat, einschließlich eines grundlegenden Rebrandings im Jahr 2018 und Veröffentlichungen im Jahr 2020, waren mehr als nur ein Rebranding. Ein wichtiger Teil der grundlegenden Änderungen bestand darin, dass Microsoft die einzelnen Azure DevOps-Dienste so aufschlüsselt, dass sie für DevOps-Teams einfacher zu übernehmen sind. Das bedeutet, dass ein Team, das nur Azure Pipelines benötigt, genau diesen Azure-Dienst erhalten kann, ohne dass Kosten für Dienste anfallen, die es nicht verwendet. Zu den in Azure DevOps verfügbaren Produkten gehören:

  • Azure Boards
  • Azure Pipelines
  • Azure Repos
  • Azure-Artefakte
  • Und mehr

Azure DevOps bietet erweiterte Features zur Unterstützung der Zusammenarbeit von Softwareteams und Continuous Delivery/Integration (CI/CD), z. B. Git-basierte Quellcodeverwaltungsrepositorys (Bitbucket und andere), Projektnachverfolgungstools, Telemetriedienste, Kubernetes-Integration, Jenkins-Serverunterstützung, eine optimierte Entwicklungs-IDE und vieles mehr.

Die Microsoft VSTS-Benutzeroberfläche. Quelle: blogs.technet.microsoft.com.

Zu den weiteren Funktionen gehören die Unterstützung von Microsoft Office-Komponenten (z. B. Excel und Project) sowie cloudspezifische Entwicklungsdienste wie Cloud-Build, Cloud-Lasttests und Application Insights: ein auf maschinellem Lernen basierendes Tool zum Erkennen, Diagnostizieren und Beheben von Problemen mit Webanwendungen/-diensten und Leistungsproblemen.

GitHub (Englisch)

GitHub wurde 2008 eingeführt und ist der führende Git-Repository-Hosting-Dienst im Web, der die besten Funktionen zur Verwaltung der Quellcodeverwaltung von Git in Kombination mit Cloud-basierter Codefreigabe, sozialen Netzwerken und einer umfangreichen Online-Community von Mitarbeitern/Entwicklern bietet.

Die GitHub-Schnittstelle. Quelle: guides.github.com.


GitHub wurde als Plattform für Social Coding beschrieben - eine treffende Beschreibung, da das Angebot eine Vielzahl von sozialen Funktionen bietet, die es zur beliebtesten Code-Hosting-Plattform im Web gemacht haben. In der Tat drehen sich die meisten seiner leistungsstarken Funktionen um seine Kollaborations- und Freigabefunktionen: Für sich genommen ist Git ein äußerst beliebtes und kompetentes verteiltes Versionskontrollsystem, aber GitHub bringt dies auf die nächste Stufe, indem es Benutzern ermöglicht, öffentlich an Projekten zusammenzuarbeiten, Projekte für Experimente und Spezialisierungen zu forken sowie Ideen zu verbreiten/zu teilen. unter anderem.

Zu den weiteren erwähnenswerten sozialen Aspekten der Plattform gehören die Sichtbarkeit dessen, was andere Benutzer entwickeln, das Codieren von "Lebensläufen" für Entwickler, um frühere Arbeiten hervorzuheben, und die Möglichkeit, mit anderen Entwicklern in Kontakt zu treten.

GitHub bietet hervorragende Unterstützung für die Verwaltung von Softwareprojekten aller Größenordnungen mit einem robusten Funktionsumfang, der sich auf Folgendes konzentriert:

  • Code-Management: öffentliche und private Repositories
  • Code-Workflow: GitHub Actions, GitHub Packages, Code-Reviews, Pull Requests, geschützte Branches
  • Zusammenarbeit: Verwalten von Mitarbeitern, Problemen, Backlogs, Projektboards, Meilensteinen, Seiten und Wikis, GitHub-Repository-Einblicken, Teamdiskussionen, Organisation und Teamverwaltung
  • Sicherheit und Compliance: Sicherheitswarnungen, automatisiertes Scannen von Code, Audit-Protokoll, GitHub Connect, LDAP
  • Marktplatz und Integrationen: umfasst Build-Tools, Issue-Tracker wie Jira, Container-Plattformen wie Docker

Parallele Bewertung: Azure DevOps vs. GitHub

1. Funktionsumfang

Beide Angebote sind umfassende, funktionsreiche Plattformen für das Teilen/Verfolgen von Code und das Erstellen von Software à la CI/CD, sowie stark auf Git ausgerichtet, wobei der Schwerpunkt auf verschiedenen Aspekten der kollaborativen Softwareentwicklung liegt.

Azure DevOps ist mit seiner Vielzahl von Tools und Diensten zur Erleichterung der Erstellung, Entwicklung, des Testens und der Verwaltung von Softwareprojekten eine beeindruckende Lösung für Entwicklungsteams aller Größenordnungen.

In ähnlicher Weise haben die fortschrittlichen Funktionen von GitHub für die teambasierte Softwareentwicklung, wie z. B. die Nachverfolgung von Projektproblemen, die Codeüberprüfung und verschiedene soziale Funktionen, es zur Plattform der Wahl für unzählige Organisationen/Projekte gemacht.

Die Dienste von Azure DevOps sind mit einer Vielzahl von Entwicklungstools kompatibel, unabhängig vom Framework oder der Cloud, die Sie verwenden. Azure Pipelines bieten Ihnen Continuous Integration und Continuous Delivery, die für jede Programmiersprache oder Cloud funktionieren. Sie können es sogar mit GitHub oder einem anderen Git-Repository verbinden. Mit einer Azure-Pipeline, die in einer YAML-Datei definiert ist, können Sie Ihren Code auf Amazon AWS und Google Cloud Platform bereitstellen. Die anderen Dienste, z. B. Azure Boards und Azure Repos, ergänzen dies durch Kanban-Boards zum Verwalten von Projekten und Scrum-Arbeitselementen, zum Hosten privater Repositorys und mehr. Dieser umfangreiche Funktionsumfang für DevOps erinnert in vielerlei Hinsicht an die Art und Weise, wie Gitlab, ein weiterer Git-Quellcode-Management-Dienst, in den letzten Jahren darauf umgestellt hat, DevOps-Services über den gesamten Lebenszyklus anzubieten.

Der Funktionsumfang von GitHub umfasst analoge Funktionen für die Cloud-Version, wobei CI/CD von GitHub Actions bereitgestellt wird. Wenn Sie lokales Hosting benötigen, ähnlich wie Azure DevOps Server, bietet GitHub Enterprise alle GitHub-Features in einer selbstgehosteten Version. Für noch mehr Funktionen, einschließlich kontinuierlichem Lernen für Ihr Team mit benutzerdefinierten GitHub Learning Lab-Kursen, können Sie ein Upgrade auf GitHub One durchführen.

Azure DevOpsGitHub (Englisch)
Funktionsumfang5/55/5

2. Benutzerfreundlichkeit

Beide Angebote weisen eine moderate Lernkurve auf, obwohl dies für das durchschnittliche Team weniger ein Problem darstellen kann (je nachdem, um welche Art von Entwicklung es sich handelt). Zum Beispiel machen der in der Cloud geborene Stammbaum von GitHub und die vertrauten kollaborativen/sozialen Funktionen es für diejenigen trivial, die über grundlegende Kenntnisse von Git und eine Vorliebe für Social-Media-Tools verfügen. Microsoft-zentrierte Entwickler, frühere Visual Studio Online-Benutzer und Azure-Cloud-Liebhaber werden sich mit den Dashboards von Azure DevOps und den verschiedenen Entwicklungs-/Verwaltungskonsolen sofort zu Hause fühlen.

Dank der hervorragenden Integration in IDEs wie Visual Studio, Eclipse, IntelliJ und Android Studio macht es Azure DevOps Entwicklern leicht, Dienste neben ihrem Code zu verwalten. GitHub hingegen verfügt über eine Benutzeroberfläche, die durchweg einfach zu bedienen ist und den Benutzern ein elegantes Erlebnis bietet. GitHub Desktop erleichtert die Zusammenarbeit in Ihrer Desktop-Entwicklungsumgebung und ist offiziell für macOS und Windows verfügbar.

Azure DevOpsGitHub (Englisch)
Benutzerfreundlichkeit4/54/5

3. Unterstützung durch die Community

GitHub nimmt sich in dieser Kategorie absichtlich den Kuchen. Wie bereits erwähnt, wurde das Angebot von Grund auf so konzipiert, dass es sehr sozial und gemeinschaftsbasiert ist. Infolgedessen ist der Community-Support des Angebots beispiellos. Azure DevOps verfügt auch über eine beträchtliche Anhängerschaft sowohl unter Microsoft-zentrierten Entwicklern als auch unter Open-Source-Befürwortern, kommt aber nicht an GitHub heran, wenn es um den Support der Community geht.

Azure DevOps-Benutzer finden zahlreiche Fragen und Antworten aus der Community bei Stack Overflow, wo es zahlreiche Fragen gibt, die für Azure DevOps markiert sind. Unterstützung ist auch von den virtuellen Azure DevOps-Assistenten von Microsoft verfügbar. Wenn Sie über einen Azure-Supportplan verfügen, können Sie umfassenderen technischen Support erhalten.

>

Etwas anders sieht es bei GitHub aus, wo neben dem gesamten Community-Support und der Online-Dokumentation auch für alle Produkte Support per E-Mail verfügbar ist. Darüber hinaus können GitHub Enterprise Cloud-Kunden erweiterten Support erhalten, indem sie sich für den GitHub Premium-Support registrieren.

Azure DevOpsGitHub (Englisch)
Unterstützung durch die Community4/55/5

4. Freigaberate

Azure DevOps Server wurde im Laufe der Jahre regelmäßig veröffentlicht, und als Ergebnis dieses Angebots profitiert Azure DevOps von vielen seiner Featureerweiterungen. Allerdings ist Azure DevOps ein relativ neues Angebot, während GitHub Enterprise seit seiner Einführung im Jahr 2011 mehrere Releases pro Monat erlebt hat.

Beide Produkte bewegen sich recht schnell in Bezug auf die Veröffentlichung von Fehlerbehebungen und Produktupdates. Azure DevOps hat in den letzten Jahren Releases in einem Rhythmus von etwa zweimal im Monat erlebt. Features werden in der Regel nur kurze Zeit später in Azure DevOps Server, der lokalen Version des Produkts, als in der Cloudversion veröffentlicht.

GitHub verfügt in der Regel auch über mehrere Releases pro Monat und häufiger als Azure DevOps. Diese decken alles Wesentliche ab, einschließlich Sicherheitsupdates und Updates für neue Funktionen.

Azure DevOpsGitHub (Englisch)
Release-Rate4/55/5

5. Preisgestaltung und Support

GitHub und Azure DevOps unterscheiden sich erheblich, wenn es um die Preisgestaltung geht. Das Angebot von Microsoft ist für bis zu 5 Benutzer kostenlos und bietet eine unbegrenzte Anzahl privater Repositories zum Booten. Für Azure DevOps Server ist eine kostenlose Testversion verfügbar, mit der Sie das Produkt herunterladen und lokal testen können.

Wenn es um die Nutzung von GitHub geht, können alle öffentlichen Open-Source-Projekte kostenlos gehostet werden - nur für private Repositories fallen Kosten an. Kostenpflichtige Pläne beginnen bei 7 US-Dollar pro Monat für den persönlichen Gebrauch mit unbegrenzten privaten Repositories und erreichen 21 US-Dollar pro Benutzer/Monat auf Unternehmensebene (verkauft in Paketen mit 10 Benutzern, jährliche Abrechnung). Mit Enterprise-Plänen können Sie den Code Ihres Teams privat hosten - entweder in Ihrer eigenen Infrastruktur oder in einer privaten Cloud.

Mit Azure DevOps können Sie Lizenzen pro Benutzer erwerben, um Pakete von Diensten oder Nutzungseinheiten für einzelne Dienste zu erhalten. Der Basic-Plan enthält beispielsweise Benutzerlizenzen, die 6 US-Dollar pro Benutzer und Monat kosten und Ihnen Zugriff auf Folgendes bieten:

  • Azure Pipelines
  • Azure Boards
  • Azure Repos
  • Azure-Artefakte

Benutzerlizenzen für Azure DevOps Basic + Test Plans, die den Zugriff auf den Test Plans-Dienst beinhalten, kosten 52 USD pro Benutzer und Monat.

Azure DevOpsGitHub (Englisch)
Preisgestaltung und Support4/54/5

6. API und Erweiterbarkeit

GitHub bietet eine umfangreiche, gut dokumentierte REST-API für die Interaktion mit und die Manipulation verschiedener Plattformressourcen. Der gesamte API-Zugriff erfolgt über HTTPS, wobei die Daten im JSON-Format gesendet/empfangen werden. In ähnlicher Weise basiert die REST-API von Azure DevOps auf OAuth, JSON und Service Hooks und ermöglicht den Remotezugriff auf Benutzer/Konten, Buildfunktionen, Git-Repositoryaktionen, Dashboard- und Widgetaktionen und vieles mehr.

Die Möglichkeit, über die API mit Ihrer DevOps-Plattform in Verbindung zu treten, ist wichtig für die Automatisierung Ihrer Arbeitsabläufe sowie für den einzigartigen Anwendungsfall, in dem Sie eine App für die Verwaltung von Arbeitsabläufen entwickeln, entweder für sich selbst oder als Produkt für andere. Azure DevOps verfügt über Clientbibliotheken für die API, die in den folgenden Programmiersprachen verfügbar sind:

  • C# und .NET
  • Node.js (JavaScript)
  • Python
  • Los
  • Prahlerei 2.0
  • SDK für Weberweiterungen

GitHub bietet auch eine leistungsstarke API, die es Benutzern ermöglicht, mit ihren GitHub-Produkten zu interagieren und GitHub-Apps zu erstellen. Darüber hinaus hat GitHub ab Version 4 der GitHub-API GraphQL eingeführt, um Anfragen flexibler und effizienter zu gestalten und nur die Daten zurückzugeben, die Entwickler in ihren API-Aufrufen benötigen, ohne den Overhead herkömmlicher REST-APIs.

Azure DevOpsGitHub (Englisch)
API und Erweiterbarkeit5/55/5

7. Integrationen von Drittanbietern

GitHub bietet eine Vielzahl von Integrationen, die es Entwicklern ermöglichen, ihre bevorzugten Tools und Dienste von Drittanbietern mit der Plattform zu nutzen, von beliebten Chat-Lösungen wie Slack und HipChat bis hin zu CI/CD-Angeboten wie Travis CI und Semaphore. Azure DevOps bietet auch eine Vielzahl von Erweiterungen (z. B. Slack, Octopus Deploy und sogar GitHub), um das Angebot über die Kernfunktionen hinaus zu erweitern.

Das Angebot an verfügbaren Tools, die mit Azure DevOps kommunizieren, umfasst nicht nur Marketplace-Erweiterungen, sondern auch:

  • Entwicklertools für Desktop-Clients
  • Office-Integrationstools (z. B. Excel, nützlich für diejenigen mit Batch-Jobs)
  • Webbasierte Tools
  • Befehlszeilen-Tools
  • REST-APIs

Genau wie bei Azure DevOps finden Sie in den Marketplace-Integrationen die größte Vielfalt an Integrationen für GitHub, wobei GitHub Apps und Actions für alles verfügbar sind, von der kontinuierlichen Integration über die IDE-Unterstützung bis hin zur Codeüberprüfung.

Azure DevOpsGitHub (Englisch)
Integrationen von Drittanbietern5/55/5

8. Unternehmen, die es verwenden

GitHub wird von Regierungsbehörden auf der ganzen Welt und der Mehrheit der führenden Technologieunternehmen verwendet: Google, Adobe, Twitter, PayPal, Facebook, LinkedIn, Yahoo und unzählige andere. Die Kundenliste von Azure DevOps ist zwar respektabel, aber nicht so illustr wie die von GitHub: Shell, Alaska Airlines, Hawaiian Airlines, Ordina und OSIsoft, um nur einige zu nennen.

Es kann hilfreich sein, darauf zu achten, was die Unternehmen und Entwickler, die diese beiden Konkurrenzprodukte verwenden, über sie zu sagen haben, um Ihre eigene Wahl zu treffen. In Überprüfungen wird Azure DevOps von Benutzern dafür erwähnt, dass es Folgendes ist oder hat:

  • funktionsreich und extrem leistungsfähig
  • über ein beträchtliches Erweiterungsökosystem verfügen
  • One-Stop-Shop für Build-Server, Projektmanagement, CI/CD
  • Hervorragende Azure-Integration

Für GitHub sind die wichtigsten Stärken, die in Bewertungen genannt werden, in der Regel:

  • Benutzerfreundlichkeit
  • Wird von Entwicklern auf der ganzen Welt verwendet
  • Die Benutzeroberfläche ist minimalistisch und ermöglicht es Ihnen, sich auf das Wesentliche zu konzentrieren
  • Leicht verfügbare Integrationen und Tools
  • Einfach in jeden Arbeitsablauf zu integrieren
  • zuverlässig
Azure DevOpsGitHub (Englisch)
Unternehmen, die es verwenden4/55/5

9. Lernkurve

Wenn es um GitHub geht, werden diejenigen, die Erfahrung mit Git haben, feststellen, dass das Angebot leicht zu erlernen ist. Trotz der relativ intuitiven und gut gestalteten Benutzeroberfläche kann eine Fülle von Widgets und Tools Azure DevOps zu einer Herausforderung machen. Darüber hinaus sind die Funktionen zur Repository-Verwaltung weniger intuitiv als die von Github.

Um Ihnen beim Erlernen dieser Tools zu helfen, können Sie die offizielle Dokumentation sowie Schulungsmaterialien verwenden, die sowohl bei Microsoft als auch bei GitHub verfügbar sind. Zum Beispiel gibt es Tutorials und Videos von Microsoft für Azure DevOps. Microsoft Docs bietet auch hervorragende praktische Lerntutorials, aber es gibt relativ wenige davon, die Azure DevOps gewidmet sind.

GitHub erleichtert die Navigation der Lernkurve für sein Produkt mit mehreren benutzerfreundlichen, unterhaltsamen Kursen in seinem Learning Lab. In diesen praktischen Tutorials lernen Sie alles, von Grundlagen bis hin zu fortgeschrittenen Power-User-Aufgaben, die Sie mit den verschiedenen Funktionen der Plattform erledigen können.

Azure DevOpsGitHub (Englisch)
Lernkurve3/54/5

10. Sicherheitsbewertung

Die Azure DevOps-Website weist eine Reihe von Mängeln auf, die die Perimetersicherheit der Website nicht ideal machen: fehlende strikte HTTP-Transportsicherheit, sichere Cookies und eine unsichere SSL/TLS-Version. GitHub hingegen erhält eine hervorragende Sicherheitsbewertung von 808 von 950 Punkten für seine verstärkte Sicherheit des Website-Perimeters.

Die Azure DevOps-Website liegt mit einer Sicherheitsbewertung von 751 von 950 etwas zurück. Diese Punktzahl verdient eine B-Note in unserem umfassenden Cybersicherheits-Rating.

Eine Sicherheitsbewertung ist ein standardisiertes System, das UpGuard unterhält, um Cybersicherheitsbewertungen bei Unternehmen mit einem Online-Fußabdruck zu standardisieren. Die Punktzahl spiegelt die Fähigkeiten eines Unternehmens in den Bereichen Cybersicherheit, Compliance, Integrität und Sicherheit wider. Eine perfekte Punktzahl ist 950, wobei 0 die niedrigste Punktzahl ist. Je höher die Punktzahl, desto besser ist ein Unternehmen in Bezug auf sein Cybersicherheitsprofil.

Lesen Sie hier mehr über Sicherheitsbewertungen.

Azure DevOpsGitHub (Englisch)
Sicherheitsbewertung751808

Anzeigetafel und Zusammenfassung

Azure DevOpsGitHub (Englisch)
Funktionsumfang5/55/5
Benutzerfreundlichkeit4/54/5
Unterstützung durch die Community4/55/5
Release-Rate 4/55/5
Preisgestaltung und Support4/54/5
API und Erweiterbarkeit5/55/5
Integrationen von Drittanbietern5/55/5
Unternehmen, die es verwenden4/55/5
Lernkurve3/54/5
Sicherheitsbewertung4/55/5
Gesamt4,2/54,7/5

Kurz gesagt, wenn es darum geht, Open-Source-Projekte mit der gesamten Entwicklergemeinschaft aufzubauen und daran zusammenzuarbeiten, ist GitHub die ideale Plattform. Seien Sie sich bewusst, dass Sie zahlen müssen, wenn Sie sich entscheiden, Ihre Code-Repositories privat zu machen. Offensichtlich ist GitHub auch eine nahezu ideale Wahl, wenn Sie ein Unternehmensteam mit Entwicklern sind, die bereits an die Arbeit an der Plattform gewöhnt sind. Azure DevOps von Microsoft ist ein äußerst wettbewerbsfähiges Angebot mit robusten Tools für das Application Lifecycle Management - ideal für Microsoft-zentrierte Geschäfte und von Azure gehostete Anwendungen. Zu guter Letzt sind beide preisgünstig und werden mit einer Vielzahl von Integrationen geliefert, die sich in eine beliebige Anzahl von Toolchain-Kompositionen integrieren lassen.

Verwandte Artikel