Back to Cloud Native

Cloud Native Forms Specification

JSM portal forms for creating and updating cloud resources. Cloud-specific validation, multi-provider support, and FinOps integration.

📖 15 min read ☁️ Cloud Native v1.0 📝 Forms

Portal Structure

Organize cloud forms into dedicated portal groups that align with platform engineering functions.

Portal Group Forms Platform Function
Cloud Accounts Cloud Account (Create/Update) Manage cloud subscriptions
Kubernetes Cluster, Namespace, Deployment Manage K8s resources
Container Platform Container Registry, Service Mesh Platform infrastructure
Serverless Serverless Function Function management
Data Services Managed Database, Object Storage Data infrastructure
Edge & CDN CDN Distribution Content delivery

Form 1: New Cloud Account

Request provisioning of a new AWS account, Azure subscription, or GCP project.

Form Preview

+--------------------------------------------------+ | New Cloud Account | +--------------------------------------------------+ | | | Account Name * | | +--------------------------------------------+ | | | prod-payments-api | | | +--------------------------------------------+ | | Format: {env}-{team}-{purpose} | | | | Provider * | | +--------------------------------------------+ | | | AWS [v] | | | +--------------------------------------------+ | | | | Owner * | | +--------------------------------------------+ | | | platform-team@company.com | | | +--------------------------------------------+ | | | | Cost Center * | | +--------------------------------------------+ | | | CC-1234-PLATFORM | | | +--------------------------------------------+ | | | | Environment * | | +--------------------------------------------+ | | | Production [v] | | | +--------------------------------------------+ | | | | Estimated Monthly Spend | | +--------------------------------------------+ | | | 15000 | | | +--------------------------------------------+ | | | | +------------------+ +---------------------+ | | | Cancel | | Submit Request | | | +------------------+ +---------------------+ | +--------------------------------------------------+

Field Specification

Field Type Required Validation
Account Name Text Yes Pattern: ^[a-z][a-z0-9\-]+$
Provider Select Yes AWS, Azure, GCP, Other
Owner Text Yes Valid email format
Cost Center Text Yes Pattern based on org standard
Environment Select Yes Production, Staging, Development, Sandbox
Monthly Spend Number No Range: 0-10000000

Conditional Logic

  • When Environment = "Production": Show Business Justification textarea, Compliance Scope multi-select, route to Security review
  • When Environment = "Sandbox": Show Expiration Date (max 90 days), enforce $500 spend limit
  • When Provider = "AWS": Show AWS Organization select, AWS Region Primary

Form 2: New Kubernetes Cluster

Request provisioning of a new managed Kubernetes cluster (EKS, AKS, GKE).

Field Specification

Field Type Required Validation
Cluster Name Text Yes Pattern: ^[a-z][a-z0-9\-]+$, max 63 chars
Provider Select Yes EKS, AKS, GKE, Self-managed
Version Text No Pattern: ^\d+\.\d+(\.\d+)?$
Node Count Number No Range: 1-1000
Region Text Yes Max 50 characters
GitOps Repo URL No* Valid URL format (*Required for production)
Cloud Account Object Picker Yes Filter: Active Cloud Accounts
Production Requirement: GitOps Repo is required for all production clusters. Node Count minimum is 3 for production environments.

Form 3: New Namespace

Request creation of a Kubernetes namespace for workload isolation.

Field Specification

Field Type Required Validation
Namespace Name Text Yes Pattern: ^[a-z][a-z0-9\-]+$, max 63 chars
Cluster Object Picker Yes Filter: Active Kubernetes Clusters
Team Owner Text Yes Valid email format
CPU Quota Text No* Pattern: ^\d+(\.\d+)?( cores?)?$
Memory Quota Text No* Pattern: ^\d+(\.\d+)?(Gi|Mi)?$
Purpose Textarea Yes Min 20 characters, max 1000

Validation Patterns

Cloud-Specific Patterns

Field Pattern Examples
AWS Account ID ^\d{12}$ 123456789012
Azure Subscription ID ^[0-9a-f]{8}-[0-9a-f]{4}-... 12345678-1234-1234-1234-123456789abc
K8s Resource Name ^[a-z][a-z0-9\-]+$ my-deployment, api-gateway-v2
K8s Version ^\d+\.\d+(\.\d+)?$ 1.29, 1.29.2
CPU Quota ^\d+(\.\d+)?( cores?| ?m)?$ 4 cores, 4000m, 2.5
Memory Quota ^\d+(\.\d+)?(Gi|Mi)?$ 16Gi, 16384Mi

Workflow Steps

Cloud Account Provisioning

  1. Submitted - Request received, initial validation
  2. Architecture Review - Cloud Architecture validates naming and placement
  3. Finance Approval - Finance approves budget and assigns Cost Center
  4. Security Review - Security confirms baseline requirements
  5. Provisioning - Platform Engineering creates account
  6. Baseline Application - Security baseline, IAM, networking configured
  7. Completed - Account ready, CMDB updated

Kubernetes Cluster Provisioning

  1. Submitted - Request received, initial validation
  2. Architecture Review - Platform Engineering validates design
  3. Security Review - Required for Production
  4. Account Owner Approval - Cloud Account owner confirms budget
  5. Provisioning - Platform Engineering creates cluster
  6. Configuration - GitOps bootstrap, networking, ingress setup
  7. Completed - Cluster ready for workloads