An Introduction to Cloud Pricing

If you are relatively new to the world of cloud computing, it would be no surprise if you are slightly bewildered by cloud pricing. Cloud service providers offer many different cloud pricing points depending on your compute, storage, database, analytics, application and deployment requirements. Balancing the volume of variables is enough to give anyone a headache, but it is not necessarily the choice of options you may find bewildering.

What you are more likely to find bewildering is the way in which cloud service providers charge for their services – by the services you “provision”, rather than the services you use. This means you have to calculate what your peak requirements will be and pay for a service capable of accommodating your peak requirements, whether you reach maximum capacity or not. You may even be paying peak capacity rates when services are sitting idle.

The cloud pricing model used by cloud service providers works heavily in their favor. Naturally, businesses are not going to under-provision for their peak requirements and will try to find the most appropriate pricing points for their requirements. Nonetheless, the system is designed to encourage cloud waste and make businesses pay for more capacity than they need. Among all the positive aspects of cloud computing, this is one businesses need to look at carefully.

More about Cloud Pricing Options

The “volume of variables” mentioned above is just the tip of the iceberg. Each cloud-based virtual resource can be CPU-optimized, memory-optimized, storage-optimized or geared towards maximum networking capacity. The virtual resources can be located in different regions and zones (although not all services work with each other across different regions) and be combined to create auto-scaling groups in order to balance demand across different locations.

There are different cloud pricing options for “On Demand” services, and services using various reserved capacity options or discounted pricing options such as “Spot Instances” (more about these options below). Resources can be hosted in the cloud service provider´s public cloud, a private cloud or in a hybrid cloud along with your existing dedicated server. The cloud pricing changes according to which hosting option you prefer, as does the price of Relational Database Services (RDS) according to which database management system you use.

The three main cloud service providers do not help matters by using different terminology for their cloud-based operating systems. Amazon (AWS) calls them “instances”, Microsoft (Azure) refers to them as “Virtual Machines” and Google (GCE) flip-flops between the two terms to confuse matters further. As Amazon is the largest cloud service provider, and compute instances account for the largest proportion of resources deployed in the cloud, we shall refer to “instances” for the remainder of this article.

It is no wonder you may be feeling bewildered by cloud pricing – and it will likely be of no consolation to you to find out you are not alone. More than $62 billion is wasted each year on over-provisioning due to the way in which cloud service providers charge for their services. That´s 36% of all the money spent on cloud services. So let´s look at what the cloud service providers are actually charging for and ways you can avoid cloud overspend.

Compute Cloud Pricing Comparison for AWS, Azure and GCE

When trying to conduct a compute cloud pricing comparison for AWS, Azure and GCE, the problem is that the three main cloud service providers do not provide apples-for-apples services. The table below illustrates this issue perfectly, with the closest possible comparisons between AWS and GCE each having different memory capacities. Microsoft´s cloud pricing for Azure is more closely matched to AWS, but Microsoft´s cloud services only support Linux operating systems as well as its own.

Cloud Pricing

When it comes to serverless computing, AWS´ Lambda service and Azure´s Function service are practically identical in the performance they deliver and in price – although Azure Functions supports more languages and deployment methods. Google´s Cloud Functions service is almost twice the price once you get beyond the free level, and it doesn´t have the depth of features to pass data to backend services, perform calculations, transform data, store results and quickly retrieve data.

Database and Storage Cloud Pricing for AWS, Azure and GCE

Comparing database cloud pricing for AWS, Azure and GCE is even tougher because the three cloud service providers charge different amounts depending on the database system being used (Oracle, MYSQL, PostGres, etc.). Furthermore, each charges different prices for licenses and uses different performance metrics. With so many variables, in order to compare database cloud pricing, it would be necessary to conduct benchmarking tests using machines suitable for your specific requirements.

One advantage AWS´ and GCE’s database services have over Azure is the ability to stop RDS instances or Cloud SQL instances and start them again without losing automatic backups or transaction logs. If you use Azure´s database service, the only way of stopping the instance is time-consuming – take a snapshot of the instance, delete it, and then create a new instance using the snapshot as a restore point. If this were a timing comparison, rather than a cloud pricing comparison, AWS or GCE would win, hands down.

Storage cloud pricing is also subject to variables. Different prices apply depending on whether you want a file storage, object storage or block storage service, whether you want your data stored on magnetic disks or solid state discs, and what guaranteed input/out per second (IOPS) speed you want to write or retrieve data. Generally GCE wins in this department in terms of both cost and performance, unless you do not need to access the data that frequently, in which case AWS wins again.

Steps You Can Take to Avoid Cloud Overspend

It was mentioned above that 36% of all the money spent on cloud services is wasted. This is usually due to over-provisioning, selecting the wrong cloud pricing options for your needs, or by leaving instances running when they are not required. A lot of this waste is avoidable, and there are steps you can take to reduce your cloud overspend – if not eliminate it altogether.

Rightsizing Software

Rightsizing software monitors how much capacity is being used by each instance and makes recommendations about more suitable instance types when it identifies an overprovisioned instance. The ideal rightsizing software allows you to select the period of time to analyze (weekly, monthly, quarterly, etc.) and choose from CPU capacity, memory capacity, storage capacity and networking capacity. Tip: Don´t pay for a cloud management package just to get the best rightsizing software. You will end up paying for a whole load of tools you will never use!

Selecting the Right Cloud Pricing Options for Your Resources

The leading cloud service providers offer a range of cloud pricing options, and typically they fall into three tiers:

