Table of Contents
Synopsis
The most dynamic and popular cloud providers in the digital world are AWS, Azure, Google Cloud, and IBM. They are gaining wide eminence due to continuous price drops of cloud instances, adding discounting options and instances, and calling off the billing increments in specific instances. The below blog takes you through the virtual instances’ pricing comparisons enabling you to choose the one which is the cheapest yet highly productive.
Price changing frequencies have led to difficulty making cloud pricing comparisons between AWS, Azure, and Google cloud. These variations may provide monetary value to what you pay today for availing cloud services. However, it showcases some of the most valuable observations in terms of cost differences that may not have been identified so far. Nevertheless, this will help you out to make a perfect budget estimation for your next software development project.
More than 75% of the organization’s cloud is represented by computing resources. Of course, what you pay for is all about the compute instances. Further, you will be diving into a brief explanation on the pricing of Virtual machines, Instances: in short comparison between AWS EC2 vs. Azure VMs and Google Clouds VMs. As you glance over the cost of instances, you come across various price ranges. The reason why it becomes so crucial to check the instances is that it helps to reduce the billing amount of the subscribers. The slightest of the difference in the instance pricing leads to saving several thousand dollars into the cloud bill.
To have a clear understanding of the price differences, we will take the same region for CPU and OS comparisons for AWS instances, Azure Virtual Machines, and Google Cloud machines. We shall consider
- US East-North Virginia as a Region
- Linux and Windows as Operating System
- 4 as CPUs/Cores
Types of Instances or Virtual Machines
There are four types of instances as follows:
- General Purpose
- Compute Optimized
- Memory-Optimized
- Accelerated Computing
To give you clear comparisons between AWS EC2 vs. Azure VMs vs. Google VMs, we selected a few instances that have similar RAM with 4vCPUs for each type of instance. Although, you must keep in mind that the memory-optimized and accelerated-computing instances for Google cloud are an exception. The reason is their limited vCPUs at present that do not start 4vCPUs, just AWS and Azure do. Instead, they start at 40vCPUs for memory-optimized systems and 12vCPUs for accelerated computing systems, which illustrates more advanced computation possibilities and seems over-the-top when looked at from a pricing angle. Over and above, it must be remembered that memory-optimized and accelerated instances of Google Cloud offer superior memory.
The table shows some selected instances/VMs for cloud-pricing comparisons of computing.
Pricing On-Demand Comparisons
In the below table you can find hourly demand pricing comparisons of each service for each of the four instance typer scenarios as mentioned above.
Note: The red figures in the above table indicate the highest price and the green indicated the lowest price.
Key Observations:
- AWS and Google Cloud have nearly similar pricing strategies for systems. They operate on general-purpose and on the instance types of memory-optimized cloud.
- There is a negligible price difference between AWS and Azure with reference to their respective compute-optimized cloud instances. Whereas, Google Cloud is priced the highest in this service. Google has scalable processors and all-pervasive turbo performance
- Google Cloud memory-optimized and accelerated computing instances have higher prices as they provide 40vCPUs and 12vCPUs respectively. On the other hand, AWS and Azure have 4vCPUs.
Pricing Discounted Comparisons
All three cloud providers offer business discounts and on-demand instances if they commit to use for 1 or more years. These discounts are represented with various names such as for AWS is “Reserved Instances”, Azure is “Reserved Savings”, and “Commitment Price” for Google Cloud. These types of discounts encourage businesses to commit themselves to a preset level of usage for a fixed period in return for a discounted hourly rate on some instances and VMs.
We consider a one-year commitment period with zero upfront cost for the calculation of discounted pricing among the AWS, Azure, and Google Cloud. At present, there is also a three-year commitment plan offered by various cloud technologies for businesses that are confident they will run longer.
Azure and Google Cloud provide 3-year commitment plans similar to AWS. AWS offers a fixed average discount of 40% for all the 1-year commitment plans irrespective of the instance type.
Note: The red figures in the above table indicate the highest price and the green indicated the lowest price.
Key Observations:
- The on-demand pricing of memory-optimized Google Cloud was the highest. Whereas, the 1-year commitment price is the lowest compared to AWS and Azure. The reason is Google Cloud offers a 1-year commitment to memory-optimized instances on two divisions- vCPU/hour and GBs/hour used separately as per the requirement.
- Google Cloud is way cheaper than AWS and Azure in terms of computing optimized cloud-based instances. But when it comes to the instance types of accelerated computing, it becomes more expensive
- The general-purpose instances for AWS and Azure are almost similar for 1-year committed/reserved plans
Pricing Per-Second Comparisons
Per-second billing – AWS
In the year 2017, AWS declared possibilities of per-second charges on EC2 Linux-based instances and EBS volumes. At present, per-second billing still remains applicable to them and extends to other services as well. Although there is no official indication of second-wise charges for Windows or RHEL, yet there are countless users in developers’ forums sharing the ways AWS services are billed per second for Windows.
There are speculations that there could be a bug while some believe it might be a trial run by AWS. But the official announcement confirms either theory is yet to be framed. However, AWS officially announces that each partial instance consumed in an hour by a single user will be invoiced per second for all the Linux instances.
Per-second Billing – Azure
Azure now allows second-wise charges since late 2019 but does not give any long-term commitment. They are to make it available for all instances. They are still identified to be billed by the minute. The reason is their per-second billing still focuses largely on container-based instances.
For regular virtual machines, Sanders states that Microsoft aimed to focus on containers as they believed that it’s containers where per-second billing can make the most sense. He says, “We’re always looking to improve billing constructs across our platform and to make it easier and more agile for our customers to use”
Per-second Billing – Google Cloud
Previously, Google Cloud used to bill per hour, followed by per minute just as AWS does. When AWS announced the possibility of per-second billing, Google Cloud followed suit. The second-wise billing offered by Google Cloud is much better than that of AWS as the latter provides this service only on Linux-based instances. And with Google Cloud, per-second charges are applicable to all VM-based instances. They have now improved their invoicing capacities with a reduction in user burden and focusing on the granularity of seconds.
For Google Cloud, all the instances are measured in the number of seconds, and after each minute, the instances are billed in 1-second increments. Also, you need to keep this mind that if the virtual machine runs for anywhere in between 30 seconds and 1 minute, then the instance is considered to be terminated and yet is still billed for 1 minute of usage.
Pricing Serverless Comparisons
AWS Lambda, Azure Functions, and Google Cloud Functions are a few of the serverless services available in the present market. They charge you in 100-millisecond increments for the computing power you use. This keeps the developers focused on code building and event triggers. The rest of the part is taken care of by the serverless service providers
For reserving CPU cores and RAM of the underlying EC2 instances and virtual machines you no longer need to pay in terms of considering the cost. This means, you only pay for the time your code runs and not for those times where it remains idle.
Below few examples taken from the hypothetical scenario that will help you understand the calculations of the cost of serverless computing for the three service providers.
Scenario
You have allocated 512MB of memory to your function, executed it 3 million times in one month, and ran it fro 1 second each time.
Note:
Amazon’s API Gateway price per million requests and HTTP invocation cost are not considered in the above scenario. The charges calculation will remain as below.
AWS Lambda Pricing
Monthly compute charges:
- The monthly compute price is $0.00001667 per GB-second (GB-s), and the free tier provides 400,000 GB-second (GB-s).
- Total compute (seconds) = 3M * (1s) = 3,000,000 seconds
- Total compute (GB-s) = 3,000,000 * 512MB/1024 = 1,500,000 GB-s
- Total compute – Free tier compute = Monthly billable-compute GB- s
- 1,500,000 GB-s – 400,000 free tier GB-s = 1,100,000 GB-s
- Monthly compute charges = 1,100,000 * $0.00001667 = $18.34
Monthly request charges:
- The monthly request price is $0.20 per 1 million requests, and the free tier provides 1M requests per month.
- Total requests – Free tier requests = Monthly billable requests
- 3M requests – 1M free tier requests = 2M Monthly billable requests
- Monthly request charges = 2M * $0.2/M = $0.40
Total monthly charges:
Total price per month for AWS Lambda = Compute charges + Request charges = $18.34 + $0.40 = $18.74 per month.
Azure Functions Pricing
Resource consumption (seconds):
- Execution number = 3 million executions
- Execution duration = 1 second
- Total resource consumption = 3 million executions * 1 second = 3,000,000 seconds
Resource consumption GigaByte Second (GBs):
- Resource consumption in GBs = 512 MB / 1,024 MB = 0.5 GB
- Execution time (seconds) = 3 million seconds
- Total consumed GBs = 3 million seconds * 0.5 GB = 1.5 million GBs
Billable resource:
- Resource consumption = 1.5 million GBs
- Monthly free grant = 4,00,00 GBs
- Total billable consumption = 1.5 million GBs – 4,00,000 GBs = 1.1 million GBs
Monthly resource-consumption price:
- Billable resource consumption = 1.1 million GBs
- Resource-consumption price = $0.000016/GB
- Total monthly resource-consumption cost = 1.1 million GBs * 0.000016/GB = $17.60
Execution billing:
- Total monthly execution = 3 million executions
- Monthly free executions = 1 million executions
- Total monthly billable executions = 3 million executions – 1 million executions = 2 million executions
Monthly execution price:
- Monthly billable execution = 2 million executions
- Price per million execution = $0.20
- Monthly execution cost = 2 million executions * 0.20 = $0.40
Final total monthly bill:
- Monthly resource-consumption cost = $17.60
- Monthly executions cost = $0.40
- Total monthly cost for Azure Functions = $17.60 + $0.40 = $18
Google Cloud Functions Pricing
Invocation:
(512 MB / 1024 MB) * 1 second = 0.5 GB-s per invocation
For 512 MB, Google cloud offers an 800MHz CPU. So, GB-seconds would be:
(800 / 1000) * 1 seconds = 0.8 GHz-second per invocation
Per second usage:
- 3,000,000 million executions * 0.5 GB-s = 1,500,000 GB-s per month
- 3,000,000 million execution * 0.8 GB-s = 2,400,000 GHz-s per month
Google Cloud offers a free tier of 2,000,000 invocations, 400,000 GB-seconds, and 200,000 GHz-seconds per month. Hence, the billing would be as follows:
Invocation:
- 3,000,000 – 2,000,000 = 1,000,000 million execution * $0.0000004 = $0.4
GB-second:
- 1,500,000 – 400,000 = 1,100,000 * $0.0000025 = $2.75
GHz-second:
- 2,400,000 – 200,000 = 2,200,000 * $0.0000100 = $22
Total price per month for Google Cloud Functions = $0.4 + $2.75 + $22 = $25.15
Key Takeaways
The monthly prices of AWS and Azure are almost similar. The reason is the high free-tier offerings they provide Google Cloud Functions charge the lowest unit price for GBs consumed per second combined with free-tier offerings. The highest price/month comes due to the extra cost that is incurred from the MHz CPU performance.
Conclusion
With the aim of becoming a reputed organization, you need to consider several aspects before choosing a cloud service provider. The pricing part cannot be ignored at all. If millions of users use your application and you are going to use thousands of instances, this comparison will help you save many dollars.
Further, if you are planning to build a customized application embedded with cloud capabilities, or migrating to cloud services, or if you are struggling with the current infrastructure and want to check the costs and scalability, we can surely help you. Check out our Serverless services and head on to creating a next-gen cloud-centric application.