Notes on Azure Pricing and Business Models

Azure pricing is more simple than Amazon
  • 10c/GB in and 15c/GB out, regardless of service
  • Data withing data center is unmetered
  • Between data centers is at full rate
Compute
  • 12c/h deployed instances (ready state+)
  • Same charge regardless of
    • Instance is actually running
    • In staging or production
Storage
  • 15c/GB/m
  • 1c per 10,000 REST Calls
  • CDN charges (TBD)
  • Storage is pro-rated by average daily amount
  • Blocks cost money even if not PUT (don't orphan blocks)
  • Overhead can be expensive in tables
    • Entity pairs, name / values, names also take space
Storage
  • 1c / 10000 REST calls
  • Appears inconsequential, but hand add up
    • Using a queue is at least 3 transactions (enqueue, deque, delete)
  • Batch transactions to reduce cost
SQL Azure
  • $9.99 / m for 1GB
  • $99.99 / m for 10GB
SQL Azure - Instance Based
  • Prorated by time (midnight UTC)
  • CPU like other roles
  • No transaction charge, but beware of throttle
SQL Azure - Accounting
  • Included in cac: shema/objects
  • ... missed rest too fast
SQL Azure - Determining Usage
  • sys.bandwidth_usage, ...
Session State
  • Cheaper in SQL Azure than in tables due to transactions
Pricing Tips
  • Bandwidth: compress response, minify/optimize (aptimize.com)
  • Reduce resource size: compress data in blog storage
  • User affinity groups to geolocate services
Compute
  • Add or remove instances as required
  • start same number of instances in staging
  • warm up instances
  • swap deployments
  • more (went too fast)
Storage
  • Batch requests
  • Model usage
  • Compress blog data
  • Set content-encoding when putting blob
  • use caching to reduce request transaction count
  • use CSS sprites and Data URIs to reduce transaction count
Where do static resources live:
  • In web role?  incurs additional free but resource consuming requests
  • Blob: storage cost and transaction cost
Use CSS sprites
  • Can massively reduce round-trips and transaction counts in Azure
SQL Azure
  • Vertically partition out large data columns
  • Support dynamic partitioning if possible
  • Consider just-in-time partitioning
  • Pull archive data out of the cloud to cheaper on premise storage or to azure storage
  • Manipulate db from cloud using System.Data.SqlClient.SqlBulkCopy

blog comments powered by Disqus

About the author

I'm a .NET, XAML, and iOS polyglot that loves playing with new things and making cool and innovative stuff.  I am also a Mac junkie.

I am Principal Technologist for SunGard Global Services in NYC, in their Advanced Technologies practice, and I work extensively with SunGard's energy and financial customers.

Note the the posting on this blog are my own and do not represent the position, strategies or opinions of SGS.

Widget TwitterFeed not found.

The file '/widgets/TwitterFeed/widget.ascx' does not exist.X

Recent Comments

None

Month List