Platform Architecture
Codesphere is a virtual cloud platform using a layered architecture. The platform consists of two main layers: the Infrastructure Layer (IaaS) and the Platform Layer. Each layer has distinct responsibilities and provides specific interfaces for users and administrators.
Architecture Overview
The Platform Layer (PaaS) is designed for enterprise environments, providing a virtual cloud layer with capabilities typically found in large public cloud providers — including managed runtimes & databases, developer workspaces, managed services, observability, API & CLI tools, and team collaboration. The complete package includes an installer product that enables enterprises to self-host the entire platform stack, handling the provisioning and configuration of all necessary infrastructure components.

Infrastructure Layer (IaaS)
The foundational layer provides core infrastructure components, these are managed through the Codesphere OMS (Operations Management System) and include:
- Kubernetes: Distributed compute for runtimes and services
- Ceph: Distributed storage (block, object, and file) for persistent data use cases
- Networking: Load balancing, ingress, and service mesh
This technology stack makes Codesphere independent from the underlying infrastructure. The layer can be deployed on various environments, including on-premises data centers, private clouds, and public cloud providers. Refer to the Installation Guide for deployment options and cluster setup.
Platform Layer (PaaS)
The application and lifecycle management layer provides components for development teams and platform operators, including:
- Lifecycle Management: Git-based versioning, CI/CD pipelines, and zero-downtime deployments
- Managed Services: Curated catalog of databases, storage, messaging, and caching services
- Runtime Environments: Support for containers, Kubernetes and VMs
- Development Tools: Collaborative IDE, remote development, and debugging capabilities
- Runtime Environments: Support for containers, Kubernetes, and VMs
- Observability: Monitoring, logging, tracing, and usage tracking (cost & fin-ops insights)
- Multi-Tenancy: Resource isolation, RBAC, and policy enforcement
- APIs & Integration: REST API, CLI, and Kubernetes Operator for automation
Landscapes: Composing Microservice Architectures
At the heart of the Platform Layer is the concept of Landscapes — declarative deployment configurations that allow teams to compose complete microservice architectures. A Landscape is defined by a single ci.yml file that specifies:
- Multiple Runtimes: Deploy various services using different runtime types (containers, VMs, or Kubernetes)
- Managed Services: Connect databases, caches, message queues, and storage services from the curated catalog
- Private Networking: Secure service-to-service communication within the Landscape's isolated network
- Routing & Load Balancing: Configure load balancing, domain mapping, and path-based routing
This application deployment with IaC enables teams to version-control their entire application topology, making it reproducible across environments and easy to collaborate on. Each Landscape is paired with a Workspace that provides the development tools, CI/CD pipelines, and monitoring capabilities needed to build, deploy, and operate the deployed services defined in that Landscape.
Landscapes combine the multi-service orchestration of Docker Compose with the scalable infrastructure provisioning of Terraform — all in a single file with built-in CI/CD pipelines, monitoring, and zero-downtime deployments. Define your entire microservice architecture, provision databases and infrastructure, configure networking and routing, all from one declarative configuration.
Learn more about Landscapes & Workspaces and explore the Getting Started Guide to deploy your first application.