ProficientNowTechRFCs

1. Introduction

RFC-DEVELOPER-PLATFORM-0001                                       Section 1
Category: Standards Track                                     Introduction

1. Introduction

← Index | Index | Next: Requirements →


1.1 Background and Context

1.1.1 The Developer Experience Challenge

Modern platform engineering organizations face a fundamental tension: as platforms grow in capability, they also grow in complexity. Developers need access to an increasing number of tools, services, and workflows, each with its own interface, authentication mechanism, and operational model.

This complexity manifests in several ways:

ChallengeDescription
Tool ProliferationMultiple specialized tools for CI/CD, monitoring, logging, databases, message queues
Authentication FatigueSeparate login flows for each tool, even with SSO
DiscoverabilityDifficulty finding which services exist and who owns them
Documentation ScatterDocumentation spread across repositories, wikis, and external sites
Onboarding FrictionNew team members spend significant effort learning tool locations and access patterns

1.1.2 The Internal Developer Platform Concept

An Internal Developer Platform (IDP) addresses these challenges by providing a unified interface through which developers interact with platform capabilities. Rather than exposing raw infrastructure and tools, an IDP presents abstractions and workflows aligned with developer mental models.

The platform concept has gained significant traction in the industry:

OrganizationAdoption
CNCFPublished Platform Engineering White Paper
GartnerIdentified platform engineering as key trend
IndustryOver 3,400 organizations using Backstage

1.1.3 Platform Maturity Model

Organizations typically progress through platform maturity stages:

StageCharacteristics
Ad-HocDirect tool access, manual processes
StandardizedCommon tools, but separate interfaces
Self-ServiceDeveloper portal for common operations
OptimizedAI-assisted, predictive capabilities

This RFC addresses the transition from standardized to self-service maturity.


1.2 Current State Analysis

1.2.1 Existing Tool Landscape

The platform currently provides developers with access to numerous tools:

DomainTools
GitOpsArgoCD, Kargo
CI/CDTekton, GitHub Actions
MonitoringGrafana, Prometheus, Loki, Tempo
DatabasesPostgreSQL, MongoDB, ClickHouse, Redis
Event StreamingKafka, Apicurio Registry, Kafka Connect
RegistryHarbor (containers), Verdaccio (npm)
SecurityVault, Teleport, Keycloak
StorageCeph

1.2.2 Access Patterns

Developers currently access these tools through:

PatternDescriptionLimitation
Direct URL accessBookmark or navigate to tool URLNo unified entry point
Separate authenticationEach tool authenticates via KeycloakMultiple login redirects
Manual discoveryAsk colleagues or search documentationKnowledge siloed in teams
Request-based provisioningFile tickets for infrastructureDelays in obtaining resources

1.2.3 Documentation State

Documentation exists in multiple locations:

LocationContent TypeChallenge
Git repositoriesAPI specs, runbooksDisconnected from services
External wikisArchitectural docsStale, out of sync
Tool-specific docsVendor documentationGeneric, not organization-specific
Tribal knowledgeOperational proceduresLost when team members leave

1.3 Operational Challenges

1.3.1 Developer Productivity

The current state creates several productivity challenges:

ChallengeImpact
Context switchingDevelopers navigate between multiple tool interfaces
Discovery overheadFinding the right tool or resource requires asking colleagues
Access delaysInfrastructure requests require manual processing
Documentation gapsDevelopers lack visibility into service capabilities and ownership

1.3.2 Platform Team Burden

Platform teams experience operational overhead from:

BurdenDescription
Request processingManual handling of infrastructure provisioning requests
Access managementResponding to access requests for various tools
Onboarding supportRepeatedly explaining tool locations and access patterns
Documentation maintenanceKeeping scattered documentation current

1.3.3 Security and Compliance

Current patterns create security challenges:

ChallengeDescription
Access visibilityDifficult to audit who has access to what
Permission sprawlOver-permissioned access granted for convenience
Audit trailsFragmented logs across multiple systems
Compliance evidenceManual collection of compliance artifacts

1.4 Motivation for This Architecture

1.4.1 Unified Developer Experience

The primary motivation is providing developers with a single interface for platform interactions. This interface MUST:

RequirementRationale
Consolidate tool accessReduce cognitive overhead of navigating multiple tools
Provide service discoveryEnable finding services, APIs, and infrastructure
Enable self-serviceAllow common operations without platform team involvement
Surface documentationBring docs alongside the services they describe

1.4.2 Capability-Based Interaction

The architecture implements a capability-based model where users see only what they can do. This approach:

BenefitDescription
Reduces confusionUsers are not presented with unavailable options
Simplifies UXNo permission-denied errors for attempted actions
Enforces securityAuthorization through visibility, not blocking
Reflects realityUI accurately represents user's actual capabilities

1.4.3 Self-Service Within Guardrails

The platform enables developer self-service while maintaining organizational controls:

Self-ServiceGuardrail
Create projects from templatesTemplates enforce organizational standards
Provision databasesResource quotas and approval workflows
Request access to resourcesTime-bounded, session-recorded access
Deploy applicationsGitOps-only deployment model

1.4.4 Integration with Platform RFCs

This architecture integrates with the platform's foundational RFCs:

RFCIntegration Point
RFC-IAM-0001Keycloak provides authentication and permission claims
RFC-SECOPS-0001Vault provides secrets for portal and plugins
RFC-PAM-0001Teleport provides JIT access request backend
RFC-TENANT-SECURITYBunkerWeb protects portal; network policies govern access

1.5 Document Structure

This RFC is organized to address different audiences:

SectionAudienceContent
RequirementsArchitects, SecurityInvariants, constraints, success criteria
ArchitectureArchitectsTrust boundaries, data flow, integration
ComponentsDevOpsBackstage architecture, plugins
Domain SectionsDevelopersCatalog, templates, tools, workflows
RationaleReviewersDesign decisions, alternatives
EvolutionPlannersFuture capabilities

Document Navigation


End of Section 1 — RFC-DEVELOPER-PLATFORM-0001