Mac als bondgenoot in je DevOps-toolkit.

In de wereld van DevOps verschijnen er continu nieuwe technologieën, tools en methodieken. “Het aantal technologieën en tools dat je moet bijhouden, is simpelweg te veel”, vertelt Marco Brotas, back-end developer bij Pro Warehouse. Dit gevoel van ‘information overload’ roept de vraag op welk platform stabiliteit kan bieden in deze constant veranderende omgeving.
Voorspelbare omgeving.

Voorspelbare omgeving.

Een praktische aanpak voor toenemende complexiteit is het zoeken naar standaardisatie en een betrouwbare basis. “In al die verandering heb je behoefte aan iets constants – een voorspelbare omgeving waarin bepaalde processen consistent blijven”, merkt Marco op. Mac biedt continuïteit door zijn Unix-basis, die ontwikkelaars al jaren kennen. Die basis heeft een praktisch voordeel: je Mac communiceert in dezelfde 'taal' als de servers die je beheert. 

“Als DevOps engineer werk je regelmatig met remote servers via SSH en andere command-line tools. Deze komen standaard mee met macOS”, vertelt Marco. “Je command-line ervaring op je lokale machine is vergelijkbaar met wat je op servers gebruikt. Dit zorgt voor consistentie in je workflow.” De waarde van deze consistentie is merkbaar in de dagelijkse praktijk. Waar ontwikkelaars op sommige andere platformen extra tools moeten installeren of aanpassingen moeten maken, biedt Mac een omgeving waarin diverse DevOps-tools direct beschikbaar zijn of goed te integreren zijn.

Docker op Mac.

Een van de fundamentele elementen in moderne DevOps-praktijken is containerisatie, met Docker als veelgebruikte tool. Marco werkt dagelijks met Docker op macOS: “Docker is cruciaal voor het standaardiseren van ontwikkelomgevingen. Het voorkomt het klassieke probleem waarbij code perfect werkt op de computer van één ontwikkelaar, maar niet bij collega's of in productie – het beruchte ‘het werkt op mijn machine’-excuus.” Deze standaardisatie is vooral waardevol in ontwikkelteams: “In grotere bedrijven werken verschillende ontwikkelaars aan verschillende onderdelen, elk met eigen tooling. Met Docker kan een nieuwe ontwikkelaar sneller beginnen. Je start een Docker-container en de benodigde tools en configuraties zijn beschikbaar”, legt Marco uit.

Op de Mac is Docker goed te gebruiken, mede door de Unix-basis: “Je hebt toegang tot alle Docker CLI-commando's. Je kunt containers beheren, stoppen, starten of in een container werken via de terminal.” Marco merkt ook op dat hoewel Docker op Mac in het verleden soms tragere prestaties leverde, dit tegenwoordig vrijwel is opgelost: “Ik gebruik Docker dagelijks zonder noemenswaardige vertragingen.”

Automatisering.

Een belangrijk aspect van DevOps is automatisering. De terminal-omgeving in macOS biedt hiervoor een geschikte basis, zoals Marco uitlegt: “Bij elke nieuwe werkplek creëer ik eerst een set shortcuts, aliassen en scripts om repetitieve taken te vereenvoudigen.”

Marco gebruikt op zijn Mac verschillende vormen van automatisering:

  • Aliassen voor het efficiënt uitvoeren van Go-tests, waaronder specifieke tests voor race-condities en het meten van code-coverage
  • Een shortcut voor het genereren van UUIDs via het macOS-tool UUIDgen.
  • Commando's die OpenSSL aanroepen voor het genereren van beveiligingssleutels.
  • Scripts voor het lokaal testen van Jenkins-pipelines.
  • Commands om snel te zien welke netwerkpoorten in gebruik zijn bij het oplossen van conflicten.

Dit soort automatisering blijkt waardevol in DevOps-werkzaamheden. “Als je één keer een command intypt, is het tijdverschil verwaarloosbaar. Maar als je dezelfde handelingen dagelijks tientallen keren herhaalt, tellen die seconden op tot uren per week”, aldus Marco.

Terminal-productiviteit.

