Cloud hosting offers computing resources and services as modules that can just be used without bothering about managing the infrastructure. It is just like the gas or electricity utility service. You just plug in and consume. Your consumption is metered and you get billed periodically, usually a month. Since it’s so easy to deploy cloud computing resources, if the usage is not monitored carefully, things can quickly get out of hand, and you could suddenly be staring at a huge outstanding bill. Whether it is IaaS (Infrastructure as a Service), PaaS (Platform as a Service), or SaaS (Software as a Service), there are several ways to cut down your cloud expenses. There are several cloud hosting providers, but we will discuss Amazon Web Services (AWS), Google Cloud Platform (GCP), and Microsoft Azure (MSA). These are not only available around the world, but also provide a highly competing free trial that can last more than a year.
The Provider’s Tools
The first and foremost way is to use the tools provided by the vendor or the provider of the cloud resources and services to continuously monitor the consumed resources and services. All major cloud hosting providers have the facility to set budget and get alerted when a resource reaches a predefined consumption limit. In Google Cloud, you can set a monthly budget for the whole account or for individual projects. The budget can be a specific amount or deduced from the previous month’s spend. One or more alert(s) can be triggered upon reaching specific percentage of the budget or specific amount. So you can have an alert triggered at say 50% consumption, then at 90%, and finally at 100%. Similarity Amazon Web Services allows setting monthly, quarterly or annual budget. The budget can be for cost or usage or for Reserved Instance (RI) utilization. Alerts can be set to trigger at specific percentage or amount. Remember to also regularly check the cloud dashboard for any notifications and status updates.
Opt For a Proper Plan
Cloud hosting providers usually offer a “pay as you go” plan by default. This is good for getting projects up and running from the word go, with an assumption of some basic utilization. You pay only as much as you consume. If utilization increases in line with business forecast, you can increase the budget. It is also useful when your resource utilization is sporadic, and regular consumption cannot be predetermined. Or, if you occasionally send out marketing campaigns that could spike utilization by your project. Pay-as-you-go is useful in such scenarios.
If your project has a regular consumption pattern and you can forecast the resource requirement for an extended period of a year or more than one year, you can expect considerable discounts. Vendors offer fixed plans or what is termed an RI (Reserved Instance) at discounted rates because, with a reserved or fixed resource, a lesser managerial effort is required of the vendor. Google discounts pre-defined instances up to 57% when you commit for long periods of one or three years. For example, the n1-standard-16 which costs $0.7600 per hour in the pay-as-you-go plan, costs $0.47878 per hour with a one-year commitment, and $0.34202 per hour with three years commitment. Amazon is known to discount RIs more than 60%. For example, a basic AWS EC2 instance (t2.nano) that costs $163.44, when paid monthly in the pay-as-you-go plan, would cost $60, when paid for 3 years in the reserved instance plan.
Use Cloud Expenditure Calculation Tools to Plan Ahead
An often ignored but a critical way to cut cloud expenses is to plan ahead. If you know what you are going to need over a period of time, and have a consistent growth plan, cloud expenditure calculators will be very useful. You can estimate the costs in advance and compare both pay-as-you-go and reserved instance models. This also would help in budgeting. AWS allows budgeting for specified date range.
Expense calculators can be found for all three major cloud hosting providers, for example:
This Azure calculator allows you to calculate Cloud Total Cost of Ownership on Azure and can be used to easily estimate and compare different resources.
The GCP calculator can be a bit confusing when you want to change a resource and add multiple resources to an instance.
The MSA calculator is quite well organized but too much scrolling up (to select resource) and down (to view estimate) is involved.
How Free is Free?
Almost all vendors offer free trials. Each vendor is trying to outdo the other with captivating offers that are designed to capture your loyalty with a number of free resources, some forever, some for 12 months, and some free dollars to pay for premium resources. As tempting as that looks, there are caveats. Primary being no SLA. The free trials with any vendor are supposed to be for experimental purposes, and should not be used for critical applications like e-commerce stores, or for websites where you need to provide an SLA for your own users.
A sample calculation of a free website on AWS shows that the free tier discount is worth $86.57 per month. But remember that the free tier is only for 12 months. Once you get used to AWS, you would be incurring that amount per month the second year onwards. A high-performance VPS (Virtual Private Server) at a regular host with comparable resources, minus the cloud advantage, might cost less than $40 per month.
You can launch your website on the GCP with a free credit of $300, which earlier used to expire in two months, is now stretched to 12 months. Some resources are free forever. However free tier has limitations, and there is no SLA (Service Level Agreement). So, running production applications is not recommended.
Microsoft Azure free trial gives you $200 credit for 30 days to explore premium Azure services. Some resources like a basic VM plus disk storage plus sufficient bandwidth are available free for 12 months, and some 25+ services like 10 app services per month, container services, developer tools, application insights etc. are free forever.
Setting Up Your Own Cloud
A number of VPS providers are nowadays offering VPS instances for less than $5 per month. They also have servers at multiple locations on all continents. So, if you are game, you could create a VPC (Virtual Private Cloud) of your own, which might cost less than $50 per month. You would be controlling all the exclusive resources, unlike the cloud host where the resources are controlled by the vendor. You could further reduce this expense by utilizing the free resources of cloud hosts to host non-critical components of your website. That’s a to-do for another day.