Inleiding
Het inrichten van een Azure DevOps-omgeving is een kritisch proces dat organisaties in staat stelt om hun softwareontwikkelingsprocessen te optimaliseren, te organiseren en te beheren. Azure DevOps is niet enkel een reeks tools, maar ook een architectuur die goed moet worden afgestemd op de specifieke behoeften van een organisatie. Aan de hand van diverse voorbeelden, zoals Global Investments Inc., Houthakkerij de Spaanplaat en Delta-N, wordt duidelijk dat de structuur van de organisatie en de samenwerking tussen teams van groot belang zijn voor de inrichting van Azure DevOps. In dit artikel bespreken we de principes van Azure DevOps-projecten, de rol van organisatie-structuur, toegangsbeheer, en het beheren van instellingen zoals taal, regio en gebruikersvoorkeuren.
Azure DevOps-projecten: Bepaling en doeleinden
Azure DevOps-projecten vormen de basis van de organisatie binnen de Azure DevOps-omgeving. Hoewel het begrip “project” in traditionele projectmanagement meestal verwijst naar een tijdelijke inspanning gericht op een specifiek doel, is dit in Azure DevOps eerder een technische en beveiligingsafbakening. Zoals aangegeven in de documentatie van Microsoft, is een project binnen Azure DevOps een “fundamentele container” waarin teams samenwerken om softwareoplossingen te bouwen.
De kernfunctie van een Azure DevOps-project is het isoleren van gegevens. Dit betekent dat toegang tot Project A niet automatisch impliceert dat dezelfde gebruiker toegang heeft tot Project B. Dit is belangrijk voor organisaties die meerdere bedrijfsonderdelen of klanten beheren, zoals Global Investments Inc. en Delta-N. In deze gevallen wordt vaak gekozen voor meerdere Azure DevOps-organisaties of projecten om data-isolatie en beveiliging te waarborgen.
Voorbeeld: Global Investments Inc.
Global Investments Inc. is een organisatie die bedrijven opkoopt en afstoot en operationeel is in meerdere sectoren. Elke sector heeft eigen applicaties in ontwikkeling. In dit geval adviseert Delta-N het aanmaken van aparte Azure DevOps-organisaties per bedrijfsonderdeel. Dit heeft het voordeel dat elke organisatie volledig los van elkaar is en dus eenvoudig te overdragen is naar een andere partij, bijvoorbeeld bij een fusie of aankoop. De organisaties kunnen worden gekoppeld aan verschillende Microsoft Entra ID’s, zodat de toegangsbeheerlijnen duidelijk zijn.
Voorbeeld: Houthakkerij de Spaanplaat
In tegenstelling tot Global Investments Inc., heeft Houthakkerij de Spaanplaat een vaste organisatiestructuur met vier ontwikkelteams die allemaal werken aan tien applicaties. De teams gebruiken de Scrum-methode en werken samen aan de code via een strategie van innersourcing, waarbij meerdere teams meewerken aan dezelfde applicatie. In dit geval wordt gekozen voor één Azure DevOps-project, omdat de werkwijze van de teams vergelijkbaar is, er sprake is van co-ownership van de code en het niet nodig is om de data te isoleren tussen de teams.
Structuur van Azure DevOps-projecten
De structuur van een Azure DevOps-project hangt af van de behoeften van de organisatie. Hierbij spelen factoren als het aantal teams, de mate van samenwerking, de toegangsbeheerlijnen en de complexiteit van de producten of applicaties een rol. In het algemeen geldt dat:
- Meerdere projecten worden aangeraden wanneer er sprake is van data-isolatie, zoals bij meerdere klanten of bedrijfsonderdelen.
- Één project kan voldoende zijn wanneer teams samenwerken, toegangsbeheer minder strikt is en er geen sprake is van concurrentie of vertrouwelijke data.
Rollen en toegangsbeheer
Azure DevOps biedt standaard rollen zoals Reader, Contributor en Project Administrator. Daarnaast kunnen aangepaste rollen worden gemaakt om specifieke toegangsbeheerlijnen te definiëren. Deze rollen zijn binnen het project van toepassing op entiteiten zoals repositories, pipelines en boards. Toegang tot deze entiteiten kan worden beperkt of verder uitgebreid, afhankelijk van de vereisten van de organisatie.
Hoewel het systeem technisch in staat is om veel flexibiliteit te bieden in toegangsbeheer, kan dit in de praktijk complex worden. Het beheer van rollen en toegangsbeperkingen vereist dus een goed doorlopen proces en duidelijke afspraken binnen de organisatie.
Inrichten van een Azure DevOps-omgeving
Het inrichten van een Azure DevOps-omgeving vereist een strategische benadering. Dit proces kan worden opgedeeld in verschillende stappen, waaronder het kiezen van een organisatiestructuur, het beheren van gebruikers en rollen, het aanmaken van projecten en het aanpassen van gebruikersvoorkeuren zoals taal, regio en thema.
Voorbeeld: Delta-N
Delta-N is een organisatie die software ontwikkelt voor klanten. Voor elke klant wordt een apart Azure DevOps-project aangemaakt. De redenen hiervoor zijn:
- Het beheren van meerdere klanten vereist data-isolatie.
- Soms willen klanten meekijken in de code of meewerken in Azure Boards. Het is daarom belangrijk dat de klant niet toegang heeft tot informatie van andere klanten.
- Er kunnen meerdere projecten of applicaties zijn per klant. Teams worden ingezet binnen het project in Azure DevOps.
- Delta-N heeft aparte omgevingen voor preview-features, webinars en demo’s om de productieomgeving te beschermen en externe zichtbaarheid te voorkomen.
Het kiezen van een organisatiestructuur in Azure DevOps hangt dus sterk af van de behoeften van de organisatie. In het geval van Delta-N is het kiezen voor meerdere projecten een logische keuze.
Instellen van gebruikersvoorkeuren in Azure Portal
Naast de inrichting van projecten en beveiligingsafbakeningen is het ook mogelijk om gebruikersvoorkeuren in te stellen via Azure Portal. Deze voorkeuren richten zich op de weergave van de portal, taal- en regio-instellingen, thema en startpagina. De configuratie van deze instellingen helpt gebruikers om de Azure Portal volledig aan te passen aan hun persoonlijke of organisatorische voorkeuren.
Taal en regio-instellingen
Gebruikers kunnen de taal kiezen die wordt gebruikt in Azure Portal. Naast Engels wordt ondersteuning geboden voor 17 andere talen, waaronder Nederlands. De regio-instelling bepaalt hoe datums, tijden, getallen en valuta worden weergegeven. Bijvoorbeeld, als Engels wordt gekozen als taal en Engels (Verenigde Staten) als regio, wordt valuta weergegeven in Amerikaanse dollars. Als Engels wordt gekozen als taal en Engels (Europa) als regio, wordt valuta weergegeven in euro’s.
Het is mogelijk om een regio-instelling te selecteren die verschilt van de taalinstelling. Dit is handig wanneer een gebruiker bijvoorbeeld Nederlands als taal wil gebruiken, maar de weergave van getallen en valuta in Amerikaanse stijl voorkeur heeft. Deze combinatie is technisch mogelijk en helpt om de gebruikerservaring te verbeteren.
Thema en weergave-instellingen
Azure Portal biedt de mogelijkheid om tussen een licht of donker thema te kiezen. Daarnaast kan een automatische modus worden geselecteerd, waarbij het thema zich aanpast aan de instellingen van het systeem. Als de gebruiker een modus met hoog contrast gebruikt, wordt deze door Azure Portal gerespecteerd en wordt het thema automatisch aangepast.
Gebruikers kunnen ook kiezen welke pagina als startpagina wordt weergegeven bij het aanmelden bij Azure Portal. De opties zijn:
- Startpagina: Bevat snelkoppelingen naar populaire Azure-services, recent gebruikte resources en nuttige koppelingen.
- Dashboard: Weergeeft het laatst gebruikte dashboard, dat kan worden aangepast aan de behoeften van de gebruiker.
De keuze van startpagina is een persoonlijke voorkeur en kan worden aangepast om de productiviteit te vergroten. Het aanpassen van dashboards helpt bijvoorbeeld bij het organiseren van projecten of het toegankelijk maken van vaak gebruikte resources.
Opstartmapopties
Azure Portal biedt ook de mogelijkheid om te bepalen in welke map (Azure-tenant) gebruikers zich aanmelden bij het eerste gebruik. De opties zijn:
- Laatst bezocht: Gebruikers beginnen in dezelfde map als waar ze vorige keer in zaten.
- Selecteer een map: Gebruikers kunnen een specifieke map kiezen die telkens gebruikt wordt, ongeacht waar ze vorige keer in zaten.
Deze optie is handig in organisaties die meerdere Azure-tenants gebruiken. Door het kiezen van een specifieke opstartmap wordt het proces van aanmelden en werken efficiënter en minder verwarrend.
Samenwerking en beheer van meerdere projecten
In organisaties waarin meerdere Azure DevOps-projecten worden gebruikt, is het beheer van de samenwerking en data-isolatie belangrijk. In het geval van Delta-N is het kiezen voor meerdere projecten een strategische keuze om klantdata te isoleren en samenwerking binnen de organisatie te faciliteren. In andere gevallen, zoals bij Houthakkerij de Spaanplaat, is het kiezen voor één project voldoende, omdat de teams vrij samenwerken en er geen strikte data-isolatie nodig is.
Het beheren van meerdere projecten vereist ook aandacht voor het beheer van gebruikers en rollen. Azure DevOps biedt het mogelijk om gebruikers toe te voegen aan specifieke projecten en rollen toe te wijzen, afhankelijk van hun rol binnen de organisatie. Deze aanpak helpt om toegangsbeheerlijnen helder te maken en te voorkomen dat gebruikers toegang hebben tot gegevens die niet relevant zijn voor hun werkzaamheden.
Conclusie
Het inrichten van een Azure DevOps-omgeving is een kritisch proces dat van invloed is op de efficiëntie, samenwerking en beveiliging van softwareontwikkelingsprocessen. Aan de hand van diverse voorbeelden is duidelijk geworden dat de keuze voor meerdere of één Azure DevOps-project sterk afhankelijk is van de structuur en behoeften van de organisatie. In organisaties met meerdere bedrijfsonderdelen of klanten is het kiezen voor meerdere projecten een logische keuze. In organisaties met samengewerkte teams is één project vaak voldoende.
Naast de structuur van projecten is het beheren van gebruikersvoorkeuren, taal, regio en thema ook van belang voor de gebruikerservaring. Azure Portal biedt uitgebreide opties voor het aanpassen van de interface, waardoor gebruikers de omgeving volledig kunnen aanpassen aan hun persoonlijke of organisatorische voorkeuren.
Tot slot is het beheer van rollen en toegangsbeheer een essentieel onderdeel van het inrichten van Azure DevOps. Het kiezen van de juiste rollen en het definiëren van toegangsbeperkingen helpt om data-isolatie te waarborgen en samenwerking binnen de organisatie te faciliteren.