De terminal-omgeving op macOS biedt mogelijkheden die DevOps-werkzaamheden ondersteunen. Marco gebruikt bijvoorbeeld Starship, een tool die contextinformatie weergeeft: “Als je in een Git-repository werkt, toont Starship op welke branch je zit, of er wijzigingen zijn die gepusht moeten worden, en andere relevante informatie.” Deze contextinformatie kan helpen bij het navigeren door complexe projectstructuren. “Het lijkt misschien eenvoudig om te zien in welke directory je bent of op welke Git-branch je werkt, maar het helpt bij het voorkomen van fouten”, legt Marco uit.

De combinatie van command-line tools met de bestandsbeheer-mogelijkheden van macOS biedt flexibiliteit voor verschillende taken. “Voor sommige werkzaamheden is de terminal efficiënter, zoals bij het zoeken naar specifieke bestanden in een project: 'ls | grep bestandsnaam' is over het algemeen sneller dan de zoekfunctie in een grafische bestandsverkenner. Voor andere taken, zoals het bekijken van complexe JSON-structuren, kan een visuele editor handiger zijn”, aldus Marco.

 

Deze flexibiliteit komt ook van pas bij CI/CD-werkzaamheden. Bij Pro Warehouse gebruikt het team geautomatiseerde Jenkins-setups voor deployments naar test-, acceptatie- en productieomgevingen. Marco vertelt: “We combineren command-line tools met grafische interfaces waar nodig. Door lokaal Jenkins-workflows te testen voordat we ze implementeren, en door gebruik te maken van scripts die compatibel zijn met zowel macOS als onze servers, kunnen we efficiënter werken.”

DevOps op macOS.

Een terugkerende uitdaging in DevOps is het balanceren tussen veiligheid en productiviteit. Marco licht toe: “macOS heeft standaard encryptie van het besturingssysteem en data, wat een basis van vertrouwen creëert.” Het beheer van apparaten via MDM-oplossingen, ook genoemd in het vorige artikel, kan toegevoegde waarde bieden voor DevOps-teams. “Bij verlies of diefstal van je apparaat kun je het op afstand blokkeren, wat belangrijk is wanneer je toegang hebt tot productieomgevingen”, aldus Marco.

Voor het dagelijks beheer van servers en services is SSH een essentiële tool. “SSH is direct beschikbaar op macOS. Je kunt commando's uitvoeren en veilige verbindingen opzetten zonder extra tools te installeren”, legt Marco uit. De pragmatische benadering van Pro Warehouse is herkenbaar voor veel DevOps-teams: “We documenteren onze processen zorgvuldig en gebruiken een mix van handmatige stappen en automatisering waar zinvol.” Deze balans tussen automatisering en praktische implementatie wordt ondersteund door macOS, dat zowel command-line mogelijkheden als grafische interfaces biedt.

Vaste basis in dynamisch veld.

In de snel evoluerende wereld van DevOps, waar tools en technieken elkaar in hoog tempo opvolgen, is Mac voor Marco en de andere DevOps-professionals binnen Pro Warehouse een constante factor. Het Unix-fundament biedt een vertrouwde basis voor terminal-werk, terwijl de stabiliteit en betrouwbaarheid houvast geven in een dynamische omgeving. “Mijn Mac gebruik ik dagelijks voor DevOps-werk, en het blijft een betrouwbaar werkpaard”, zegt Marco tot slot. “Het is niet alleen een platform met een aantrekkelijke interface – het is een praktische Unix-machine waarmee je alle dagelijkse DevOps-taken effectief kunt uitvoeren.”

In een wereld waarin DevOps-engineers dagelijks nieuwe tools en ontwikkelingen moeten evalueren, kan Mac een platform bieden dat standaardisatie en vertrouwdheid combineert met aanpassingsvermogen. 

Dit artikel is het tweede in een reeks over de voordelen van Mac voor development-teams.

In het eerste artikel hebben we gekeken naar waarom macOS de ideale balans biedt voor developers. In volgende artikelen gaan we dieper in op specifieke aspecten zoals security & privacy voor developers op macOS, cross-platform development op Mac, de perfecte development setup en Mac als AI/ML development machine.
Dit artikel is het tweede in een reeks over de voordelen van Mac voor development-teams.