Bitbucket versus Azure DevOps

Om moderne en professionele applicaties te ontwikkelen volgens de CI- en CD-methodiek, heeft u goede tools nodig. In dit blogartikel bespreken we twee populaire en toonaangevende platforms: Bitbucket en Azure DevOps. Wat kunt u met deze twee oplossingen? En hoe verhouden ze zich tot elkaar? Wij tonen het u.

Bitbucket versus Azure Devops

Wat is Bitbucket?

Bitbucket begon in 2008 als onafhankelijke start-up en werd in 2010 gekocht door het Australische softwarebedrijf Atlassian waarna het bedrijf enorme stappen voorwaarts gezet heeft. Het is een Git-samenwerkingsplatform dat primair is toegesneden op de behoeften van professionele ontwikkelteams. Bitbucket biedt gebruikers de mogelijkheid om vanuit één centrale omgeving projecten te plannen en samen te werken aan een code. Het testen en implementeren van codes is met deze tool ook geen probleem. Bitbucket werkt vanuit de cloud, maar is ook prima te beheren op uw eigen servers.

Werken met Bitbucket

Bitbucket biedt een zeer divers spectrum aan functionaliteiten die alle fases van het ontwikkelingsproces (bouwen, testen en implementeren) stroomlijnen. Tijd dus om eens te kijken naar de belangrijkste features van deze handige tool.

De interface

De interface van Bitbucket voorziet in een dashboard dat een goed overzicht biedt van uw werkzaamheden. U kunt vanuit het dashboard navigeren naar de volgende onderdelen.

  • De repositories (opslagruimtes) waar u als gebruiker toegang tot hebt. Standaard staat de laatst bijgewerkte repository bovenaan, maar het is ook mogelijk om op naam, project of eigenaar te zoeken naar een specifieke repository.
  • De optie ‘Projects’ biedt de optie om repositories te groeperen en organiseren, zodat ze gemakkelijk vindbaar worden. U ziet ook alle bestaande projecten en kunt u gemakkelijk nieuwe projecten creëren. Door op een project te klikken, ziet u ook alle repositories die er deel van uitmaken.
  • Het beoordelen en eventueel herzien van code is een cruciale stap in de ontwikkelcyclus. In Bitbucket doet u dit middels zogenoemde pull requests. Via de interface kunt zowel de door u zelf als door andere teamleden aangemaakte pull requests bekijken.
  • Door te klikken op het kopje ‘Issues’, kunt u toekomstige requests, meldingen over bugs en andere cruciale taakinformatie terugvinden.
  • Via de interface is het ook mogelijk om belangrijke instellingen van uw account te bekijken en veranderen. Denk bijvoorbeeld aan settings op het gebied van notificaties, beveiliging en apps/integraties en wie een pull request mag mergen en wie niet.

Pipes en pipelines

De pipes en pipelines vormen een belangrijk onderdeel van de Bitbucket-omgeving. Zo kunt u variabelen definiëren voor het account, voor een repository en voor deployment. Op deze manier bouwt u een gelaagd variabelensysteem, waarbij de meest specifieke waarde wordt gebruikt. De pipes fungeren hierdoor als procesmatige bouwstenen en zorgen ervoor dat u uw CI/CD-workflows gemakkelijk in pipelines kunt automatiseren.

De pipeline is een YAML bestand in uw repo, deze kan dus per branch verschillen. Zo kunt u aangeven welke branches er gebouwd dienen te worden, welke stappen gelden voor een specifieke branch, alleen bouwen bij een pull request en commits na de pull request etc. Met een prefix en wildcard in uw pipeline voor branchnamen kunt u on-the-fly branches aanmaken die dezelfde pipeline gebruiken. Dit is enorm handig als u als developer feature branches gebruikt en u de applicatie wilt bouwen zonder de pipeline aan te passen. Ze bestaan uit een aantal bestanden:

  • De code (script of binary) die de taak uitvoert.
  • Een Dockerbestand. Dit vertelt ons hoe we de container moeten bouwen waarbinnen het script draait.
  • Optionele metadata en README-documenten die het gemakkelijker maken om de opbouw van de pipe te begrijpen.
  • Eventuele CI- en CD-informatie die het gemakkelijker maakt om updates door te voeren.

