Tame costs in the cloud: subscriptions, billing, services

Costs in the cloud | ORBIT

Which decisions have a major impact on the price of cloud services? You can turn cloud costs to your advantage.

Jakub Procházka

Edited 14 Aug 2023

Yes, that's right, the cloud is not free - except for some services, depending on the type of billing and the volume of the service... Did I mess up your head with the first sentence? I wouldn't be surprised. Taming costs in the cloud is often a science (even alchemy in some cases) even for seasoned professionals. In today's article, I'll give you a closer look at how to understand cloud costs, how to grasp them, and turn them to your advantage. 

Costs in the cloud: basic theory

The general rule of thumb for the cloud is: "The higher the consumption, the better the price." This "saving on volume" is based on the fact that with higher consumption, the cloud provider has lower prices from its suppliers (e.g. for energy). These discounts are then passed on to its clients. This is also why the price for the same service from the same provider can vary from region to region.

Before we dive into trendy names like CapEx, OpEx, pay-as-you-go and more, one thing to keep in mind. Quantifying costs in the cloud versus an on-premise solution is significantly more complexas more variables come into play here. These need to be looked at holistically - keeping track of them and keeping them under continuous control. Otherwise, they tend to go their own way - and that always leads upwards in terms of costs.

CapEx vs. OpEx

One of the many reasons why so many companies are moving to the cloud these days is because trying to save money. But how to achieve this?

For startups and early stage companies, it's simple. If they are starting from scratch, the cloud is often the obvious choice precisely because the initial start-up costs are minimal.

That just clarified what it is CapEx: investment costs (capital expenditures) that a company must spend to purchase, maintain and regularly upgrade (not only) physical assets. In our context, this may include the purchase of servers, network elements and other HW, the associated premises (building, hall, racks, UPS), but also the purchase of software, licenses, etc.

As tangible assets depreciate over time, after a certain period of time, further investment to maintain the standard. A company can elegantly avoid this costly investment by running its infrastructure in the cloud, shifting these concerns to the vendor.

In the case of an in-house datacentre, a company often decides to move to the cloud before the end of the lifecycle of part of the infrastructure. Is it better to go the route of buying HW for the next 5 years or to move the costs in the accounting statement one box over to the OpEx section?

OpEx are operating costs (operating expense), sometimes also referred to as non-investment expense. These are expenses related to operations, typically charged on a monthly basis. By operating infrastructure in the cloud, a company replaces large one-time investment costs with smaller recurring operating costs.

The benefits of OpEx in the cloud

  • No initial cost
  • Speeding up and facilitating budgeting
  • Smoother cash flow and cost distribution over time
  • Relieving internal staff so they can focus on other work (e.g. transforming the operational infrastructure team into devops)

Subscription options or I don't want a free discount

The first discounts are decided at the time of subscription, when the company can conclude with the provider two basic partnership options. Their specific form varies by cloud provider, but the idea remains the same. For example, for MS Azure we distinguish:

  • Cloud Solution Provider (CSP) is subscription arranged through a partner. Typically, it is a partner company that helps the company with cloud adoption or otherwise takes care of the environment. The partner firm has more similar clients and has negotiated lower prices than the company could achieve on its own. CSP option with interesting discounts we at ORBIT also offer our clients.
  • Enterprise Agreement (EA) is particularly suitable for really large volumes and is concluded directly with the provider - in this case, Microsoft. If the provider has at least a vision of a potentially large business opportunity, it is willing to offer companies interesting discounts on its services and support in cloud adoption (either on its own or more often with the help of a partner such as ORBIT).

The benefits of CSP and EA are applied across the entire subscription (or even across multiple subscriptions) without the need to set up or change anything further. These discounts can also be combined with other discounts. Other providers such as AWS and GCP practice a similar principle.

Subscriptions can of course be arranged without partner discounts, but the subsequent move to EA or CSP is not just "on paper". In some cases, it also requires a transfer of funds to the new subscription. Therefore, I recommend deciding on the subscription type at the beginning.

Forms of accounting: how not to get lost in them?

