« Blog Home

Was sind die Unterschiede zwischen den SonarQube-Editionen?

Ursprünglich verfasst im Januar 2022. Letztes Update: April 2023

Ich werde häufig gefragt, wo die Unterschiede zwischen den SonarQube-Versionen liegen.
Aus den Fragen wird deutlich, dass die Lizenzierungsoptionen nicht ganz klar und durchaus verwirrend sind. Deshalb habe ich beschlossen, die wesentlichen Punkte zusammenzuschreiben und Klarheit zu schaffen.

Im folgenden Artikel erkläre ich die Unterschiede. Außerdem haben wir kürzlich eine Tabelle erstellt, die Ihnen auf einfache Weise alle Funktionen des Produkts im Detail und nach Editionen anzeigt (damit können Sie Filter verwenden und beispielsweise sehen, welche Funktionen nur in Developer- / Enterprise-Editionen enthalten sind; welche Funktionen in einer bestimmten Edition fehlen usw.). Sie können uns eine E-Mail schreiben (sonarqube@almtoolbox.com), um diese Tabelle zu erhalten.

sonarqube editions differences spreadsheet

Zum Vergrößern klicken. Schreiben Sie uns eine E-Mail, um die vollständige Tabelle zu erhalten.

 

sonarqube editions developer communiyt enterprise data-center

SonarQube-Editionen

 

Kernunterschiede der SonarQube-Editionen

In diesem Artikel erkläre ich die Hauptunterschiede der SonarQube-Editionen.

SonarQube wurde nach einem “Open Core”-Modell entwickelt, was bedeutet, dass es sich um eine Open-Source-Software handelt, die schichtweise aufgebaut ist: Jede Schicht enthält die vorherige Schicht plus zusätzliche Funktionen:

  • Community (Free) Edition ist die Basis
  • Darauf baut die Developer Edition auf
  • Darauf folgt die Enterprise Edition
  • und schließlich die Data Center Edition oben drauf

Siehe Abbildung auf der rechten Seite.

Schauen wir uns die Hauptfunktionen an, die in jeder Edition (Schicht) hinzugefügt werden.

Was ist in der Community Edition enthalten?

Diese Edition ist kostenlose Open Source und bietet Folgendes:

1. Der Kern von SonarQube

und 60+ Plugins.
Sie haben eine Vielzahl von Plugins für SonarQube zur Verfügung (einige sind kostenlos, für andere müssen Sie bezahlen). Sie können auch Ihre eigenen Plugins erstellen (oder wir können das für Sie übernehmen).

2. Scannen von Codesprachen (Statische Codeanalyse)

Die Community Edition unterstützt ein grundlegendes Scannen von 16 Sprachen:
Java, JavaScript, C#, Terraform, TypeScript, Kotlin, Ruby, Go, Scala, Flex, Python, PHP, HTML, CSS, XML, VB.NET

3. Scannen des Master- (Main-) Branchs

Scannen Sie den Master- (Main-) Git-Branch.

Beachten Sie, dass Sie mit der Community Edition keine anderen Branches (z. B. Feature-Branches) scannen können, sodass Sie mit dieser Edition keine “Shift Left”-Methodik anwenden können.

4. SonarLint

SonarLint hilft Ihnen, Benachrichtigungen über Codeprobleme und Bugs in Echtzeit direkt in der IDE der Entwickler (z. B. IntelliJ / VS Code) zu erhalten – was dabei hilft, “Clean Code” zu entwickeln.
Hinweis: SonarLint kann in dieser Version nicht konfiguriert werden (Dies ist in der Developer Edition möglich, wie unten erklärt).

Developer Edition vs. Community Edition

Die Developer Edition bietet alles aus der Community Edition PLUS:

1.Branch-Analyse

Sie können alle gewünschten Branches scannen (statt nur den Master-Branch), sodass Sie Probleme viel früher erkennen können – noch bevor der Code in die Haupt-Branches gemerged wird.

2. Pull Request Decoration & Analyse

