Skip to main content

๐Ÿš€ Zorvia Innovative Features

Zorvia includes cutting-edge features that make VM management easier, smarter, and more efficient!

๐Ÿ“Š Feature Overviewโ€‹

FeatureDescriptionStatus
VM ProfilesPre-configured resource profiles for different workloadsโœ… Implemented
Multi-VM BlueprintsDeploy complete application stacks with one commandโœ… Implemented
Health ChecksAutomated VM health diagnostics and recommendationsโœ… Implemented
Resource RecommendationsSmart resource suggestions based on workloadโœ… Implemented
Dependency ManagementAutomatic VM deployment orderingโœ… Implemented

1๏ธโƒฃ VM Profiles Systemโ€‹

What is it?โ€‹

Pre-configured resource profiles that eliminate guesswork when creating VMs. Each profile is optimized for specific workloads.

Available Profilesโ€‹

ProfileCPUMemoryDiskBest For
minimal1512Mi5GiDNS, jump hosts, monitoring agents
dev12Gi10GiDevelopment, testing, learning
test24Gi20GiCI/CD pipelines, integration testing
web48Gi40GiEnvoy, Apache, static sites
prod48Gi40GiProduction workloads, web apps
database616Gi200GiPostgreSQL, MySQL, MongoDB
microservice24Gi20GiContainer runtime, K8s nodes
high-perf8 (2ร—)16Gi100GiML, data processing, high traffic

Usageโ€‹

# List all profiles
zorvia profile profiles

# Show detailed profile information
zorvia profile profiles --details

# View specific profile
zorvia profile show database

# Create VM with profile
zorvia vm create mydb --template ubuntu --profile database

Example Outputโ€‹

โ•โ•โ• VM Resource Profiles โ•โ•โ•

โ€ข database
Database - optimized for I/O intensive workloads

โ€ข dev
Development environment - minimal resources for testing

โ€ข high-perf
High performance - maximum resources for demanding workloads

...

2๏ธโƒฃ Multi-VM Blueprintsโ€‹

What is it?โ€‹

Deploy complete application stacks with a single command. Blueprints define multiple interconnected VMs with dependencies.

Available Blueprintsโ€‹

๐ŸŒ LAMP Stackโ€‹

MySQL Database + Apache Web Server
Perfect for: Classic web applications
VMs: 2 (database + web server)

โ˜ธ๏ธ Kubernetes Clusterโ€‹

1 Control Plane + 2 Worker Nodes
Perfect for: Container orchestration
VMs: 3 (control + 2 workers)

๐Ÿข 3-Tier Web Applicationโ€‹

PostgreSQL + Application Server + Envoy Load Balancer
Perfect for: Enterprise applications
VMs: 3 (database + app + frontend)

๐Ÿ”ง CI/CD Pipelineโ€‹

GitLab + Jenkins + Artifact Registry
Perfect for: DevOps automation
VMs: 3 (SCM + CI + registry)

๐Ÿ’ป Development Stackโ€‹

Database + Redis Cache + Development Workspace
Perfect for: Developer environments
VMs: 3 (db + cache + workspace)

Usageโ€‹

# List all blueprints
zorvia blueprint blueprints

# Show detailed blueprint info
zorvia blueprint blueprints --details

# Filter by tag
zorvia blueprint blueprints --tag web

# View specific blueprint
zorvia blueprint show lamp

# Deploy blueprint (dry run)
zorvia blueprint deploy lamp --dry-run

# Deploy blueprint with custom prefix
zorvia blueprint deploy lamp --prefix myapp

# Deploy and start all VMs
zorvia blueprint deploy lamp --start

# Deploy to specific namespace
zorvia blueprint deploy k8s-cluster --prefix prod --namespace production

Example: Deploy LAMP Stackโ€‹

$ zorvia blueprint deploy lamp --dry-run

โ„น Deploying blueprint: lamp
Description: LAMP Stack (Linux + Apache + MySQL + PHP)
VMs to create: 2