Public cloud providers offer multiple billing options for their services, and it's impossible to say which one is better. It depends on the type of services you run, but also on your corporate financial strategy. In the vast majority, we are talking about two basic forms: pay-as-you-go a reserved instances.

Pay-as-you-go

In the case of pay-as-you-go (payg), the client pays for the services according to actual consumption and use. Although this option does not offer any discounts in its basic form, it is still possible to save money thanks to its flexibility.

PAYG brings savings in the following cases:

  • Automatic scaling - increase and decrease resources as needed
  • Shutting down resources outside working hours - e.g. dev environment
  • Reducing performance and more efficient use of service
  • Tests and short-term projects

Logically, the pay-as-you-go option is useful even if it is not clear at first how much the application will consume or if it is prone to frequent operational peaks (to which it needs to respond flexibly).

PAYG is the standard option when creating a cloud subscription. For some types of services, it may even be the only option available, or it may be combined with a volume discount.

Reserved instances 

The second form that the client can use for billing (usually for virtual servers) is the Reserved Instance (RI) option. As the name implies, the client is undertakes to draw (mostly) specific instance type (VM) for three or five years.

The provider applies a discount to this type of instance for the duration of the drawdown. It is thus possible to achieve interesting discounts in the order of tens of percent. RI is good to combine with PAYG and other discounts, but is only suitable for predicted loads and long-term projects.

Even if the client commits to draw some resources, Azure, for example, is quite benevolent and allows the change (up to a certain volume), or even the abolition of RI without major problems and without penalty. In this case, it is advisable to check the current refund policy providers.

AWS has a relatively newer pricing model called Saving planswhich is more flexible than RI and can be applied to Fargate in addition to EC2, EKS, ECS.

Saving Plans

It's a way to efficiently use resources in the Azure cloud environment and reduce costs as much as possible. Both AWS and Azure offer this concept.

Simply put, you commit (as with reserved instances) for one or three years to a certain consumption. So you are not reserving specific instances as in the case of RI, but spend. Anything above this reserved limit you then pay in the form of pay as you go.

Saving plans - costs | ORBIT Cloud Encyclopedia

Dev/Test subscription

This special kind of discounted subscription is offered by Azure for development and testing. Savings here can reach up to tens of percent, especially on the compute and licensing side - you save nothing on data.

It should also be noted that this is a subscription that is conditional on Visual Studio licenses and due to the lack of any SLA is really only suitable for specific, and especially non-critical purposes.

Dev/Test Subscription - Cost | ORBIT Cloud Encyclopedia

Transfer of licences

Another way to save money when moving to the cloud is transfer of existing licences. AWS offers the option to Bring-Your-Own-License (BYOL) for Windows servers and SQL servers. Azure in turn provides the so-called. Azure hybrid modelwhich supports SUSE and RedHat in addition to Windows and SQL servers. This allows companies to migrate existing Software Assurance licenses to the cloud, thereby reducing the cost of the cloud service.

Source : https://azure.microsoft.com/en-us/pricing/reserved-vm-instances/

 

What about the flows, have you calculated them?

The big alchemy comes in when you need to estimate such unknowns as data flow. Fortunately, this is one of the cheapest items ever.

In the cloud, it's true that Ingressthat is to say data flow to the cloud, it is mostly free (not considering direct line, VPN, etc.). In contrast, the flow from the cloud, referred to as Egress, is already charged - even for internal communication between datacentres, availability zones (AZ), etc.

You should always refer to the provider's price list. For an idea: Azure has a free flow between the data source and the CDN, but the communication between the AZs is charged at 0,009 € per GB.

Source : https://azure.microsoft.com/en-us/pricing/details/bandwidth/

If you have petabytes of data, you may be wondering how to move it to the cloud as cheaply and in a reasonable amount of time as possible.

In the case of large volumes of data for which even a dedicated line is not sufficient, cloud providers allow transfer of physical disks. The client sends the disks directly to the provider, or orders special HW with capacities from several TB (Azure Databox, AWS Icebox) at 100 PB, literally a 14-meter truck to your own door (AWS Snowmobile).

Source : https://aws.amazon.com/snow/

 

Cloud cost calculator won't be enough

