How to reduce cloud hosting costs and limits

In 2015, Dropbox began running its infrastructure entirely on its own servers, moving away from AWS. A year earlier, its leadership had decided to make this change because their cloud hosting costs had become too high. This story caused a stir in the world of technology, which by then had learned to take for granted that the future was in the public cloud and that soon all workloads would be there. However, the reality is that private cloud solutions make more sense for most cases to contain costs and have predictable infrastructure, as well as have 100% dedicated infrastructure without noisy neighbors. In their 2018 public offering presentation, Dropbox revealed that this change had saved them more than 70 million euros in two years.

Three years later, analysts at Andreesen Horowitz used Dropbox’s story to illustrate a trend they had been observing. While using the public cloud was an easy decision that did not require much thought for a company starting its journey, they wrote in this article, infrastructure costs in the cloud weigh increasingly heavily on profit margins and market capitalization as the business reaches a certain scale.

Another significant public story that fueled the “repatriation of the cloud” in the zeitgeist was that of 37Signals, whose co-founder and creator of Ruby on Rails, David Heinemeier Hansson, wrote extensively about moving the company’s products, Basecamp and HEY, mainly out of the cloud because they had matured beyond the point where the flexibility gained by running workloads on a public cloud had a high cost. On-premise solutions made a lot of sense.

Optimizing infrastructure costs while meeting workload demands is a challenge. In this article, we will tell you about common strategies to reduce cloud hosting costs. You will also learn about private cloud as a better alternative to public clouds, which can offer better performance at a lower cost while retaining the flexibility of the cloud.

Understanding cloud hosting costs

One of the reasons behind high cloud costs is the complexity of feature sets and pricing models from public cloud providers. To effectively control costs, you need to know exactly why you are being charged and how costs can accumulate, which is a challenge in itself.

Factors contributing to your high cloud bill

– Overprovisioning: One of the main purposes of the cloud is to deliver sufficient resources on demand, catering to both customer needs and internal team requirements. Overprovisioning may not necessarily lead to higher costs, but each case needs to be analyzed.
– Instance type mismatch: A mismatch between instance types, storage classes, and the use of specialized services like GPUs can cause performance bottlenecks or higher bills if not configured correctly.
– Data egress fees: Moving data between availability zones and different systems can be surprisingly costly, especially for high-traffic applications.
– Licensing fees: Software licensing fees can contribute to high costs if you cannot bring your own licenses (BYOL).
– Pay-as-you-go model: This model, where charges are based on usage, is what makes the cloud adaptable and attractive, offering a low entry point to build a service that serves users in different locations. However, it requires rigorous cost monitoring.
– Labor costs: You must consider the staff needed to secure and monitor all your infrastructure. For example, as you redesign your architecture for greater cost savings or establish reliable services through multiple or hybrid cloud configurations, a dedicated team becomes essential.
– Storage: Without a good archiving and retention strategy, the cost of maintaining your structured and especially unstructured data can increase significantly. Additionally, transferring data to another provider to take advantage of committed use discounts can introduce additional costs.

Strategies to minimize cloud hosting costs

Once you have a better understanding of what is causing the high costs, you can focus on strategies to help reduce them. You can optimize your instances to make better use of available resources and adjust those resources based on demand and the specific application.

– Right-sizing and resource allocation: Aligning resource allocation and planning for optimal capacity is one of the best things you can do to save money. This process begins with the use of monitoring and profiling tools.
– Automatic scaling and maximum demand management: Automatic scaling ensures optimal resource provisioning during demand peaks, avoiding overprovisioning during periods of low activity.
– Use of reserved and spot instances: Reserved Instances allow you to make long-term infrastructure commitments, ensuring discounts. Spot instances are ideal for testing purposes, as they use idle capacity and therefore have a massive discount. Although there is also a risk of being released in case of provider need.
– Application refactoring: Redesigning an application to fit the cloud model can result in cost savings as well as a better performing and more versatile application.
– Use of cost monitoring and optimization tools: Tools like AWS Cost Explorer and Microsoft Cost Management allow in-depth analysis of cost data, anomaly detection, and recommend optimization opportunities.

The cloud cost optimization has limits

Although these strategies are useful, all have limits in terms of the amount of savings that can be achieved. Over time, the returns on these optimizations begin to diminish. Additionally, public cloud providers can and often do change their pricing models and services offered as they see fit, affecting your optimization.

Is there a better way? The private cloud

There is an alternative style of infrastructure that allows users to maintain control of demand, real exclusive use computing, and predictable costs, with options for pay-per-use infrastructure. This is the dedicated private cloud.

Unlike traditional cloud services, a private cloud, like that of Stackscale, offers instances of real physical server computing (bare-metal) where any hypervisor like VMware, Proxmox, Hyper-V, KVM, etc. can be deployed. This not only offers better performance but also results in more efficient use of the exclusive computing capacity you are paying for.

Scroll to Top