โ„น Dry run - VMs that would be created:
1. lamp-mysql-db
Template: ubuntu
Profile: database (6 CPU, 16Gi memory)

2. lamp-web-server
Template: ubuntu
Profile: web (4 CPU, 8Gi memory)
Depends on: mysql-db

Dependency Managementโ€‹

Blueprints automatically handle VM dependencies:

  • Database VMs are created first
  • Application VMs wait for database to be ready
  • Frontend VMs are created last

3๏ธโƒฃ Health Check Systemโ€‹

What is it?โ€‹

Automated diagnostics that analyze VM configurations and provide actionable recommendations.

Featuresโ€‹

  • โœ… Resource allocation analysis
  • โœ… Workload suitability checks
  • โœ… Performance recommendations
  • โœ… Best practice validation
  • โœ… Health scoring (0-100)

Usageโ€‹

# Check VM config file health
zorvia advisor health examples/my-vm.yaml

# Check running VM health
zorvia advisor health my-running-vm

# Show detailed checks
zorvia advisor health my-vm --detailed

# Cluster/platform status (logo, components, features)
zorvia vm status

Example Outputโ€‹

โ•โ•โ• Health Check: my-vm โ•โ•โ•

Overall Status: โœ“ HEALTHY
Health Score: 85/100

Checks:
โœ“ CPU Allocation - 4 CPU cores allocated - good
โœ“ Memory Allocation - 8Gi memory allocated - good
โš  Disk Space - 15Gi disk space is limited
โ†’ Consider allocating at least 20Gi disk space

Recommendations:
1. Consider allocating at least 20Gi disk space

Health Status Levelsโ€‹

  • โœ“ HEALTHY (Score 80-100): Optimal configuration
  • โš  WARNING (Score 50-79): Works but has issues
  • โœ— CRITICAL (Score 0-49): Serious problems
  • ? UNKNOWN: Unable to determine

4๏ธโƒฃ Resource Recommendationsโ€‹

What is it?โ€‹

Smart resource suggestions based on workload type. Get instant recommendations for CPU, memory, and disk.

Usageโ€‹

# Get recommendations for workload
zorvia advisor recommend database

# Show alternatives
zorvia advisor recommend web --alternatives

# Examples
zorvia advisor recommend ci
zorvia advisor recommend cache
zorvia advisor recommend ml

Example: Database Workloadโ€‹

$ zorvia advisor recommend database

โ•โ•โ• Resource Recommendations for: database โ•โ•โ•

โœ“ Found 1 matching profile(s):

โ˜… database (Recommended)
Database - optimized for I/O intensive workloads
Resources:
CPU: 6 cores (1 sockets ร— 1 threads)
Memory: 16Gi
Disk: 200Gi
Best for: PostgreSQL, MySQL, MongoDB, Redis
Recommended OS: ubuntu-22.04, debian-12, almalinux

โ„น Quick create command:
zorvia vm create mydb --template ubuntu-22.04 --profile database

Supported Workload Typesโ€‹

  • database - PostgreSQL, MySQL, MongoDB, Redis
  • web - Envoy, Apache, static sites
  • cache - Redis, Memcached
  • ci - Jenkins, GitLab CI
  • ml - Machine learning workloads
  • container - Docker, Kubernetes
  • development - Developer workstations

๐ŸŽฏ Use Case Examplesโ€‹

Example 1: Quick Development Environmentโ€‹

# Get recommendation
zorvia advisor recommend development

# Create with recommended profile
zorvia vm create dev-vm --template ubuntu --profile dev

Example 2: Production Databaseโ€‹

# Check what's recommended for database
zorvia advisor recommend database

# Create with database profile
zorvia vm create prod-db --template almalinux --profile database

# Verify health
zorvia advisor health prod-db

Example 3: Deploy Complete Stackโ€‹

# See what's available
zorvia blueprint blueprints

