Purpose of This Document
This document provides an overview of the Azure services required to deploy Alert Plus into a customer-managed Azure subscription. It explains what each service does, how Alert Plus processes alerts, and how customers should think about sizing and estimating costs based on:
- Alert volume
- Frequency of data changes
- Size of SharePoint lists and libraries
- Number of tenants and alert destinations
This document is intended for IT administrators, Azure architects, and procurement teams planning an Alert Plus deployment.
High-Level Architecture Overview
Alert Plus is deployed into the customer’s Azure subscription using:
- Azure App Service (Functions)
- Azure Storage
- Azure Key Vault
- Azure SQL
- Managed Identity and RBAC
- Optional Private Networking components
All services are owned and controlled by the customer. Bamboo does not have access to customer Azure resources or secrets.
Region
- Default: East US
- Customer Choice: Alert Plus can be deployed to any Azure region supported by the customer
Region selection does not impact functionality but may affect latency and Azure pricing.
Compute
Azure App Service Plan
- 1 × App Service Plan
- Type: Premium v3 (P1v3, Windows)
- Purpose: Hosts all Alert Plus Function Apps
- Note: This represents the minimum supported configuration
The App Service Plan hosts three Function Apps:
Function Apps
1. API Function App
- Provides APIs used by Alert Plus SPFx web parts
- Handles:
- Alert creation
- Alert updates
- Alert management
2. Manager Function App
- Acts as the orchestrator for alert processing
- Responsibilities include:
- Scheduling alert execution
- Assigning Tenants to Worker Jobs
3. Worker Function App (Primary Scaling Component)
The Worker Function App is the key scaling component in Alert Plus.
- Each Worker Function App supports:
- Up to 30 Jobs (Shards)
- Each Job processes 20 alerts per batch
Capacity per Worker App:
- 600 alerts per execution cycle
- Jobs run every 15 minutes
How Alerts Are Processed
- Worker Job retrieves delta changes from SharePoint
- Data is loaded and evaluated
- Alert conditions are processed
- Notifications are sent (Email today; Teams and other channels in the future)
- Alert is removed from the queue upon completion
Performance Considerations
Alert execution time can range from seconds to minutes, depending on:
- Frequency of data changes
- Size of lists and libraries
- Complexity of alert conditions
- Number of destinations (email, future Teams, etc.)
If alerts take longer than the 15-minute execution window, queues can overlap, indicating a need to scale compute resources.
Scaling Guidance
Scaling options include:
- Increasing App Service Plan memory and CPU
- Adding additional Worker capacity
Example: Increasing memory to 16 GB typically adds approximately $20/month (refer to Microsoft pricing for confirmation).
SQL Backend
As part of our next major release, Bamboo Solutions' hosted Alert Plus backend will transition from Azure Table Storage to
Microsoft SQL Server as its primary data repository.
This architectural enhancement provides several significant benefits, including:
• Improved performance for larger SharePoint lists and document libraries.
• Faster alert processing and reduced processing latency.
• Increased scalability as alert volumes continue to grow.
• Greater flexibility for future product enhancements.
• Improved diagnostics, reporting, and maintenance capabilities.
To ensure all customers benefit from these improvements and to maintain a consistent platform across all deployments, self-hosted Alert Plus environments will also need to migrate to the new SQL-based architecture.
By standardizing on a single backend architecture, Bamboo Solutions can deliver new features more quickly, simplify future upgrades, reduce support complexity, and ensure every customer receives the same high level of performance and reliability. This allows our engineering team to focus on innovation rather than maintaining multiple backend implementations.
Storage
Azure Storage Account
- 1 × Azure Storage Account
- Type: GPv2
- Replication: LRS
Storage Services Used
Blob Storage
- Stores alerts during active processing
- Temporary state while alerts are executing
Queue Storage
- Drives alert execution flow
- Multiple queue types:
- Tenant Queues: Enable multi-tenant processing
- Worker Queues: Assign alerts to Worker Jobs
- Email Queue: Handles outbound notification processing
Alerts are removed from queues once processing completes.
Table Storage
- Stores:
- Alert definitions
- Alert metadata
- Processing state
Multi-Tenant Support
For customers with multiple tenants or complex organizational structures:
- Tenant queues provide isolation
- Enables alignment with enterprise architecture and governance requirements
Storage costs are typically low, but may increase with:
- Very large alert volumes
- High-frequency data changes
- Long-running alerts
Security
Azure Key Vault
- Tier: Standard
- Estimated Cost: ~$30/month (refer to Microsoft pricing)
Key Vault stores:
- Client ID
- Client Secret
These credentials allow Alert Plus to securely access SharePoint data.
Managed Identity & RBAC
- No secrets are stored in code
- Worker Jobs use Managed Identity to access Key Vault
- Access is controlled using Azure RBAC
- Example Role: Key Vault Secrets Officer
Important: Bamboo does not have access to customer secrets or Azure resources.
SQL Database Recommendations
For Alert Plus, we recommend using Azure SQL Database (Microsoft SQL Server / MS SQL) because it is a fully
managed database service that provides excellent performance while requiring very little administrative overhead. Alert Plus places relatively light demand on SQL Server resources, making Azure SQL Database an ideal deployment option.
Note: Alert Plus supports Microsoft SQL Server (MS SQL) only. MySQL is not supported.
For environments with approximately 2,000 alerts, we currently recommend an Azure SQL Database configured with 50 DTUs. However, many organizations can begin with a 10 DTU database and monitor utilization over time. If CPU usage, DTU consumption, or other resource metrics consistently exceed approximately 80%, Azure SQL can be scaled up quickly with minimal operational impact.
Supported SQL Deployment Options
1. Azure SQL Database (Recommended)
• Fully managed Microsoft SQL Server.
• Minimal administration required.
• Automatic backups and high availability.
• Easily scalable as your environment grows.
• Recommended starting configuration:
o 10 DTU for smaller environments.
o 50 DTU for environments with approximately 2,000 alerts.
2. Microsoft SQL Server on an Azure Virtual Machine
• Customer deploys and manages SQL Server within an Azure VM.
• Greater administrative control.
Customer is responsible for operating system maintenance, SQL patching, backups, monitoring, and licensing.
3. Existing Microsoft SQL Server
• Utilize an existing Microsoft SQL Server by creating a dedicated Alert Plus database.
• Ideal for organizations with established SQL Server infrastructure.
• The SQL instance should have sufficient CPU, memory, and storage capacity available.
Recommended Authentication
For the most secure deployment, we recommend using Azure Managed Identity together with Azure Active Directory authentication.
Configuration includes:
• Enabling a Managed Identity for the Azure Function App.
• Granting the Managed Identity appropriate access to the Azure SQL Database.
• Using the following connection string authentication method:
Authentication=Active Directory Default
This approach eliminates the need to store SQL credentials and aligns with Microsoft's recommended security best practices.
Alternative Authentication
If Managed Identity is not preferred, Alert Plus also supports traditional SQL authentication.
This configuration requires:
• A SQL username and password.
• Secure storage of credentials using Azure Key Vault or Azure Application Settings.
While both methods are supported, Bamboo Solutions strongly recommends Azure SQL Database with Managed Identity and Azure Active Directory authentication whenever possible.
Networking (Optional but Recommended)
Private Endpoints
- Azure Storage
- Azure Key Vault
Private Endpoints ensure:
- Services are only accessible from within the Azure environment
- No public access, even if endpoints are known
API Management (Optional)
- Can be used to expose APIs securely
- Adds:
- DDoS protection
- Rate limiting
- IP allow/block lists
- Additional security policies
For customers hosting Alert Plus within their own Azure tenant, API Management and Private Endpoints may not be required but are available to meet stricter security requirements.
Cost Estimation Guidance
Actual Azure costs vary based on usage patterns. Key drivers include:
Primary Cost Drivers
- Number of active alerts
- Alert execution frequency
- Size and change rate of SharePoint data
- Number of Worker Jobs required
- Security and networking requirements
Typical Cost Profile
| Component | Cost Sensitivity |
|---|---|
| App Service Plan | High (scales with alert volume) |
| Azure Storage | Low–Moderate |
| Key Vault | Fixed / Low |
| Private Endpoints | Low–Moderate |
| API Management | Optional / Moderate |
Customers should consult Microsoft Azure Pricing for exact costs and work with Bamboo to size their deployment appropriately.
Summary
Alert Plus is designed to scale efficiently within a customer’s Azure environment while maintaining strong security and predictable performance. The Worker Function App is the primary scaling lever, with additional flexibility provided through Azure App Service sizing and optional networking controls.
This architecture supports:
- Small teams with modest alert volumes
- Large enterprises with high-frequency, high-volume alerting needs
Bamboo will work with customers during onboarding to validate sizing assumptions and ensure a smooth deployment.
| Microsoft Azure Estimate | ||||||
| Your Estimate | ||||||
| Service category | Service type | Custom name | Region | Description | Estimated monthly cost | Estimated upfront cost |
| Compute | App Service | East US | Premium V3 Tier; 1 P1V3 (2 vCPU(s), 8 GB RAM, 250 GB Storage) x 730 Hours; Windows OS; 0 SNI SSL Connections; 0 IP SSL Connections; 0 Custom Domains; 0 Standard SLL Certificates; 0 Wildcard SSL Certificates | $229.95 | $0.00 | |
| Storage | Storage Accounts | East US | Premium Block Blob Storage, Flat Namespace, LRS Redundancy, Hot Access Tier, 10 GB Capacity - Pay as you go, 10 x 10,000 Write operations, 10 x 10,000 List and Create Container Operations, 10 x 10,000 Read operations, 1 x 10,000 Other operations. 1,000 GB Data Retrieval, 1,000 GB Data Write, SFTP disabled | $2.19 | $0.00 | |
| Security | Key Vault | East US | Vault: 100,000 operations, 0 advanced operations, 0 renewals, 0 protected keys, 0 advanced protected keys; Managed HSM Pools: 0 Standard B1 HSM Pool(s) x 730 Hours | $0.30 | $0.00 | |
| DevOps | Azure Monitor | East US | Log analytics: Log Data Ingestion: 0.1 GB Daily Auxiliary Logs without processing, 0.1 GB Daily Auxiliary Logs with processing, 0.1 GB Daily Basic logs, 0.1 GB Daily Analytics logs ingested, 1 months of Interactive Retention, 0 months of Retention, 0 GB data restored for 0 days, 0 queries per day with 0 GB data scanned per query, 0 GB of Log Data Exported per day, Platform Log Data Processed per day: 0 GB with Destination to Storage or Event Hub and 0 GB with Destination to Marketplace Partners, 10 Search job Queries per day with 1 GB data scanned per query; 0 SCOM MI Endpoints; Managed Prometheus: Using default collection estimation method (with a cluster of 0 linux nodes, 0 Windows nodes, 0 containers, and 0 pods), 0 Average daily Dashboards users, 7 Dashboards, 50000 Data samples queried per dashboard, 25 promql alerting rules, 25 promql recording rules; Application Insights: 0.1 GB Daily Analytics logs ingested, 3 months Data retention, 0 Standard Web Tests, 5 Minutes Execution frequency, Executing for 730 hours; 1 resource monitored X 1 metric time-series monitored per resource, 5 Minutes Log Signal frequency with 1 log signal monitored and 1 time series per signal, 0 Additional events (in thousands), 0 Additional emails (in 100 thousands), 0 Additional push notifications (in 100 thousands), 0 Additional web hooks (in millions) | $3.90 | $0.00 | |
| Networking | Azure Private Link | West US | 4 Endpoints X 730 Hours, 100 GB Outbound data processed, 100 GB Inbound data processed | $31.20 | $0.00 | |
| Networking | Azure DNS | Zone 1, DNS, Private; 4 hosted DNS zones, 0 DNS queries | $2.00 | $0.00 | ||
| SQL | See Above for Guidelines on SQL | $14-$50.00 | 49 | |||
| Licensing Program | Microsoft Customer Agreement (MCA) | |||||
| Billing Account | ||||||
| Billing Profile | ||||||
| Total | ~$250-$300per month | $0.00 | ||||
| Price assumes all net new services. | ||||||
| Disclaimer | ||||||
| All prices shown are in United States – Dollar ($) USD. This is a summary estimate, not a quote. For up to date pricing information please visit https://azure.microsoft.com/pricing/calculator/ | ||||||
| This estimate was created at 2/2/2026 10:06:18 PM UTC. | ||||||
Comments
0 comments
Please sign in to leave a comment.