Hier leest u precies hoe het maken van een pipe in zijn werk gaat. U kunt trouwens maximaal 100 pipes (stappen) toevoegen aan een pipeline. Het is tevens wel mogelijk verschillende stappen parallel te draaien. Het gebruiken van pipes in Bitbucket garandeert een hoge mate van flexibiliteit. U kunt kiezen uit een uitgebreide lijst met bestaande varianten, maar bijvoorbeeld ook zelf een nieuwe pipe ontwerpen als optimaal maatwerk een vereiste is. Met het systeem van pipes en pipelines creëert u in Bitbucket krachtige en geautomatiseerde workflows.

Soepeler ontwikkelen met feature branching

Overzicht met Bitbucket Deployments

Het onderdeel Bitbucket Deployments schept één centrale omgeving waar u implementaties kunt traceren en vooraf kunt bekijken. Het beheren en traceren van uw code – vanaf de implementatie tot aan de livegang toe – wordt een koud kunstje dankzij de uitgebreide mogelijkheden tot beoordelen, bouwen, testen en implementeren.

Veiligheid

Op het gebied van veiligheid scoort Bitbucket beter dan de meeste andere Git-oplossingen. U kunt gebruikers met toegang tot privé-inhoud bijvoorbeeld verplichten om verificatie in twee stappen in te schakelen. Daarnaast kunt u bepaalde toegangsrechten voor specifieke gebruikers opheffen en beperkingen op branchniveau samenvoegen. SOC 2 Type II-audit zorgt er bovendien voor dat codes niet zoekraken en de cloudomgeving van Bitbucket te allen tijde blijft werken.

Integraties en koppelingen

Bitbucket biedt uitstekende integratiemogelijkheden met Jira en en Tello. Projecten zijn dus gemakkelijk te organiseren door Bitbucket-branches aan te maken vanuit Jira-issues of Trello-borden. Het vereist stellen van Jira-issuesleutels zorgt er bovendien voor dat elke wijziging aan een issue wordt gekoppeld in bevestigingsberichten. Bitbucket converteert automatisch de gevraagde issuesleutels naar koppelingen. Zo houdt u bij een wijziging altijd het maximale overzicht!

Azure DevOps

Azure DevOps is een door techgigant Microsoft ontwikkeld CI/CD-platform dat het mogelijk maakt om DevOps eenvoudig te integreren in uw organisatie en een volledige DevOps-toolset naar de cloud te brengen. Naast de krachtige features, zoals versiebeheer, het plannen en traceren van projecten en automatische builds en deployments, kunt u uw toolset altijd en overal benaderen. Backups en onderhoud zijn bovendien voor rekening van Microsoft.

Werken met Azure DevOps

Ontwikkelen in de cloud met Azure DevOps vereist geen ingewikkelde serverinstallaties en -integraties, waardoor het platform snel en gemakkelijk in gebruik te nemen is. We nemen de belangrijkste features van een van de paradepaardjes uit de Microsoft-stal kort onder de loep.

Azure Pipelines

Net als in Bitbucket, worden in Azure belangrijke onderdelen van de workflow ondergebracht in pipelines (Azure pipelines). Denk bijvoorbeeld aan cruciale onderdelen van het ontwikkelproces zoals (CI-)builds en releasemanagement. U kunt bovendien ook publieke Github-repositories aan Azure Pipelines koppelen. Daarnaast kunt u met Azure Pipelines:

  • alle programmeertalen (denk aan Node.js, Python, PHP, Java en nog veel meer) en besturingssystemen gebruiken;
  • containers implementeren naar Kubernetes of afzonderlijke hosts;
  • een groot aantal ontwikkel-, test- en implementatietaken uitvoeren en honderden extensies (denk aan Slack of SonarCloud) gebruiken;
  • software middels Continuous Delivery implementeren naar elke cloud.

Azure Boards