Dies ermöglicht es Ihnen, SonarQube mit Ihren Versionskontroll-Tools zu integrieren und SonarQube-Analysen sowie ein Quality Gate zu Ihren Pull Requests (oder Merge Requests) in der Oberfläche Ihres ALM- / DevOps-Anbieters hinzuzufügen, einschließlich GitLab, GitHub, Bitbucket und Azure DevOps.
Es hilft Ihnen, schnelles Feedback (zu den Scanergebnissen) direkt im Dashboard zu erhalten.

pull merge request decoration sonarqube gitlab

Illustration: Pull (Merge) Request Decoration mit SonarQube und GitLab. Zum Vergrößern klicken

3. Code-Sicherheitsanalyse / Funktionen

Sicherheitsscans mit einer Vielzahl von Regeln für jede Codesprache (unsere Tabelle spezifiziert, wie viele Regeln Sie für jede Sprache haben).

Hinweis: Die Community (Free) Edition scannt nicht nach Sicherheitslücken.

4. Zusätzliche SonarLint-Funktionen

In dieser Version ist es möglich, Smart Notifications zu konfigurieren und zu empfangen (nicht verfügbar in der kostenlosen Community Edition).
Wenn Sie also (als Entwickler) SonarLint über Ihre IDE verwenden, können Sie Benachrichtigungen konfigurieren und erhalten.
Zum Beispiel: Sie können eine Nachricht erhalten, wenn Sie die Quality Gates nicht passiert haben.

Hinweis: SonarLint scannt in der Community (Free) Edition keine Sprachen, die in der kostenlosen Version nicht unterstützt werden (z. B. C, C++ und andere, wie unten aufgeführt).

5. Unterstützung weiterer Sprachen:

Die Developer Edition scannt zusätzlich folgende Codesprachen:

  1. C
  2. C++
  3. Objective-C
  4. PL/SQL
  5. ABAP
  6. TSQL
  7. Swift

Die Developer Edition unterstützt insgesamt 24 Codesprachen.

Enterprise Edition vs. Developer Edition

1. Unterstützung weiterer Sprachen

Die Enterprise Edition scannt zusätzlich folgende Codesprachen:

  1. Apex (von Salesforce)
  2. Cobol
  3. PL/1
  4. RPG
  5. VB 6 (Visual Basic)

Die Enterprise Edition unterstützt insgesamt 29 Codesprachen.

2. Portfolio und Reporting

Diese Funktion ist nützlich, wenn Sie viele Projekte haben. Sie zeigt Ihnen den Projektstatus auf einer hohen Ebene (was oft von Entwicklungsleitern, Teamleitern, CTOs usw. benötigt wird).

Dies ermöglicht es Ihnen auch, Projekte nach Gruppen zu aggregieren, um die Informationen zu visualisieren und deutlich klarer und lesbarer zu machen.

Relevante Funktionen hier:

  • Aggregation von Projekten. Zum Beispiel können Sie entscheiden, was gruppiert werden soll, basierend auf Kriterien Ihrer Wahl, z. B. gemeinsame Codesprache; Legacy-Projekte; Gruppen; Teams usw.
  • Sie können den Bericht automatisieren und per E-Mail versenden (als PDF-Bericht).
Sehen Sie sich eine Demo an (2 Min.):

3. Sicherheitsberichte (Security Reports)

Sicherheitsberichte sind nur in der Enterprise Edition verfügbar.
Diese Berichte helfen Ihnen, schnelleres Feedback zu erhalten und Sicherheitslücken viel schneller zu beheben.
SonarQube hilft Ihnen, Ihre Sicherheitslage gemäß OWASP Top 10 und CWE Top 25 Standards zu sehen.

Zum Beispiel:

sonarqube security reports

