Eredetileg 2022 januárjában íródott. Utolsó frissítés: 2023 április.
Gyakran kérdezik tőlem, miben különböznek egymástól a SonarQube verziók.
A kérdésekből világosan látszik, hogy a licencelési opciók sokak számára nem egyértelműek, így elég zavaróak. Ezért úgy döntöttem, hogy összefoglalom a legfontosabb tudnivalókat, és ezzel segítek rendet tenni a témában.
Legend:
- Core differences
- What’s in the Community Edition?
- Developer Edition vs Community Edition
- Enterprise Edition vs Developer
- Data Center Edition vs Enterprise
- FAQ
Az alábbi cikkben részletesen elmagyarázom a különbségeket. Emellett nemrég készítettünk egy táblázatot, amelyben egyszerűen áttekintheti a termék összes funkcióját kiadásonként, szűrőkkel. Így például látható, mely funkciók csak a Developer vagy az Enterprise kiadásban érhetők el, és melyek hiányoznak bizonyos verziókból. A táblázatot emailben is elkérheti tőlünk: sonarqube@almtoolbox.com.


A SonarQube kiadásainak alapvető különbségei
A SonarQube „Open Core” modellben készült, ami azt jelenti, hogy nyílt forráskódú rendszer egymásra épülő rétegekkel. Minden egyes réteg az előzőt bővíti új funkciókkal:
- Community (ingyenes) kiadás az alap
- Erre épül a Developer Edition
- Erre az Enterprise Edition
- Végül pedig a Data Center Edition
Nézzük, milyen képességekkel bővülnek az egyes kiadások.
Let’s see the main capabilites which are added in each edition (layer).
Community Edition tartalma
Ez az ingyenes, nyílt forráskódú verzió az alábbiakat kínálja:
1. A SonarQube alapja és 60+ bővítmény
Számos bővítmény érhető el (vannak ingyenesek és fizetősek is). Saját bővítmény is fejleszthető, vagy elkészítjük Önnek.
2. Programnyelvek statikus elemzése
16 nyelvet támogat: Java, JavaScript, C#, Terraform, TypeScript, Kotlin, Ruby, Go, Scala, Flex, Python, PHP, HTML, CSS, XML, VB.NET.
3. A fő (master/main) ág elemzése
Csak a fő git-ág (branch) szkennelése lehetséges.
Egyéb ágak (például feature branch-ek) elemzése nem érhető el a Community verzióban, így a „Shift Left” módszertan nem alkalmazható.
4. SonarLint
A SonarLint valós időben értesíti a fejlesztőt a hibákról közvetlenül az IDE-ben (pl. IntelliJ vagy VS Code), segítve a „clean code” írását.
Megjegyzés: E verzióban a SonarLint nem konfigurálható (ez csak a Developer Edition esetében lehetséges).
Developer Edition és Community Edition összehasonlítása
A Developer Edition mindent tartalmaz, ami a Community verzióban elérhető, továbbá:
- Branch-elemzés
tetszőleges ágak vizsgálata, nemcsak a főágé.
Ez lehetővé teszi a hibák korai észlelését még a merge előtt.
- Pull Request kiértékelés és elemzés
integráció verziókezelő rendszerekkel (GitLab, GitHub, Bitbucket, Azure DevOps).
A SonarQube elemzési eredmények minőségi kapukként (Quality Gate) jelennek meg a felületen.

- Kódbiztonsági elemzés
biztonsági szabályok külön minden nyelvhez.
(A táblázatban részletezve szerepel a nyelvekhez tartozó szabályok száma.)
Megjegyzés: a Community Edition nem vizsgál biztonsági sérülékenységeket.
- Továbbfejlesztett SonarLint-funkciók
konfigurálható és „Smart Notification” értesítések beállíthatók.
Például értesítést kaphat, ha nem teljesül a Quality Gate.
- További támogatott nyelvek:
- C
- C++
- Objective-C
- PL/SQL
- ABAP
- TSQL
- Swift
Összesen 24 nyelvet támogat
Enterprise Edition és Developer Edition összehasonlítása
1. További támogatott nyelvek:
- Apex (of Salesforce)
- Cobol
- PL/1
- RPG
- VB 6 (Visual Basic)
Összesen 29 nyelv támogatott.
2. Portfólió- és riportkészítés
Hasznos számos projekt esetén. Összesített nézetet ad a fejlesztések állapotáról – fejlesztési vezetők, CTO-k számára különösen értékes.
Csoportosítási lehetőség (nyelv, csapat, projektcsoport stb.), valamint automatikus PDF-jelentés e-mailben.
Watch a demo (2 min):
3. Biztonsági jelentések
Csak az Enterprise Edition tartalmazza.
Az OWASP Top 10 és CWE Top 25 szabványok szerint jeleníti meg a biztonsági helyzetet, és segíti a sebezhetőségek gyors javítását.
For example:

4.Security Hotspotok és sérülékenységek
A SonarQube gyanús kódrészeket jelöl, amelyek potenciális biztonsági kockázatot hordozhatnak.
Ezek vizsgálata fejleszti a programozók biztonságtudatosságát és szakmai készségeit is.
A sérülékenységeket részletesen dokumentálja, a kód kiemelésével együtt.
See an example (click to enlarge):

Ez a funkció a fejlesztők fejlesztési készségeinek fejlesztésében és képességeik bővítésében is segít: miközben kódot írnak és feltárják a gócpontokat, megismerik a biztonsági kockázatokat és a megelőzésükre vonatkozó legjobb gyakorlatokat.
A biztonsági rések azonnali figyelmet igényelnek. A SonarQube részletes leírást nyújt, és kiemel három releváns kódot, ami segít megérteni, hogy mi a kockázat az adott kódban.
For example (click to enlarge):

5. Párhuzamos feldolgozás
Egyszerre akár 10 párhuzamos elemzés futtatható, nagy projektmennyiség esetén különösen hasznos.
6. Staging licenc
Külön teszt- vagy staging-környezet felállítását teszi lehetővé.
Hasznos frissítés vagy plugin tesztelése előtt, hogy a fő rendszer stabil maradjon.
Data Center Edition és Enterprise Edition
A Data Center Edition magas rendelkezésre állást nyújt globális, nagy léptékű telepítésekhez.
A megbízhatóságot a rendszer minden csomópontján redundancia biztosítja:
- Komponens-redundancia
- Adat-tartósság
- Horizontális skálázhatóság
GYIK
- K: Mennyibe kerül a SonarQube?
- V: Az ár több tényezőtől függ:
kiadás típusa, - a kódsorok mennyisége,
- igényelt ügyféltámogatás.
Pontosan árajánlatért vegye fel velünk a kapcsolatot: sonarqube@almtoolbox.com vagy telefonon
- K: Ha olyan nyelvet használok, amit a Community Edition támogat (pl. Java vagy C#), akkor minden funkcióhoz hozzáférek?
- V: Nem. Az ingyenes verzió csak a Community Edition funkcióit tartalmazza.
Például: bár a Java elérhető, a biztonsági szabályok, branch-elemzés és jelentések nem.
ALM-Toolbox is an official distributor of SonarQube and provides consulting, SonarQube and SonarCloud licenses, implementation, training and help customers to integrate SonarQube with business flows and CI/CD pipelines. Contact us for any questions including pricing and quotes: sonarqube@almtoolbox.com or call us: 866-503-1471 (USA / Canada) or +31 85 064 4633