What Does On Demand Pricing Mean For The Cloud?

Cloud Based On Demand Pricing

There are many different cloud providers available on the internet these days. On top of that, there are also different pricing options available from most of these cloud providers. One of these pricing models is known as on demand pricing.

What is on demand pricing? On demand pricing for cloud service providers is the pricing rate at which a given service is priced during the time period in which the service is used. A pre-negotiated contract is not required to receive on demand pricing for these services.

On demand pricing is considered the default pricing model for most cloud providers, but there are many alternatives offered as well. Even still, the on demand pricing will vary between services and even within a single service can vary depending on the resources used.

On Demand Pricing For Compute

Most users first starting with the cloud are either moving from on premises servers or virtual private servers to cloud based VMs. When doing so, looking into the pricing model available from the cloud provider of choice is usually considered. The top three cloud providers, Amazon Web Services (AWS), Microsoft Azure, or Google Cloud are the usual candidates.

Each of these three providers offer on demand pricing for their virtual machines. These on demand pricing models allow for the customer to pay only for the time used when running these VMs instead of pre-paying for a full month or year like they would from most bare metal server providers.

Some of these cloud service providers offer different time frames for which the on demand pricing applies. For example the minimum on demand billing time frame provided by AWS is 1 hour if not running a Linux based VM. So if you start a non linux based VM offered by AWS and only run the VM for 20 minutes, you would still be billed for the initial hour. Any usage over that initial hour is also rounded up to the nearest hour. However if the VM is Linux based, the billing is per second except the first 60 seconds are a mandatory charge even if the VM is used for less than sixty seconds.

Microsoft Azure on the other hand does similar billing and bills by the second. You are only charged for every second that the virtual machine is running in the Microsoft data center. However, it still can take several minutes for the started VM to initially boot and you will be charged for that period even if the VM isn’t fully operational during this period.

Google cloud service VM on demand pricing is very similar to the AWS Linux based pricing. The first sixty seconds per VM are billed even if they are not fully used. After this, the billing is charged per second of VM usage. Given this, all three of the top clouds offer very similar on demand billing practices when looking at their VM based on demand billing.

On Demand Pricing For Other Services

Even though the previous section described how on demand billing works for compute, on demand pricing also applies to other services offered by these cloud service providers. This is especially true for their database offerings. This would apply to both SQL based databases and NoSQL databases.

For example with Amazon AWS RDS, which is a SQL database service that offers databases like MySQL, PostgreSQL, MariaDB, Oracle, SQL Server and Amazon Aurora, on demand pricing is an option. This means that when using these databases hosted and managed by Amazon, you are able to pay an on demand price for the service during the period for which you are running any of these databases. Once the database is stopped, terminated or deleted, you are no longer required to pay a fee. A pre-negotiated contract is not required for access to these databases. Simply pay for the time used when running any of these databases.

This also applies to Microsoft Azure databases like Azure SQL Server, Azure Cosmos DB (a NoSQL offering), Azure Cache for Redis, Azure Database for PostgreSQL, Azure Database for MySQL, Azure Database for MariaDB, and SQL Managed Instances. Each of these offer on demand pricing so that you only pay for the time that you are actually using the database, just like the AWS database services mentioned previously.

On the Google Cloud front, the exact same story exists for their database offerings. This includes their services like Cloud SQL, Cloud Bigtable, Cloud Bigstore, Firebase Realtime Database and Cloud Memorystore. No need to pre-pay for these services as you will simply be charged for time used when using them with the on demand pricing model.

You might think this only applies to database and compute, but that isn’t true. The on demand pricing model applies to virtually every service offered by all the top cloud providers. Things like Amazon Redshift, Azure Synapse, Azure Key Vault, Amazon Elastic Map Reduce, Azure Databricks, Google Kubernetes Engine, Cloud Functions, Azure Functions, AWS Lambda and many more all offer on demand based pricing.

Even though pretty much all the cloud services offer on demand pricing, it doesn’t mean the per hour or per second billing for these services is the same for each service. Each service will have it’s own dollar value that is charged for the on demand usage in order to make money for the cloud provider, but also be competitive with other cloud service offerings.

Alternatives To On Demand Pricing

Just because on demand pricing is an option, doesn’t mean that it is the only option. Most of the cloud providers offer a way to pre-pay for usage that the customer projects that they need. By doing this the cloud provider can better forecast their hardware and service needs, allowing them to get better discounts when buying the required hardware to support these services and passing on some of these savings to the cloud customer.

For Amazon Web Services this is known as reserved instance pricing when looking at compute instances. The model is split into two types. One is to prepay for certain VM models for one year of full time usage while the other is to prepay for the VM instances for a three year period. When doing this the cloud customer should be quite certain they will use the pre-purchased VM time allotment over the period purchased.

Microsoft Azure has an almost identical offering in this regard, where the customer can prepay for an amount of compute usage for specific VM types if they believe they will use those VM types for the duration of the pre paid period. For Azure this is known as Reserved Virtual Instances and again can be done over a single year pre-payment period, or up to three years. The longer the duration chosen, the larger the discount applied to the VM that was pre-paid for. The discount can be up to 72% of the on demand pricing for the same instance type.

And lastly, Google Cloud has a similar offering, however their name for it is committed use discounts. The concept is the same. Pre-pay for a time period of usage of a range of virtual machine instances and get a large discount on those virtual machines compared to what is paid for the on demand pricing of the same machines over the same usage period. This can save enormous amounts of money if many vms are planned to be used for the entire period of the pre-payment contract.

Even Deeper Discounts - Spot Instances

Another pricing model offered by these large cloud providers is known as spot pricing. What this does is offer the extra compute resources available from the cloud service providers at an incredibly reduced rate. The only caveat to using machines with this pricing model is that they may be taken away from the user to give to another cloud customer if the other cloud customer is willing to pay the full on demand price for the machine.

This allows the cloud providers to offer their extra capacity to customers that aren’t willing to pay the full rate for them, but are willing to pay a deep discount with the knowledge that the machine may go away at any moment if demand for the same compute resource spikes in the on demand pricing category.