Sicherheitsberichte (zum Vergrößern klicken)`

4. Security Hotspot + Sicherheitslücken

Security Hotspots sind Codebereiche, in denen SonarQube verdächtige Codeschnipsel hervorhebt, die Entwickler überprüfen müssen (da dort Schwachstellen vorhanden sein könnten).

Siehe Beispiel (zum Vergrößern klicken):

sonarqube security hotspot

Security Hotspot (Das Hashing von Daten ist sicherheitsrelevant)

Diese Funktion hilft auch dabei, die Entwicklungsfähigkeiten der Entwickler zu verbessern und sie zu befähigen: Während sie Code schreiben und Hotspots finden, lernen sie über Sicherheitsrisiken und Best Practices, wie man diese verhindert.

Sicherheitslücken (Vulnerabilities) erfordern sofortige Aufmerksamkeit. SonarQube bietet eine detaillierte Beschreibung und hebt den relevanten Code hervor, was hilft zu verstehen, worin das Risiko im gegebenen Code besteht.
Zum Beispiel (zum Vergrößern klicken):

sonarqube security vulnerabilities

Identifizieren Sie den problematischen Code und erhalten Sie eine Lösung, wie er behoben werden kann (in diesem Fall: Verwenden Sie eine Schlüssellänge, die genügend Entropie gegen Brute-Force-Angriffe bietet. Für den RSA-Algorithmus sollte sie mindestens 2048 Bit lang sein).

 

5. Parallele Verarbeitung von Analyseberichten

Ermöglicht es Ihnen, Scans und Berichte parallel zu verwalten. Dies ist nützlich, wenn Sie viele Scans und Berichte ausführen müssen.
Sie können bis zu 10 Worker parallel laufen lassen.

6. Staging-Lizenz

Mit der Enterprise Edition können Sie eine zusätzliche Lizenz für die Einrichtung einer Staging- / Testumgebung erhalten.
Dies ist nützlich, wenn SonarQube Teil eines kritischen Systems ist und / oder Plugins verwendet werden, und Sie es testen möchten (als “Trockenlauf”), bevor Sie den echten Server aktualisieren (um Risiken zu minimieren und ein erfolgreiches Upgrade mit minimaler Ausfallzeit zu gewährleisten).

Data Center Edition vs. Enterprise

Die Data Center Edition bietet Ihnen Hochverfügbarkeit für massive (globale) Deployments.
Hochverfügbarkeit wird durch das Hinzufügen von Redundanz zu jedem Knoten im System erreicht.

  1. Komponentenredundanz

  2. Datenresilienz

  3. Horizontale Skalierbarkeit

FAQ

  • F: Wie sieht die Preisgestaltung von SonarQube aus?

    A: Die Preise für SonarQube hängen von mehreren Parametern ab:

    Art der Edition (wie oben im Artikel erklärt);

    Die Anzahl der Codezeilen, die Sie haben;

    Ob Sie Kundensupport in Anspruch nehmen.
    Kontaktieren Sie uns für genaue Preise und Angebote: sonarqube@almtoolbox.com oder rufen Sie uns an.

 

  • F: Ich verwende eine Codesprache, die von der Community (Free) Edition unterstützt wird (z. B. Java oder C#).

    Bedeutet das, dass ich alle Funktionen von SonarQube erhalte?

    A: Nein. Wenn Sie die kostenlose Edition verwenden, haben Sie nur Zugriff auf die Funktionen, die in der Free Community Edition verfügbar sind.

    Zum Beispiel: Wenn Sie Java verwenden (das in der kostenlosen Edition verfügbar ist), erhalten Sie keine Sicherheitsregeln, keine Branch-Analyse, keine Berichte usw.

ALM-Toolbox ist ein offizieller Distributor von SonarQube und bietet Beratung, SonarQube- und SonarCloud-Lizenzen, Implementierung, Schulung und hilft Kunden bei der Integration von SonarQube in Geschäftsprozesse und CI/CD-Pipelines.
Kontaktieren Sie uns für alle Fragen, einschließlich Preisen und Angeboten: sonarqube@almtoolbox.com oder rufen Sie uns an: 866-503-1471 (USA / Kanada) oder +31 85 064 4633`

Weiterführende Links: