Mac as an ally in your DevOps toolkit.

In the world of DevOps, new technologies, tools and methodologies are constantly appearing. ‘The number of technologies and tools you have to keep up with is simply too much,’ says Marco Brotas, back-end developer at Pro Warehouse. This feeling of “information overload” raises the question of which platform can offer stability in this constantly changing environment.
Predictable environment.

Predictable environment.

A practical approach to increasing complexity is to look for standardisation and a reliable foundation. ‘In all this change, you need something constant - a predictable environment in which certain processes remain consistent,’ Marco notes. Mac offers continuity because of its Unix base, which developers have known for years. That base has a practical advantage: your Mac communicates in the same “language” as the servers you manage. 

‘As a DevOps engineer, you regularly work with remote servers via SSH and other command-line tools. These come by default with macOS,’ Marco explains. ‘Your command-line experience on your local machine is similar to what you use on servers. This ensures consistency in your workflow.’ The value of this consistency is noticeable on a day-to-day basis. Whereas developers on some other platforms need to install additional tools or make adjustments, Mac provides an environment where various DevOps tools are readily available or easily integrated.

Docker on Mac.

One of the fundamental elements in modern DevOps practices is containerisation, with Docker being a widely used tool. Marco works daily with Docker on macOS: ‘Docker is crucial for standardising development environments. It avoids the classic problem where code works perfectly on one developer's computer, but not on colleagues or in production — the infamous “it works on my machine” excuse.’ This standardisation is especially valuable in development teams: ‘In larger companies, different developers work on different components, each with their own tooling. With Docker, a new developer can start faster. You start a Docker container and the necessary tools and configurations are available,’ Marco explains.

On the Mac, Docker is easy to use, partly because of its Unix base: ‘You have access to all Docker CLI commands. You can manage containers, stop, start or work in a container via the terminal.’ Marco also notes that although Docker on Mac sometimes provided slower performance in the past, this is pretty much resolved these days: ‘I use Docker daily without any significant slowdowns.’

Automation.

An important aspect of DevOps is automation. The terminal env ironment in macOS provides a suitable basis for this, as Marco explains, ‘With every new workstation, I first create a set of shortcuts, aliases and scripts to simplify repetitive tasks.’

Marco uses several forms of automation on his Mac:

  • Aliases for running Go tests efficiently, including specific tests for race conditions and measuring code coverages
  • A shortcut for generating UUIDs via the macOS tool UUIDgen
  • Commands that invoke OpenSSL for generating security keys
  • Scripts for testing Jenkins pipelines locally
  • Commands to quickly see which network ports are in use when resolving conflicts

This kind of automation is proving valuable in DevOps work. ‘If you type a command once, the time difference is negligible. But if you repeat the same actions dozens of times daily, those seconds add up to hours a week,’ Marco says.

Terminal productivity.

The terminal environment on macOS offers capabilities that support DevOps work. For example, Marco uses Starship, a tool that displays context information: ‘If you are working in a Git repository, Starship shows which branch you are on, whether there are changes that need to be pushed, and other relevant information.’ This context information can help navigate complex project structures. ‘It may seem simple to see which directory you are in or which Git branch you are working on, but it helps prevent mistakes,’ Marco explains.

Combining command-line tools with macOS' file management capabilities provides flexibility for different tasks. ‘For some tasks, the terminal is more efficient, such as when searching for specific files in a project: “ls | grep filename” is generally faster than the search function in a graphical file explorer. For other tasks, such as viewing complex JSON structures, a visual editor can be more convenient,’ says Marco.

This flexibility also comes in handy for CI/CD work. At Pro Warehouse, the team uses automated Jenkins setups for deployments to test, acceptance and production environments. Marco says: ‘We combine command-line tools with graphical interfaces where necessary. By testing Jenkins workflows locally before we deploy them, and by using scripts that are compatible with both macOS and our servers, we can work more efficiently.’

DevOps on macOS.

A recurring challenge in DevOps is balancing security and productivity. Marco explains, ‘macOS has default encryption of the operating system and data, which creates a foundation of trust.’ Managing devices through MDM solutions, also mentioned in the previous article, can add value for DevOps teams. ‘If your device is lost or stolen, you can block it remotely, which is important when accessing production environments,’ Marco said.

For day-to-day management of servers and services, SSH is an essential tool. ‘SSH is readily available on macOS. You can execute commands and set up secure connections without installing additional tools,’ Marco explains. Pro Warehouse's pragmatic approach is recognisable to many DevOps teams: ‘We carefully document our processes and use a mix of manual steps and automation where appropriate.’ This balance between automation and practical implementation is supported by macOS, which offers both command-line capabilities and graphical interfaces. 

Steady foundation in dynamic field.

In the rapidly evolving world of DevOps, where tools and techniques are in rapid succession, Mac is a constant factor for Marco and the other DevOps professionals within Pro Warehouse. Its Unix foundation provides a trusted base for terminal work, while its stability and reliability provide staying power in a dynamic environment. ‘I use my Mac daily for DevOps work, and it remains a reliable workhorse,’ Marco concludes. ‘It's not just a platform with an attractive interface - it's a practical Unix machine that allows you to perform all daily DevOps tasks effectively.’ 

In a world where DevOps engineers must evaluate new tools and developments daily, Mac can provide a platform that combines standardisation and familiarity with adaptability.

This article is the second in a series on the benefits of Mac for development teams.

In the first article, we looked at why macOS offers the ideal balance for developers. In subsequent articles, we will explore specific aspects such as security & privacy for developers on macOS, cross-platform development on Mac, the perfect development setup and Mac as an AI/ML development machine.
This article is the second in a series on the benefits of Mac for development teams.