TierAmazon (AWS)Microsoft (Azure)Google (GCE)
1On DemandPay-As-You-GoSustained Use
2Reserved InstancesReserved VM InstancesCommitted Use
3Spot InstancesLow Priority VMsPre-emptible Instances

Tier 1 prices are “base prices” – the bases on which price increases/decreases are calculated and discounts are given. They are determined by all the factors mentioned above (i.e. instance type, region, optimization, database management, IOPS speed, etc.) and vary by cloud service provider. In recent years, base prices have decreased as more businesses take advantage of cloud services and service providers are able to take advantage of economies of scale.

Smaller business will most likely only have the option of Tier 1 cloud pricing plans, while larger organizations can get a discount of up to 32% on Azure´s Pay-As-You-Go pricing plan if they commit to a minimum usage level over a year via an Enterprise Agreement. There are also discounts of up to 60% available through GCE´s Sustained Use pricing plan depending on percentage usage levels compared to maximum capacity.

Tier 2 cloud pricing plans are available to businesses able to commit to a level of service for one or three years. You can save up to 57% on GCE´s base price and up to 72% on Azure´s base price by committing to a level of service and paying for the service in advance. AWS´ Reserved Instances are similar, but you have the option of paying the full amount for the service in advance, paying partially for the service in advance, or paying in monthly installments. The more you pay in advance, the more you save.

Although some of these Tier 2 discounts may look attractive, they are not always as good as they seem. If you are already slightly bewildered by cloud pricing, imagine trying to predict your usage requirements three years in advance (and pay for it). Furthermore, as cloud prices have fallen continually over the past decade, the value of the discounts can be significantly eroded. For example, the base price of an AWS EC3 m3 8 core instance fell by 46.79% between June 2013 and June 2017.

Tier 3 pricing plans are variable depending on how much spare capacity each service provider has available at the time – usually off-peak times. This tier should not be used for running any instances you may need to use at a certain time because availability is subject to demand and as soon as the spare capacity is required elsewhere, the service to your instances is terminated.

  • With AWS´ Spot Instances you can save up to 90% on On-Demand prices. The actual price you pay fluctuates according to how much over-capacity AWS has at any given time.
  • Azure´s Low Priority VMs enable you to save up to 80% (Linux OS) or 60% (Microsoft OS) by using Microsoft´s spare capacity to run batch workloads during the night.
  • Using GCE´s Pre-emptible Instances can save up to 80% on the full Tier 1 base price, but again, this cloud pricing plan is only suitable for non-essential off-peak workloads.

Turning Instances Off When They are Not Required

This may appear to be obvious advice, but you would be surprised how many businesses leave their non-production instances (typically those used for developing, testing and staging) permanently running. Even if the business has committed in advance to a certain level of service and paid up front, they should still turn their instances off and use the spare capacity elsewhere. This is probably the biggest single contributor to cloud waste, and one that is easily remedied.

However, rather than ask developers to remember to turn off their non-production instances (too unreliable), or reassigning developers to write scheduling scripts (too inflexible, and often the least cost-effective option), it is better to use scheduling software to turn off non-production instances when they are not required. As above, don´t be tempted to pay for a cloud management package just to get the best scheduling software. There is some excellent standalone software available – like ParkMyCloud.

Save Up To 65% of Your Cloud Costs with ParkMyCloud

ParkMyCloud is a lightweight SaaS application you can use to save up to 65% of the cost of deploying non-production instance on AWS, Azure and GCE (based on 60 hours uptime). In order to achieve this level of saving, all you have to do is sign into your cloud account(s) via the app and create a permissions-limited role for ParkMyCloud so it can conduct a discovery of your resources. Once the discovery is complete, you will see all your resources listed across a single-view dashboard, giving you complete visibility over your account(s).

Alongside the list of resources, ParkMyCloud makes recommendations about which are suitable for scheduling based on usage and the names and tags assigned to them. You – or your system administrators – can choose to apply a selection of preconfigured parking schedules to your non-production resources, or create new parking schedules to suit your specific needs via ParkMyCloud´s intuitive GUI. You can also create policies to apply these schedules automatically. As soon as the initial scheduling process is complete, you will see a figure appear on the dashboard indicating your projected savings over the next thirty days.

ParkMyCloud also has a preconfigured “permanently parked” schedule which is ideal if your development teams work irregular hours or in irregular patterns. When this schedule is applied to an instance or group of instances, they are turned off until required. The schedule can simply be interrupted with the click of a mouse when developers need access to the parked instances, and – when they have finished using them – the schedule reactivates automatically after a period of inactivity.

Once you have minimized your cloud pricing, ParkMyCloud helps you maintain the cloud pricing reduction. It does this by providing total visibility across your cloud accounts, enabling you to monitor real-time activity or print audit logs and historic reports from the management portal in order to increase and enforce accountability. Other benefits of having total visibility over your accounts include the ease with which you can identify unused and underused resources, and instances or auto-scaling groups that should be moved to a different cloud pricing plan in order to optimize your cloud costs.

Your Invitation to Try ParkMyCloud for Free

If you are feeling bewildered by the cloud pricing options available to you, and you don´t want to pay 36% more than you need to in order to deploy your resources in the cloud, you are invited to take a free trial of ParkMyCloud in order to evaluate ParkMyCloud´s ease of use and cost-saving abilities in your own environment. To take advantage of this opportunity, simply click the “Try it Free” button above. There are no set up fees, no contracts or credits cards required; and, if you have any questions about cloud pricing or ParkMyCloud before starting your free trial, do not hesitate to contact us.