# Deploy 3-tier application
zorvia blueprint deploy 3tier --prefix myapp --start

# Check deployed VMs
zorvia vm list

Example 4: CI/CD Infrastructureโ€‹

# Review blueprint
zorvia blueprint show cicd

# Deploy with custom naming
zorvia blueprint deploy cicd --prefix ci-prod --namespace devops

# VMs created:
# - ci-prod-gitlab-server
# - ci-prod-jenkins-server
# - ci-prod-artifact-registry

๐Ÿ”„ Workflow Integrationโ€‹

Typical Workflowโ€‹

# 1. Get recommendations for your workload
zorvia advisor recommend web

# 2. Check available templates
zorvia template templates

# 3. View profile details
zorvia profile show web

# 4. Create VM with profile
zorvia vm create web-server --template ubuntu-24.04 --profile web

# 5. Run health check
zorvia advisor health web-server

# 6. Start the VM
zorvia vm start web-server

Advanced Workflow: Multi-VM Deploymentโ€‹

# 1. Explore available blueprints
zorvia blueprint blueprints --details

# 2. Review specific blueprint
zorvia blueprint show k8s-cluster

# 3. Dry run deployment
zorvia blueprint deploy k8s-cluster --prefix prod --dry-run

# 4. Actually deploy
zorvia blueprint deploy k8s-cluster --prefix prod --start

# 5. Monitor VMs
zorvia vm list

๐Ÿ“ˆ Benefitsโ€‹

Time Savingsโ€‹

  • โšก 80% faster - No more guessing resource allocations
  • โšก One command - Deploy entire stacks instead of manual setup
  • โšก Pre-validated - Configurations tested and optimized

Cost Efficiencyโ€‹

  • ๐Ÿ’ฐ Right-sized - Avoid over-provisioning resources
  • ๐Ÿ’ฐ Optimized - Each profile tuned for efficiency
  • ๐Ÿ’ฐ Scalable - Start small, grow as needed

Best Practicesโ€‹

  • โœ… Industry standard - Profiles based on real-world experience
  • โœ… Validated - Health checks ensure quality
  • โœ… Documented - Clear guidance for each use case

๐Ÿงช Testingโ€‹

All features include comprehensive tests:

# Test profiles
cargo test --lib profiles

# Test blueprints
cargo test --lib blueprints

# Test health checks
cargo test --lib health

# Run all tests
cargo test

Test Resultsโ€‹

profiles::tests::test_profile_manager ... ok
profiles::tests::test_list_profiles ... ok
profiles::tests::test_recommend ... ok

blueprints::tests::test_blueprint_manager ... ok
blueprints::tests::test_list_blueprints ... ok
blueprints::tests::test_search_by_tag ... ok
blueprints::tests::test_vm_dependencies ... ok

health::tests::test_health_report ... ok
health::tests::test_resource_checks ... ok
health::tests::test_workload_match ... ok

๐Ÿ”ฎ Future Enhancementsโ€‹

  • Profile auto-selection based on template
  • Remote/pluggable template registry
  • Deeper performance analytics in the CLI
  • Auto-scaling recommendations
  • ML-based optimization

Custom profile/blueprint CRUD and cost tooling already ship in the CLI (zorvia profile ..., zorvia blueprint ..., zorvia cost ...).


Documentationโ€‹


๐ŸŽ‰ Summaryโ€‹

Zorvia's innovative features provide:

โœ… 8 Resource Profiles - Optimized for different workloads โœ… 5 Multi-VM Blueprints - Deploy complete stacks โœ… Automated Health Checks - Proactive diagnostics โœ… Smart Recommendations - AI-like resource suggestions โœ… Dependency Management - Automatic VM ordering โœ… All with Themed CLI - Beautiful colored output โœ… Platform status - zorvia vm status with a Cilium-style colorful logo, component lines, and feature inventory

No other KubeVirt CLI tool offers these capabilities! ๐Ÿš€