As I mentioned at the beginning, there can be many variables in estimating the future cost of running a cloud. Writing everything into your own excel spreadsheets would be laborious and inefficient. So how do you get meaningful numbers?

Fortunately, all major cloud providers offer custom advanced calculation toolshow much the client's cloud operation will cost them. For example, with Azure, a client can use quick calculator for immediate overview and a little more advanced TCO calculator (total cost of ownership) to calculate the total cost.

We're in the cloud, now what?

Even if the company has gone through everything mentioned so far, its journey is far from over. Essential to life in the cloud is keep an overview of the environment, which is related to quality reporting, budget creation and related alerts.

Continuous optimization or pay only for what you need

To optimize already running servers, providers offer native tools in the form of advisors that help clients warns of excess or insufficient power. In both cases, providers leave more than enough margin and the recommendations issued are considered very conservative.

That's why there are third-party tools. Some are just advanced bill readers, others, like e.g. Densify, they use their own patented machine learning for the best possible recommendations.

ORBIT has been a partner of Densify for more than 10 years, which we successfully operate with several major customers. We know from experience that compared to conventional advisors or the best will of the internal infrastructure team, we are able to achieve on average with this tool 20 % more savings.

Not only the virtual server at the type and family level, but also the platform services and especially the containers undergo optimization. Without advanced intelligence and long-term measurements, the right combination of the underlying VM and the container itself in the pod cannot be calculated correctly.

I would like to stress here that this should be continuous processnot a one-time cleaning. Unlike on-premise infrastructure, the public cloud is constantly changing technically and in terms of price, and even with the same subscription, it is possible to pay less with the right combination of services. It is also true that the longer the measurement, the more accurate the results.

In the end, the whole process of optimizing configurations can be Automatefor example, using Terraform, and letting the AI decide the size of the instance.

The more your cloud environment grows, the more difficult it will be to manage optimization without advanced tools and techniques. Particularly for larger companies and corporations, at some point they will inevitably reach a point where they will have to deal with clear responsibilities for the resources and their management... In other words, they will start to discuss FinOpsthat we are dedicated to in this article.

Initial sizing

Just like in the on-premise world, in the cloud, development or migration overestimating the required performance - mainly because it is not clear how much will actually be needed. We cannot come up with the exact sizing ourselves, it has to be measured. Otherwise, we run the risk not only of unnecessarily higher costs, but also of poor performance.

Public cloud providers are again offering their tools to clients to do this. In the case of Azure, this is Azure Migratewhich, after an appropriate length of measurement, will give a hint as to which instances are suitable for power coverage. The equivalent Amazon service is AWS Application Discovery Service.

Costs in the cloud - more tips

Wouldn't it be more convenient and easier to move the applications to PaaS or SaaS? That's for the client to decide. They also have to involve their own forces and decide with the application team whether they can use burstable instances for their applications or even spot instances, which are significantly cheaper.

Burstable instance are suitable for non-critical performance, which is minimal most of the time, and applications only need their performance in bursts (hence burst). It's good to be careful with burstable, but for testing or development it may be the best choice.

Spot instance on the other hand, are suitable for stateless applications or other services that don't mind if we suddenly lose performance completely. These are servers that are unused by the providers, so they offer them at a very interesting price. However, the moment this performance is needed elsewhere, you can suddenly lose it.

Similarly, you can also use ephemeral disky - local disks (similar to temporary disks), which are completely free for each VM, provide lower read/write response and are thus ideal for stateless applications.

Conclusion

The topic of cloud costs (and especially their optimization) is a broad topic. In this article, I've only touched the tip of the iceberg by mentioning only the most important decisions and considerations you may encounter. I trust that you won't be caught off guard just now.

If you're interested in other topics related to the cloud, check out our series Cloud Encyclopedia - A quick guide to the cloud.

About the author
Jakub Procházka
Jakub Procházka

IT Consultant | LinkedIn

Jakub has experience from datacenter infrastructure through physical HW, systems and network management to virtualization and cloud. He is knowledgeable in VMware technologies and is a certified cloud architect for both Microsoft Azure and Amazon AWS.

Technical knowledge: Azure, AWS, Cloud Computing, Cloud Architecture, Networking, Storage, VMware.