Getting Started

Service Architecture

Service Architecture

Modernize your macOS & Windows CI pipelines with orchestrated, on‑demand VMs powered by Parallels Desktop.

Parallels DevOps Service

Modernize your macOS & Windows CI pipelines with orchestrated, on‑demand VMs powered by Parallels Desktop.


1. What Is It?

The Parallels DevOps Service is a lightweight, cloud‑native platform that provisions, scales, and retires virtual machines (VMs) just‑in‑time for your build and test pipelines. Think of it as a “Kubernetes for Parallels Desktop” —but tuned for macOS, Windows, and mixed‑architecture workloads.

Purpose

The Parallels DevOps Service exists to accelerate software delivery by providing development and QA teams with an automated, secure, and predictable way to spin up disposable Parallels Desktop® virtual machines on demand. By abstracting away the manual steps of image preparation, host selection, and cleanup, the platform shortens feedback loops, reduces infrastructure toil, and aligns macOS and Windows workflows with modern DevOps practices.

2. High‑Level Architecture

Layer Role Key Tech
Orchestrator Service Schedules VMs across a pool of hosts Go 1.22, gRPC/REST, Docker/K8s
Catalog Service Stores metadata (manifest, versions, RBAC) about golden images Go 1.22, gRPC/REST
Storage Providers Hold VM binaries (pvm/macvm) Amazon S3, Azure Blob, Artifactory, …
Reverse Proxy Routes requests to the appropriate virtual machine inside the host Go 1.22, Rest API
Host Agents Run on macOS machines with Parallels Desktop to report VM status and execute commands Go 1.22, Rest API, Parallels Desktop Cli

3. Technology Stack

  • Language: Go (services & CLI)
  • Packaging: Multi‑arch Docker images published to Github and Docker Hub
  • API: “Open” REST + websocket communication
  • Database: Json file (pluggable—MySQL support in roadmap)
  • AuthN/Z: OIDC (JWT) + role‑based access control
  • Deployment: Helm charts for Kubernetes, Docker Compose for PoC, fully air‑gapped option