Skip to content

Overview

Learn what Playpen is and how it works.

What is Playpen?

Playpen is a local-first, enterprise-grade ML & GenAI platform simulator. It provides a complete development environment that runs on your local machine using Kubernetes for orchestration.

Key concepts

Local-first architecture

Playpen runs entirely on your local machine. No cloud services or external dependencies are required. All platform services run in a local Kubernetes cluster.

Kubernetes abstraction

Developers interact with Playpen through standard tools and APIs. Kubernetes complexity is abstracted away, allowing you to focus on building applications.

Enterprise patterns

Playpen implements real-world enterprise patterns: - OIDC authentication with Dex - Artifact management with Nexus - CI/CD automation with Jenkins - Persistent data storage with PostgreSQL

Architecture overview

Playpen consists of platform services and application namespaces:

graph TB
    subgraph Platform["Platform Services"]
        Jenkins["Jenkins<br/>CI/CD"]
        Nexus["Nexus<br/>Artifacts"]
        Dex["Dex<br/>OIDC"]
        Postgres["PostgreSQL<br/>Database"]
    end

    subgraph Apps["Applications"]
        Python["Python Apps"]
        ML["ML Services"]
        GenAI["GenAI Apps"]
    end

    Apps -->|authenticate| Dex
    Apps -->|query| Postgres
    Apps -->|pull images| Nexus
    Jenkins -->|build & push| Nexus
    Jenkins -->|deploy| Apps

Platform services

Jenkins

CI/CD pipeline execution with Kubernetes ephemeral agents. Supports container builds, testing, and automated deployment.

Nexus Repository Manager

Artifact storage for Maven artifacts and Docker images. Provides versioning and access control for build outputs.

Dex OIDC Provider

Authentication and authorization using OpenID Connect. Compatible with Azure Entra semantics for enterprise integration.

PostgreSQL

Application database with persistent storage. Provides Cloud SQL-like access patterns for application data.

Application namespace

User applications are deployed to the playpen-apps namespace, separate from platform services. Applications can: - Authenticate using Dex OIDC - Store data in PostgreSQL - Pull images from Nexus - Be deployed via Jenkins pipelines

Base images

Playpen provides pre-configured base images:

  • playpen/python-base: Python 3.11 with web frameworks and data science libraries
  • playpen/ml-runtime: ML runtime with PyTorch, transformers, and vector databases
  • playpen/r-base: R environment with Posit compatibility

Design principles

  1. Local-first: Everything runs locally, no cloud dependencies
  2. Kubernetes abstraction: Developers don't need deep Kubernetes knowledge
  3. Opinionated defaults: Pre-configured for immediate productivity
  4. Reproducibility: Version-pinned dependencies for consistency
  5. Enterprise patterns: Real-world patterns for realistic development

Next steps