App Service v4, Premium SSD v2, newer D-series VMs, Azure Files v2 and Managed Redis — with the benchmarks, prices, and rollout guardrails.
Pricing basis: East US, US dollars, pay-as-you-go retail pricing retrieved July 23, 2026. Monthly compute estimates use 730 hours. Linux pricing is used where applicable. Prices are indicative snapshots and should be checked before making a change.
Azure can be faster and cheaper when a newer service generation, SKU, or pricing model provides more performance for each dollar spent. The opportunity is easy to miss because cloud resources that were sensible when deployed do not necessarily remain the best option. Spotto, a AI-Assisted Cloud Operations platform for MSPs, continuously compares Azure resources with current alternatives and uses utilization data to identify changes that could improve both cost and performance. The result is a forward-looking view of price-performance rather than a one-time exercise that slowly becomes outdated.
I am Jay, the co-founder and CTO of Spotto. I often joke that I am a proud Dutchman: I like a good deal, particularly when it comes with better engineering.
When buying a car, laptop, or phone, we normally expect a choice between the fast one and the cheap one. The new model usually carries a premium, while the old model becomes the budget option.
Azure does not always work that way.
New hardware generations, service tiers, and billing models can be both faster and less expensive than what came before. An Azure configuration can therefore be well-designed on the day it is deployed and still become poor value later. Nothing broke. Azure simply moved on.
That creates a practical problem for MSPs and internal cloud teams. Azure contains thousands of possible combinations across region, operating system, SKU, size, redundancy, reservation, storage, and workload profile. Rechecking every deployed resource against every new option is not a particularly good use of a human life.
The financial consequence is not limited to paying too much for one resource. Slower resources can also require more instances, longer processing times, or unnecessary capacity. A resource that appears only slightly more expensive may make the wider architecture considerably more expensive.
The examples below use East US public retail prices in US dollars. Contract pricing, reservations, operating system, redundancy, and the number of instances can change the result.
| Azure service | Existing option | Alternative | Indicative outcome |
|---|---|---|---|
| App Service | Linux P2v2 (2 vCores, 7GB RAM) | Linux P1v4 (2 vCores, 8GB RAM) | More memory, newer hardware, and around 28% lower per-instance cost |
| Managed disks | 128 GiB Premium SSD P10 | 128 GiB Premium SSD v2 | 6x baseline IOPS, 25% more throughput, and around 48% lower cost |
| Virtual Machines | 5 x D4s v3 instances | 4 x D4s v5 instances | Around 6% more aggregate benchmark capacity and 20% lower compute cost |
| Azure Files | 4 TiB provisioned v1 | 4 TiB provisioned v2 with 10,000 IOPS and 600 MiB/s | 41% more IOPS, 18% more throughput, and around 6% lower cost |
| Redis | Azure Cache for Redis Standard C3 | Azure Managed Redis Balanced B5 with HA | Around 3x published read throughput and around 31% lower cost |
These are not universal migration instructions. They are candidates for investigation. Performance depends on the application, and compatibility matters just as much as the price shown on a calculator.
The useful question is not, "What is the cheapest SKU?" It is, "What is the least expensive option that still satisfies this workload's requirements, with enough headroom for normal variation?"
That requires four kinds of data:
The decision logic is conditional:
Is a newer option available in the required region? ├─ No → Keep the current resource and check again later. └─ Yes ├─ Does it support the workload's required features? │ ├─ No → Exclude it. │ └─ Yes │ ├─ Does observed demand fit with safe headroom? │ │ ├─ No → Test a larger alternative. │ │ └─ Yes → Compare total cost and expected performance. │ └─ Is the change reversible or safely testable? │ ├─ No → Require a migration and rollback plan. │ └─ Yes → Validate under representative load.
This is where Spotto's Alternatives view and value score become useful. Spotto identifies options that satisfy the workload's hard requirements, incorporates CPU benchmarks and utilization metrics, and shows the estimated cost difference. It also surfaces options with explicit trade-offs. If the business can accept a particular compromise, that option can remain part of the decision instead of being silently excluded. The recommendation still needs engineering judgment, but the team no longer needs to discover every permutation manually.
Are older App Service Plans charging more for less capable infrastructure?
For a Linux App Service Plan in East US, the public retail price snapshot shows the following approximate per-instance costs:
| SKU | vCPUs | Memory | Approximate monthly cost |
|---|---|---|---|
| P2v2 | 2 | 7 GB | $147.46 |
| P1v3 | 2 | 8 GB | $113.15 |
| P1v4 | 2 | 8 GB | $106.58 |
Moving from P2v2 to P1v4 provides an additional 1 GB of memory and reduces the monthly instance cost by about $40.88, or 28%.
Premium v4 also runs on newer AMD-based Dadsv6 and Eadsv6 infrastructure with NVMe temporary storage. Microsoft reports more than a 50% performance improvement for P1v4 through P3v4 compared with the corresponding non-memory-optimized v3 plans. In Microsoft's published load tests, the improvement varied by workload, which is why application testing still matters.
The more interesting outcome may be rightsizing. If v4 processes the same workload with materially more throughput, an application might need fewer instances or a smaller plan. That turns a lower SKU price into a wider architectural saving.
Before migrating, verify:
Microsoft provides Premium v4 performance details and load-test results.
Are you increasing disk capacity just to obtain more IOPS?
A 128 GiB Premium SSD P10 provides 500 IOPS and 100 MB/s throughput for approximately $19.71 per month in East US. A 128 GiB Premium SSD v2 provides a baseline of 3,000 IOPS and 125 MB/s for approximately $10.28 per month.
That comparison shows:
Premium SSD v2 also separates capacity from performance. Capacity can be selected in 1 GiB increments, while IOPS and throughput can be adjusted independently. If an application needs 140 GiB, it can provision 140 GiB. With the original Premium SSD tiers, exceeding the 128 GiB P10 limit means moving to the 256 GiB P15 tier, even if most of that capacity remains unused.
This flexibility matters because conventional Premium SSD performance is coupled to disk size. Teams often buy storage they do not need because the application needs more IOPS. Premium SSD v2 allows the storage and performance requirements to be matched separately.
Migration still requires checking regional support, VM support, backup and disaster-recovery requirements, and whether the disk is an OS disk. Microsoft documents the current Premium SSD v2 capabilities and restrictions.
Could fewer newer VMs carry more load than a larger fleet of older VMs?
Consider three Linux VM options from the same D4s family. Each has four vCPUs and 16 GB of memory, and each currently costs the same in East US: $0.192 per hour, or approximately $140.16 per month.
For a more defensible comparison, I have used Microsoft's published Linux CoreMark tests rather than mixing Geekbench results from different VM families. The processor shown is the processor used in Microsoft's benchmark run.
| SKU | Processor in Microsoft's test | Approximate monthly cost | Average CoreMark score | Improvement over D4s v3 |
|---|---|---|---|---|
| D4s v3 | Intel Xeon E5-2673 v3 at 2.40 GHz | $140.16 | 50,716 | Baseline |
| D4s v4 | Intel Xeon Platinum 8272CL at 2.60 GHz | $140.16 | 65,910 | 30% |
| D4s v5 | Intel Xeon Platinum 8370C at 2.80 GHz | $140.16 | 67,114 | 32% |
There is no fast-versus-cheap compromise in this price snapshot. A D4s v4 delivers around 30% more benchmark performance than the older D4s v3 result for exactly the same compute price. A D4s v5 delivers around 32% more.
The D4s v5 also improves the VM's remote-storage ceiling. Compared with the D4s v3 and v4 limit of 6,400 uncached Premium SSD IOPS and 96 MB/s, the v5 supports the same sustained IOPS but 145 MB/s of throughput. Its 30-minute disk burst limit rises from 8,000 IOPS and 200 MB/s to 20,000 IOPS and 1,200 MB/s.
Now consider a horizontally scalable application. Five D4s v3 instances cost about $700.80 per month and produce a combined CoreMark score of 253,580 using the older processor result above. Four D4s v5 instances cost $560.64 and produce a combined score of 268,456. Under the deliberately simplified assumption that application throughput scales with this benchmark, the four-node v5 fleet provides around 6% more aggregate compute capacity while reducing compute cost by 20%.
Benchmarks are directional evidence, not a production capacity plan. D4s v3 can run on several permitted processor models, and actual workloads do not always scale linearly. Microsoft no longer maintains this CoreMark dataset and recommends testing the workload on the target VM. The v4 and v5 sizes also omit the local temporary disk available on v3. Replay representative traffic, measure throughput and tail latency, confirm storage and compatibility requirements, and reduce instance count gradually.
Sources: Microsoft's Linux VM CoreMark results, Dsv3 specifications, Dsv4 specifications, and Dsv5 specifications.
Are storage, IOPS, and throughput being forced to move together?
Azure Files provisioned v1 calculates IOPS and throughput from provisioned storage. You cannot independently set a 4 TiB v1 share to 20,000 IOPS; increasing the IOPS control increases provisioned storage as well. Provisioned v2 changes that model by allowing capacity, IOPS, and throughput to be configured independently, within Azure's guardrails.
For a 4,096 GiB SSD share, the provisioned v1 formulas provide 7,096 IOPS and 510 MiB/s of throughput. Provisioned v2 creates two different opportunities: keep exactly the same performance and take the full saving, or reinvest some of the saving in higher performance.
| Configuration | Storage | Provisioned IOPS | Provisioned throughput | Approximate monthly cost | Saving vs v1 |
|---|---|---|---|---|---|
| Provisioned v1 | 4,096 GiB | 7,096 | 510 MiB/s | $655.36 | — |
| Strict like-for-like v2 | 4,096 GiB | 7,096 | 510 MiB/s | $536.44 | 18.15% |
| Faster v2 | 4,096 GiB | 10,000 | 600 MiB/s | $618.42 | 5.64% |
The like-for-like comparison isolates the value of the newer billing model: identical provisioned capacity and performance for $118.92 less per month. The faster configuration is the more compelling price-performance example. It provides around 41% more IOPS and 18% more throughput while still costing $36.94 less per month.
The important distinction is that provisioned v1 exposes storage as the configurable input; IOPS and throughput follow from it. Provisioned v2 exposes all three dimensions. That makes it possible to fit the share to the workload instead of fitting the workload to a storage ratio.
These calculations use Microsoft's illustrative East US LRS rates and a 730-hour month. See Azure Files billing for the provisioning formulas and Azure Files cost estimation for the rates and worked examples.
Is an older Redis cache paying more for a principally single-threaded engine?
Azure Managed Redis is the successor to Azure Cache for Redis. The older Azure Cache for Redis Basic, Standard, and Premium tiers use open-source Redis, where command processing is principally single-threaded. Azure Managed Redis uses the multithreaded Redis Enterprise stack and organizes SKUs around memory and compute profiles.
For a high-availability deployment, Standard C3 includes a primary and replica, while the B5 price below has Azure Managed Redis high availability enabled:
| Azure Cache for Redis | Azure Managed Redis | |
|---|---|---|
| SKU | Standard C3 | Balanced B5 |
| Advertised memory | 6 GB | 6 GB |
| Published TLS GET throughput | Around 75,000/second | Around 230,000/second |
| Approximate monthly cost | $328.50 | $228.00 |
The B5 alternative costs about $100.50 less each month, a reduction of around 31%, while Microsoft's reference benchmarks indicate roughly three times the read throughput.
There is an important capacity guardrail: Azure Managed Redis reserves approximately 20% of advertised memory for system operations. A 6 GB B5 therefore provides approximately 4.8 GB for application data. The migration is a strong candidate only when the existing cache's peak Used Memory fits with appropriate headroom.
The services also differ operationally:
Azure Cache for Redis is being retired, which makes this both an optimization and a lifecycle consideration. Microsoft provides a detailed migration comparison, Azure Cache for Redis benchmark data, and Azure Managed Redis benchmark data.
Start with changes that have a clear price-performance advantage and a low migration risk. Then work toward changes that affect application behavior or architecture.
Which opportunity should be investigated first? ├─ Same service, newer billing model or generation │ ├─ Azure Files v1 → v2 │ ├─ Premium SSD → Premium SSD v2 │ └─ App Service Premium v2/v3 → v4 └─ Different runtime, topology, or service ├─ Older VM fleet → fewer newer VMs └─ Azure Cache for Redis → Azure Managed Redis Within each branch: 1. Rank by projected annual saving. 2. Exclude incompatible alternatives. 3. Prefer changes that can run side by side. 4. Validate performance before removing the original resource.
For MSPs, ranking matters. A $40 monthly saving may be immaterial in one customer environment but substantial when the same pattern appears across hundreds of subscriptions.
Initial state: An MSP manages many customer subscriptions containing Premium v2 App Service Plans and P10 Premium SSDs deployed over several years.
Intervention: Spotto identifies region-compatible Premium v4 plans and Premium SSD v2 disks, then filters them using current utilization and feature requirements.
Outcome: The MSP receives a ranked list of repeatable changes rather than asking each account team to rediscover the same opportunity. Savings can be assessed per customer and aggregated across the managed estate.
Initial state: A load-balanced application runs on five D4s v3 instances with enough spare capacity to test consolidation.
Intervention: The team deploys D4s v5 instances alongside the existing pool, shifts a portion of traffic, and compares throughput, latency, CPU, memory, and error rates.
Outcome: If production measurements support the benchmark direction, the team can move to four newer instances and retain rollback capacity during the transition.
Initial state: An application uses Azure Cache for Redis Standard C3, but its peak Used Memory remains comfortably below the usable capacity of a B5 Azure Managed Redis instance.
Intervention: The team validates client clustering behavior, creates the B5 cache with high availability, synchronizes or repopulates data, and tests both endpoints.
Outcome: The application can gain substantially more read throughput at a lower monthly cost while also moving away from a retiring service.
Spotto collects 93 days of utilization history across many resource-specific metrics. Before changing a resource, confirm that this window represents the workload's normal peaks and business cycles, then check regional availability, quotas, feature compatibility, availability requirements, reservations, and dependent resource limits.
The inventory is only the starting point. Resource-specific metrics are required before rightsizing.
The cheapest migration is the one that does not cause an outage. Common failure modes include:
Prefer side-by-side migrations with an explicit cutback path. Keep the original resource available until data integrity, performance, monitoring, and peak-load behavior are confirmed. For stateful services, document how writes are synchronized and what data could be lost during a reverse cutover.
Yes. Azure pricing does not consistently increase with hardware generation. Newer infrastructure, revised service packaging, and more flexible billing models can provide more capacity or performance at a lower list price.
No. Instance reduction depends on the workload scaling horizontally and on CPU being a meaningful constraint. Storage, network, memory, locks, external services, or software licensing may prevent benchmark gains from translating directly into fewer instances.
Spotto collects 93 days of history across many utilization metrics. The challenge is not simply collecting the data. A manual review requires someone to inspect each relevant metric, compare it with every candidate service or SKU, account for peaks and trends, and continue monitoring as the environment changes. Spotto automates that work. Seasonal workloads or newly deployed applications may still require a longer review period or representative load testing.
Neither should be considered in isolation. Spotto first identifies safe alternatives that meet the workload's hard requirements, then makes their price and performance differences easy to compare. The Alternatives view also shows options with explicit trade-offs, so any compromise is visible and deliberate.
No. The examples use East US public pay-as-you-go prices in US dollars and exclude contract discounts, reservations, taxes, and data-transfer charges. Azure prices and service availability change, so the live price should be checked immediately before approval.
They can. A reservation, savings plan, enterprise agreement, or private offer changes the effective price. A recommendation should compare the cost that will actually be incurred, including the treatment of any existing commitment.
Not always. The endpoint, port, clustering behavior, logical database support, networking, and usable-memory calculation differ. Client and data migration testing are required before cutover.
The comparison changes whenever Azure releases hardware, alters prices, adds regions, or introduces a new SKU. A human can investigate one resource well; continuously evaluating many resource types across many subscriptions is where automation becomes useful.
For supported recommendations, yes. Spotto Actions lets an authorized user implement a change with a button, and an action can be scheduled for an off-peak maintenance window. For environments managed through infrastructure as code, Spotto can provide a reusable skill and AI prompt for the infrastructure team, so the required code changes stay in the team's normal source-control, peer-review, testing, and deployment process.
A price-performance finding only becomes a project when the customer approves it. The recommendation pattern that works is simple. Start with what it is, in plain language. Then cover why it matters, what is at risk if it waits (a retiring service, an aging SKU, no headroom on the biggest trading day), and what the outcome will be for cost, performance, and reliability. Lead with the business result; the SKU names can come later.
If you do this through Spotto, each recommendation already carries what that conversation needs: the expected saving, the performance impact, downtime considerations, the migration steps, and the business benefits. That gives you a clear statement of work, ready to package and take to the client.
For larger estates, consider putting the changes on a roadmap. Quick, low-risk wins first (billing-model updates such as Azure Files provisioned v2), then generational upgrades, then the migrations that need validation windows. A phased roadmap shows the customer where they are heading, and it turns a one-time list of findings into an ongoing engagement.
Pick 3 customers. Take a free look.
Cost and performance are only part of the picture. The same review process can uncover opportunities across the five pillars of the Azure Well-Architected Framework: Reliability, Security, Cost Optimization, Operational Excellence, and Performance Efficiency. Availability and recovery form part of Reliability, while compliance requirements influence decisions across Security, governance, and operations.
Spotto is a AI-Assisted Cloud Operations platform for MSPs. It reads every client's Azure environment in one place and turns telemetry, pricing, licensing, reservations, benchmarks, and service capabilities into clear recommendations and executable actions.
That covers the whole journey from insight to invoice. Spotto finds the valuable work hiding in each environment — the savings, upgrades, and risks worth fixing — and packages every recommendation with the cost, business benefit, trade-offs, migration path, and operational considerations a client can understand and approve. Delivery then runs through the tools MSPs already use, from one-click Spotto Actions and scheduled maintenance windows to the PSA and ticketing workflows the team lives in — so approved work becomes delivered, billable work, and every client gets senior-level attention, not just the biggest.