Overview
This guide provides comprehensive best practices for implementing and managing the Cloud-Native Infrastructure Schema v1.0 in Jira Service Management Assets. This domain schema extends the Core Schema to provide platform engineering and cloud operations teams with complete visibility across multi-cloud environments, Kubernetes clusters, serverless workloads, and managed services.
Who should read this guide:
- Platform Engineers managing Kubernetes clusters and containerized workloads
- Cloud Architects designing multi-cloud infrastructure strategies
- FinOps Teams tracking cloud costs and optimizing resource utilization
- DevOps Engineers implementing GitOps workflows and CI/CD pipelines
- Security Teams monitoring cloud security posture and compliance
- SRE Teams maintaining service reliability and incident response
- IT Leadership requiring visibility into cloud infrastructure investments
What you will learn:
- How to effectively use each of the ten object types in the Cloud-Native schema
- The purpose and significance of every attribute across all object types
- Multi-cloud visibility patterns for AWS, Azure, and GCP resources
- Kubernetes resource hierarchy and relationship management
- FinOps integration for cost tracking and optimization
- GitOps alignment strategies for infrastructure-as-code
- Common implementation patterns and anti-patterns specific to cloud-native operations
- Troubleshooting guidance for frequent cloud data issues
Prerequisites:
- JSM Premium or Enterprise license (Assets requires Premium tier minimum)
- Object Schema Manager or Jira Admin permissions
- Core Schema v1.1 deployed with Person, Team, Application, Vendor, and Location object types populated
- Familiarity with basic JSM Assets concepts (object types, attributes, references)
- Understanding of cloud-native fundamentals (Kubernetes, containers, managed services)
Schema Architecture
How This Schema Extends Core
The Cloud-Native Infrastructure Schema follows the Schema-Forge principle of referencing Core Schema objects rather than duplicating master data. This design ensures that cloud resource ownership, team assignments, vendor relationships, and organizational data remain synchronized across your entire CMDB ecosystem.
Core Schema Objects Referenced:
| Core Object | How Cloud-Native Uses It |
|---|---|
| Person | Cloud account owners, cluster administrators, namespace owners |
| Team | Platform teams owning clusters, application teams owning namespaces and deployments |
| Application | Business applications deployed on Kubernetes or serverless platforms |
| Vendor | Cloud providers (AWS, Azure, GCP), third-party service vendors |
| Location | Region and availability zone mapping, data residency requirements |
Benefits of Extension Architecture:
- Update a person's role or team assignment once in Core, and it reflects across all cloud resources
- Query cross-schema: find all clusters owned by a specific team, or all resources in a specific cloud account
- Eliminate duplicate data entry for organizational information
- Enable consistent reporting across cloud and on-premises infrastructure
Reference Types in This Schema
The Cloud-Native schema defines three custom reference types that describe cloud infrastructure relationships. These reference types provide semantic meaning and visual organization through color-coding in the JSM Assets interface.
| Reference Type | Color | From Object | To Object | Purpose |
|---|---|---|---|---|
| Belongs To | Blue (#0052CC) | Resource | Cloud Account, Cluster | Ownership hierarchy - resource belongs to parent |
| Deployed In | Green (#00875A) | Workload | Namespace, Cluster | Deployment location - where workloads run |
| Uses | Purple (#6554C0) | Service | Another Resource | Dependency - service consumes another resource |
Schema Hierarchy Overview
Cloud Account (AWS/Azure/GCP)
│
+-- Kubernetes Cluster (EKS/AKS/GKE)
│ │
│ +-- Namespace
│ │ │
│ │ +-- Deployment (workloads)
│ │
│ +-- Service Mesh (Istio/Linkerd)
│
+-- Container Registry (ECR/ACR/GCR)
│
+-- Serverless Function (Lambda/Cloud Functions)
│
+-- Managed Database (RDS/Cloud SQL)
│
+-- Object Storage (S3/GCS/Blob)
│
+-- CDN Distribution (CloudFront/CloudFlare)
Object Types (Summary)
The Cloud-Native schema includes 10 object types designed for cloud infrastructure management:
- Cloud Account - AWS accounts, Azure subscriptions, GCP projects (foundational)
- Kubernetes Cluster - Managed and self-managed Kubernetes clusters
- Namespace - Kubernetes namespaces for workload isolation
- Deployment - Kubernetes deployments and workload controllers
- Container Registry - Container image registries (ECR, ACR, GCR)
- Serverless Function - Cloud functions (Lambda, Functions, Cloud Functions)
- Managed Database - Cloud database services (RDS, Cloud SQL, Cosmos DB)
- Object Storage - Cloud object storage (S3, GCS, Azure Blob)
- CDN Distribution - Content delivery networks (CloudFront, CloudFlare)
- Service Mesh - Service mesh implementations (Istio, Linkerd)
docs/schemas/cloud_native/guide.md. This page provides an overview of the schema architecture and key concepts.
Integration Patterns
Multi-Cloud Inventory Synchronization
Maintaining accurate cloud inventory requires integration with cloud provider APIs:
- AWS: AWS Config, Resource Groups Tagging API, service-specific APIs
- Azure: Azure Resource Graph API for unified resource querying
- GCP: Cloud Asset Inventory for resource discovery
Kubernetes Resource Synchronization
Kubernetes resources can be synchronized via the Kubernetes API or GitOps repositories. Recommended approach:
- Use GitOps-based synchronization for declared resources (deployments, namespaces)
- Use API-based synchronization for runtime state (replica count, status)
- Reconcile both sources for complete visibility
FinOps Integration
Cloud cost data integration enables FinOps practices within the CMDB:
| Provider | Cost API | Update Frequency |
|---|---|---|
| AWS | Cost Explorer API | Daily |
| Azure | Cost Management API | Daily |
| GCP | Cloud Billing Export | Daily |
Common Implementation Patterns
Account Naming Convention
Recommended pattern: {env}-{team/project}-{purpose}
Examples:
prod-payments-api Production payment API services
dev-platform-sandbox Development sandbox for platform team
staging-mobile-app Staging for mobile application
Cluster Naming Convention
Recommended pattern: {provider}-{env}-{purpose}-{region}
Examples:
eks-prod-payments-useast1 Production EKS for payments
gke-staging-platform-uswest1 Staging GKE for platform
aks-dev-mobile-westeurope Development AKS for mobile
Useful AQL Queries
-- Find clusters with outdated versions
objectType = "Kubernetes Cluster" AND Version < "1.27" AND Status = "Active"
-- Find namespaces without team ownership
objectType = "Namespace" AND "Team Owner" IS EMPTY AND Status = "Active"
-- Find all resources in a specific account
objectType = "Kubernetes Cluster" AND "Cloud Account".Name = "prod-payments-us"
-- Find storage buckets with public access
objectType = "Object Storage" AND "Public Access" = "Allowed" AND Status = "Active"
-- Find production databases without Multi-AZ
objectType = "Managed Database" AND "Multi-AZ" = "No" AND "Cloud Account".Environment = "Production"
Troubleshooting Guide
Resource Discovery Issues
Symptom: Cloud resources not appearing in JSM Assets.
Diagnosis:
- Check API permissions (Config:Get*, ResourceGroupsTagging:GetResources for AWS)
- Verify region filtering includes all active regions
- Verify resource type filters include required types
- Check import schedule frequency
Reference Resolution Issues
Symptom: Cluster or Account references show "Unknown" or empty.
Diagnosis:
- Verify parent objects imported before child resources
- Check key field matching (Account ID format)
- Ensure Core Schema objects (Person, Team) exist
Cost Data Issues
Symptom: Monthly Spend showing incorrect or stale values.
Diagnosis:
- Cloud billing data has 24-48 hour delay
- Verify account ID format matches billing system
- Standardize on USD for Monthly Spend
- Implement tagging strategy for cost allocation
FAQ
Q: How do I handle multi-cloud environments with the same application deployed in multiple clouds?
Answer: Create separate deployment records for each cloud instance, linking each to its respective Kubernetes Cluster and Cloud Account. Use the Application reference from Core Schema to link all deployments to the same business application. This enables per-cloud resource tracking and application-level aggregate reporting.
Q: Should I track ephemeral resources like pods or auto-scaled nodes?
Answer: Generally, no. Track deployments (the desired state) rather than pods (the actual state). Pods are ephemeral and can be replaced automatically. For auto-scaled resources, document the scaling configuration (min/max) rather than current count, or update periodically via automation.
Q: How do I track Kubernetes resources managed by Helm or GitOps?
Answer: Link deployments to their GitOps repository by documenting the GitOps Repo URL on the Kubernetes Cluster object. Add deployment-specific notes indicating the Helm chart or Kustomize path. Consider adding a "Source of Truth" field indicating "Helm", "Kustomize", "ArgoCD", or "Flux".
Q: How frequently should I synchronize cloud inventory with JSM Assets?
Answer: Frequency depends on change velocity:
| Resource Type | Recommended Frequency | Rationale |
|---|---|---|
| Cloud Accounts | Weekly | Low change frequency |
| Kubernetes Clusters | Daily | Cluster changes are significant events |
| Namespaces | Daily | Namespace lifecycle tracking |
| Deployments | Daily or Real-time | Deployment frequency varies by team |
| Cost Data | Daily | Financial reporting needs current data |
Related Resources
This guide is part of the Cloud-Native Infrastructure Schema v1.0 documentation suite:
- Governance Playbook: Enterprise governance framework including roles, review cadences, FinOps integration, and cloud cost management
- JSM Forms Specification: Detailed form configurations for each object type, including cloud-specific validation
- Automation Examples: Automation rule patterns for cost alerts, orphan detection, and version tracking
- Core Schema v1.1 Best Practices Guide: Reference for Person, Team, Application, Vendor, and Location object types
Schema Forge