Azure Boards is de plek waar u de belangrijkste agile-tools vindt. Denk bijvoorbeeld aan backlogs en alle functionaliteiten die samenhangen met scrum en taakbeheer. Het is ook de plek waar u werkzaamheden kunt bijhouden met kanbanplanborden en teamdashboards. Overzichtelijke scrumborden en planningshulpmiddelen helpen uw teams bij het uitvoeren van sprints en het plannen van vergaderingen.

Azure Repositories

Hier vindt u alle ondersteuning voor repositories in de vorm van Team Foundation Version Control (TFVC) en Git (native in Azure DevOps). Bovendien hebt u de mogelijkheid om per project een onbeperkt aantal repositories aan te maken. Validaties en extensies vanuit de marktplaats toevoegen is ook geen probleem. U beschikt bovendien over ongelimiteerde hosting voor persoonlijke Git-opslagplaatsen. Of het nu gaat om een hobbyproject of een opslagplaats met een mondiale reikwijdte, Azure DevOps levert de functionaliteiten en infrastructuur om van elk goed uitgetekend project een doorslaand succes te maken.    

Azure Test Plans

Azure Test Plans verzorgt en ondersteunt de administratie rondom handmatig en exploratief testen. Deze functionaliteit omvat ook het beheer van testcases en de rapportage over testvoorbereiding en testresultaten.

Azure Security Center

Het Azure Security Center biedt behoorlijk geavanceerde veiligheidsoplossingen. De beveiligingsoplossing vertrouwt grotendeels op machine learning om de ontelbare signalen te duiden die kunnen wijzen op bedreigingen als RDP-aanvallen of SQL-injecties. Daarnaast levert de beschermingslaag van Azure DevOps u concrete aanbevelingen voor het oplossen van veiligheidsissues. Zo houdt u uw cloudomgeving, gegevens en servers altijd veilig. 

Integratiemogelijkheden

Ook wat betreft integratiemogelijkheden heeft Azure DevOps de gebruiker veel te bieden. GitHub, Kubernetes, Docker, Visual Studio, Eclipse, Jenkins en IntelliJ vormen een bescheiden greep uit de vele platforms en ontwikkeltools die prima samengaan met Azure DevOps.

Github

Bitbucket of DevOps Azure?

Bitbucket en Azure DevOps zijn allebei tools met een zeer divers en uitgebreid spectrum aan CI- en CD-functionaliteiten. Bitbucket valt bijvoorbeeld op door de intuïtieve interface, de uitgebreide integratiemogelijkheden met Jira, de ruime autorisatiemogelijkheden en de soepele, gestroomlijnde samenwerking met andere producten uit de stal van Atlassian.

Azure DevOps heeft vooral een streepje voor op het gebied van extensies. Het ecosysteem van de MS-dienst is op dit vlak veelzijdiger dan dat van Bitbucket. Daarnaast heeft Azure DevOps een lage instapdrempel; installeren en configureren kost weinig tijd en moeite, waardoor u snel aan de slag kunt. Azure DevOps is wel wat prijziger dan Bitbucket.

Samen op zoek naar de juiste oplossing

Wat de beste tool voor u is, hangt helemaal af van de organisatie en uw persoonlijke eisen en wensen. Welke functionaliteiten en integraties zijn essentieel voor het bouwen van de oplossingen waar u de meeste behoefte aan heeft? Heeft u veel of juist weinig tot geen ervaring met een van beide tools? En welke workflows passen het beste bij uw overige bedrijfsprocessen? De ideale oplossing kan dus per organisatie sterk verschillen.

Het is daarom goed om met een gespecialiseerde partner naar het ontwikkelproces te kijken en in nauw overleg te bepalen welk platform en welke maatwerkoplossing het beste past. ACC ICT is zo’n partner. Wij weten hoe u een CI- en CD-pipelines effectief en betrouwbaar inricht omdat managed OTAP ons specialisme is. Wij ondersteunen softwareontwikkelaars, DevOps-teams en online-dienstverleners ongeacht het onderliggende platform of het type cloud.

Benieuwd naar wat wij voor u kunnen betekenen? Neem dan gerust vrijblijvend contact met ons op voor een vrijblijvend en deskundig advies.

Lees ook eens: