Update price data: 2025-10-12T12:08:51.247Z
A real-time monitoring system for Azure spot instance pricing, specifically tracking Standard_D16s_v5 instances across multiple regions.
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ Choreo │ │ GitHub │ │ GitHub Pages │ │ (Scheduled │───▶│ (Data Storage) │───▶│ (Visualization) │ │ Task) │ │ │ │ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ ▼ ┌─────────────────┐ │ Azure Pricing │ │ API │ └─────────────────┘
Create Choreo Account: Sign up at Choreo
Create New Component:
Configure Environment Variables in Choreo:
GITHUB_TOKEN=your_github_personal_access_token GITHUB_REPO=azure-spotnode-price-checker GITHUB_OWNER=your_github_username
Enable GitHub Pages:
Create Personal Access Token:
repo
workflow
Enable GitHub Actions:
# Install dependencies npm install # Run locally npm start # Development with auto-reload npm run dev
The service collects the following data points:
The application uses a dual persistence approach:
Primary: GitHub Repository Storage
data/price-logs.json
Fallback: Local File Storage
Read-Only Environment Support
EROFS
The system queries these Azure Pricing API endpoints:
East US 2:
https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview&$filter=serviceName eq 'Virtual Machines' and productName eq 'Virtual Machines Dsv5 Series' and armRegionName eq 'eastus2' and armSkuName eq 'Standard_D16s_v5' and contains(skuName,'Spot')
North Europe:
https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview&$filter=serviceName eq 'Virtual Machines' and productName eq 'Virtual Machines Dsv5 Series' and armRegionName eq 'northeurope' and armSkuName eq 'Standard_D16s_v5' and contains(skuName,'Spot')
The dashboard provides:
azure-spotnode-price-checker/ ├── src/ │ └── index.js # Main price fetching logic ├── scripts/ │ └── process-data.js # Data processing for visualization ├── docs/ │ ├── index.html # Dashboard web interface │ └── price-data.json # Processed data for charts ├── data/ │ └── price-logs.json # Raw price data storage ├── .github/workflows/ │ └── update-data.yml # GitHub Actions for data processing ├── .choreo/ │ └── component.yaml # Choreo configuration reference ├── Dockerfile # Container configuration ├── package.json # Node.js dependencies └── README.md # This file
This solution is completely free:
Common Issues:
src/index.js
Logs:
MIT License - see LICENSE file for details
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
Azure Spot Node Price Checker
A real-time monitoring system for Azure spot instance pricing, specifically tracking Standard_D16s_v5 instances across multiple regions.
Features
Architecture
Setup Instructions
1. Choreo Deployment
Create Choreo Account: Sign up at Choreo
Create New Component:
Configure Environment Variables in Choreo:
2. GitHub Setup
Enable GitHub Pages:
Create Personal Access Token:
repo,workflowEnable GitHub Actions:
3. Local Development
Data Collection & Persistence
The service collects the following data points:
Data Storage Strategy
The application uses a dual persistence approach:
Primary: GitHub Repository Storage
data/price-logs.jsonvia GitHub APIFallback: Local File Storage
Read-Only Environment Support
EROFS(read-only file system) errorsAPI Endpoints
The system queries these Azure Pricing API endpoints:
East US 2:
North Europe:
Visualization Features
The dashboard provides:
File Structure
Monitoring and Maintenance
Cost Analysis
This solution is completely free:
Troubleshooting
Common Issues:
src/index.jsLogs:
Contributing
License
MIT License - see LICENSE file for details