DevOpsWat is de juiste keuze: GitHub of Azure DevOps?

We horen het bij steeds meer klanten: waarom zouden we over moeten stappen naar GitHub? Microsoft stimuleert het gebruik van GitHub steeds meer en ook de mogelijkheden groeien in snel tempo. Daarnaast is GitHub vooral bekend geworden voor en door de Open Source community. En dat laatste lijkt veel organisaties tegen te houden om een overstap te overwegen.

Wat is Azure DevOps (Server)?

Azure DevOps stelt u in staat om uw volledige DevOps toolset naar de cloud te brengen. Azure DevOps bevat enkele krachtige features, zoals versiebeheer, het plannen en traceren van projecten en automatische builds/deployments ter ondersteuning van de CI/CD pipelines.

Azure DevOps kun je volledig in de cloud afnemen, maar je kunt ook kiezen voor een on-premises variant, Azure DevOps Server, als je alle data binnen je eigen netwerk wilt houden.

Wat is GitHub (Enterprise)?

GitHub is eigenlijk net als Azure DevOps een ontwikkelplatform waarmee u uw code kunt hosten, software kunt bouwen met automatische builds, uw applicaties automatisch kunt deployen, omgevingen automatisch kunt opzetten, handmatige werkzaamheden kunt automatiseren en uw projecten kunt beheren.

GitHub is vooral bekend geworden dankzij de Open Source community voor ontwikkelaars, maar kan onder de naam GitHub Enterprise ook gebruikt worden door organisaties waarbij de projecten privé blijven en alleen toegankelijk zijn voor geautoriseerde personen. Daarbij heb je nog de keuze tussen GitHub Enterprise Cloud voor de cloud variant en GitHub Enterprise Server voor de on-premises variant.

Waarom Azure DevOps?

Verschil tussen GitHub en Azure DevOpsZo op het eerste gezicht lijken de mogelijkheden van Azure DevOps en GitHub vergelijkbaar. In beide omgevingen kun je code opslaan, samenwerken aan code, geautomatiseerde CI/CD pipelines opzetten, projecten beheren en beide omgevingen kun je volledig in de cloud afnemen of on-premises binnen je eigen netwerk.

Als we kijken naar de losse onderdelen, wint Azure DevOps het wat ons betreft op het gebied van Azure Boards overduidelijk van GitHub. Het beheren van de projecten en de ondersteuning van Scrum en Kanban teams is in Azure DevOps vele malen uitgebreider. Met name bij grotere organisaties zien we dat hier veel behoefte aan is.

Andere voordelen van Azure DevOps ten opzichte van GitHub zijn wat ons betreft: Test Plans voor handmatige testen en een visuele weergave van release pipelines.

Waarom GitHub?

Waarom GitHub

Net als Azure DevOps, springt een onderdeel er bij GitHub wat ons betreft veruit bovenuit: de security tools. Zo kan iedereen binnen GitHub gebruik maken van Dependabot. Dependabot kan je informeren over kwetsbare afhankelijkheden, bijvoorbeeld in externe packages die je gebruikt. Naast informeren, zal Dependabot dit zelfs voor je proberen op te lossen door een Pull Request te maken met de voorgestelde fix. Datzelfde kan Dependabot doen voor nieuwe versies van je packages, zodat je versies altijd up-to-date zullen zijn.

GitHub Advanced Security

Bij vrijwel alle klanten merken we dat de zorgen om security aanwezig zijn. Er wordt veel gebruik gemaakt van externe (open source) pakketten die binnengehaald worden via NuGet, PyPi, Maven of NPM. Dat zijn pakketten geschreven buiten je organisatie. Hoe zorg je er nou voor dat deze code veilig is? En hoe voorkom je licentie problemen. Binnen Azure DevOps kun je dit oplossen door extensions toe te voegen aan je pipelines, bijvoorbeeld door gebruik te maken van SonarQube of WhiteSource Bolt. In GitHub zit dit echter volledig geïntegreerd.

Met GitHub Advanced Security krijg je drie features tot je beschikking:

  • Code scanning: scan je code op potentiële kwetsbaarheden of fouten.
  • Secret scanning: scan je code op secrets, zoals keys of wachtwoorden. Je wordt geïnformeerd zodra een secret is gevonden en GitHub kan voor sommige providers zelf actie ondernemen door de secrets in te laten trekken.
  • Dependency review: een visualisatie waarmee afhankelijkheden in je code zichtbaar worden gemaakt voordat je ze integreert in je repository. Je ziet welke afhankelijkheden gewijzigd zijn, welk projecten daarmee geraakt worden en eventuele kwetsbaarheden in die afhankelijkheid. Hiermee voorkom je kwetsbaarheden in je project.

Voor publieke repositories is GitHub Advanced Security standard beschikbaar. Voor klanten met een GitHub Enterprise Cloud of GitHub Enterprise Server is een extra licentie nodig om hier gebruik van te kunnen maken.

Meer weten?

De keuze voor Azure DevOps of GitHub is wat ons betreft geen gemakkelijke. Beide tools kunnen jouw organisatie ondersteunen en veel zal afhangen van jullie prioriteiten en voorkeuren.

Wil je meer weten over een eventuele overstap van Azure DevOps naar GitHub, kijk dan hier ons webinar overstappen van Azure DevOps naar GitHub terug.

Hoewel GitHub bij de meeste developers wel bekend is, merken we dat veel organisaties nog helemaal niet bekend zijn met de voordelen die GitHub kan bieden.

Wil je meer weten over de mogelijkheden van GitHub voor jouw organisatie of hoe je Azure DevOps en GitHub kunt combineren? Neem dan contact op met Heiko Wijtenburg via heikow@delta-n.nl of op 085 487 52 20.

  • Wil jij ook werken aan een Modern Ontwikkelproces bij klanten? Bekijk vacatures!