All work

[ 01 / PLATFORM ] · Enterprise · Live

VMaaS.

Self-service virtual machines as a product — provisioned in minutes, governed by design.

  • Event-driven
  • IaC
  • Microservices

01 — Problem

Virtual machine provisioning was ticket-driven, manual and slow — teams waited on hand-offs across infrastructure groups before they could build anything.

02 — Approach

  1. 01Core developer of the VMaaS platform under the TI ART program.
  2. 02Event-driven microservices on Kafka so each step — approval, scheduling, build, notify — reacts instead of waiting.
  3. 03Backend orchestration on the VMware vRealize suite (Automation, Orchestrator, Operations Manager).
  4. 04Shared services (scheduling, approvals, notifications) designed once and reused across the platform.
  5. 05Deployed on OpenShift through Helios with full CI/CD.

03 — Architecture

A governed API gateway in front of the VMaaS core, with shared approval, scheduling and notification services reacting to events on Kafka, and vRealize orchestration underneath — all running on OpenShift.

VMaaS Core · .NET microservices

Microservices that own the VM request lifecycle and publish every state change as an event.

connects → API Gateway · Kafka · Approvals · Notifications

04 — Decisions

ADR-001

Events over orchestration calls

Kafka events between services instead of synchronous chains.

More moving parts to observe — paid back in resilience and loose coupling.

ADR-002

Build shared services once

Design them as standalone, reusable platform services.

Slower first delivery — far faster every product after.

ADR-003

Govern at the gateway

Auth, routing and rate limiting centralised in an API gateway.

A critical component to keep highly available — designed for it from day one.

05 — Impact

  • Turned VM provisioning into a self-service, API-first product.
  • Reusable platform services adopted by multiple products within TI.
  • Recognised by senior leadership as a key contributor to VMaaS GA releases.