5 cloud cost optimization dos and don’ts to boost savings
CTO and Co-founder
If you ask any organization why they are moving to the cloud, the answer will most likely be “to save costs.” The promise of only paying for the IT resources you use and eliminating large up-front hardware costs has truly caught the attention of enterprises large and small for more than decade now, and in most cases, it’s too good to resist.
When managed well, migrating to the public cloud can indeed result in major savings compared to running an on-premise environment. The assumption that many companies make, however, is that these savings occur automatically, as soon as you migrate to the cloud. Needless to say, that’s seldom the case.
In this article, we’ll present 5 do’s and don’ts of cloud cost optimization that can help organizations avoid a negative experience with their public cloud investments.
Migrating to the cloud
The first hurdle to cross, and arguably the toughest, is migrating your existing on-premise environment to the cloud. Here are some tips to keep in mind during this process:
Don’t: Migrate before analyzing your current environment
Migrating a messy, over-provisioned on-premise environment to the cloud is the easiest way to overspend. So make sure you analyze your current environment before the migration. It’s much easier to make changes in your current environment than in a new environment that the team is less familiar with (and probably more on edge about!).
The easiest way to optimize your current environment is to decommission any assets no longer in use. For example, developers may spin up a VM for a specific use-case then forget to turn it off, or you might have an application running that’s no longer in use. Identifying these resources and decommissioning them will have the highest impact on cost with the least effort.
Do: Re-architect your application stack
After this, your next step should be to re-architect your application stack. This is where you make a list of infrastructure currently in use and find their equivalents (and better) in the cloud. For example, you could be using multiple dedicated servers for message queuing and event bus. Using the vendor’s managed solution might be a smarter choice as you have to worry about one less moving part.
Don’t: Lift and shift
When migrating to a public cloud, don’t give into the temptation of “lifting and shifting”. In other words, try to avoid migrating exactly what exists in your current environment to the public cloud. Remember, the public cloud is for everyone, and that means you need to adapt your architecture to the vendor’s offering for optimal performance and savings. Even the most efficient IT teams in the world will be able to make some optimizations. Maybe you have some VMs that are no longer needed? Are you storing data that you can safely put in a low-cost archival storage class? Maybe you are backing up development servers that are not needed?
Scheduling instances
Over the years, public cloud providers have made it increasingly easy to create new virtual machines. It’s so easy that many people forget to turn them off when they are not needed any more. Most public cloud providers charge for VMs by the hour (or even minute), and as a result, the longer you leave your servers on, the larger your bill will be. Shutting down VMs can be a very effective cost saving strategy, reducing your costs per server by up to 66% if done correctly. So when scheduling instances, make sure you do the following:
Do: Take advantage of automated scheduling of instances
To avoid getting a surprise bill at the end of the month, make sure to use automated scheduling of instances after hours. Relying on manual or ad hoc processes to power off and on VMs is unlikely to be maintained in the long run. Automation can make the shutdown process seamless if done right.
With simple automation tools such as Amazon Instance Scheduler or Azure’s Start/Stop feature, you can easily shut down non-production environments when not in use, and spin them back up when needed. You can also incorporate alerting that will let you know if anything has gone wrong.
Do: Leverage AWS Auto-scaling
Tied-in with automated scheduling should be the process of auto-scaling. The Cloud is truly an elastic environment, so take advantage of that elasticity to save costs. There’s no need to spin out a large VM for your workload. The server can start with a low spec and be part of an auto-scaling group. With increased demands, more and more nodes can be added to the fleet, all serving the load. Then, when the load decreases, the extra nodes will be automatically spun down. Once again, you need to re-architect your application to take advantage of auto-scaling.
Don’t: Keep VMs running 24/7 if they are only used during certain times
For example, if you have a development environment that’s only used between 9 AM and 5 PM on weekdays, why pay for the rest of the time it’s not used? Instead, shut down VMs during “off hours” in order to maximize savings.
Do: Carefully consider your use cases before using a VPS
Many people think using Virtual Private Servers (VPS) is a great way to save costs. They are, to a certain extent. However, beware of the fact that you are charged for using a VPS, even if they are shut down.
Staying secure
Security is one of the most crucial components of any cloud strategy, and if neglected, it can have major consequences, including large scale costs from ransomware attacks. It should, therefore, be an integral part of your cloud cost optimization strategy. So make sure you keep the following in mind:
Do: Invest in a layered, multi-tiered security strategy
Make sure to invest in a strategy that will protect your IT assets and data from cyberattacks and satisfy any industry-specific regulatory requirements.
Some of the ways you can stay secure in the cloud include:
- Ensuring you have followed well-architected frameworks to build your solution.
- Using technologies like transit gateways to connect your on-premise network to the cloud.
- Taking advantage of the cloud provider’s security solutions like threat detection and alerting, automated patching or security best practice auditing.
- Making sure there are adequate firewall rules in place for both traditional systems and web applications and operating according to the principle of least privilege.
Don’t: assume that your cloud provider’s security controls are enough to secure your environment.
In fact, cloud providers like AWS inform their cloud service clients about the shared responsibility model. With this model, AWS will be responsible for managing and ensuring the cloud infrastructure they offer to the public, but the client is responsible for managing the security of their own applications.
Skimping on proper security policies and procedures may save money and effort in the short term, but in the long term you are likely to be the victim of a costly breach. According to a study, hacking is now a $300b industry. So, for most organizations, it’s not a question of if they will experience a data breach during their lifetime, but rather when they will experience it. Preparing upfront can minimize – and in many cases eliminate – that risk.
Tagging assets
Asset tagging is a crucial tool for gaining visibility into your cloud spend and usage and for assisting in cloud cost optimization. Asset tags are basically metadata labels you can attach to each resource in your cloud fleet to help track which business group or application it belongs to. You can name your tags whatever you want and assign them any values you want. Also, in most cases, you can assign up to 50 tags to a resource. The three main public cloud services (AWS, Azure, GCP) allow you to create and assign tags. When tagging assets, use the following best practices:
Do: Come up with a tagging strategy and tag your infrastructure assets as early as possible in your cloud journey.
Even if it seems like you don’t currently require tagging, when your spend and usage increases, which it likely will, you will be glad to have a tagging strategy already in place. The longer you wait, the harder the task will be.
Being able to identify which team(s) are responsible for each infrastructure asset will help apportion costs at the end of the month when the bill comes.
It can also help automate the decommissioning of resources that are no longer required. For example, if you no longer use a particular application, you can easily run a search for the tag “application” with a value of your application’s name. This will return all resources related to that application, and you can then remove those resources safely.
With most cloud providers you can also use tags to set budgets so that you can prevent accidental over-spending and alerting when you’re getting close to the thresholds.
Don’t: Move to the cloud without tagging your assets
It’s a relatively straightforward task if you do it from the start but can be soul-destroying if you try to do it when your environment is already up and running. If you’re already in the cloud and haven’t started tagging the resources used, don’t put it off any longer.
Governance isn’t the most exciting job in the world, but to optimize your cloud spend, it’s vital to assign either an individual or an entire team to do it. One reason many companies move to the cloud is the flexibility of spinning up new resources with relative ease. However, without proper governance, this can lead to shadow ITs from different teams provisioning resources at will, resulting in much larger bills than anticipated.
Establishing who handles the workload budget, who is authorized to provision resources and who monitors actual vs. planned usage are some of the key governance areas that are critical to your cloud cost optimization initiatives.
Do: Allocate someone, or a team of people, to manage your cloud spend
This can work best when there are stakeholders from different teams within the organization. Being able to take advantage of the flexibility offered by the public cloud vendor without going too far over the budget is a balancing act many firms struggle to achieve. However, once you have it in place along with the right processes and procedures, the benefits are significant.
Don’t: Assume that governance is something only large organizations need to worry about
No matter what size your organization is, it’s important that at least one person monitor how much you are spending and why. The person or team will work closely with the Finance department in setting budgets, tracking usage, creating billing alerts, buying reserved capacities, and apportioning costs.
Having governance
This one is a bonus. Most cloud providers will award customers lower rates than normal if they make an upfront payment and commit to using one or more resources for a longer period of time. This is typically used for VMs or database instances, and known as Reserved Instances. As part of cloud cost optimization, most organizations opt to use Reserved Instances as opposed to paying an on-demand price for every minute or hour.
It’s wise to make use of reserved instances if you have VMs or database instances running 24×7 for long periods of time. However, large numbers of unused reserved instances (RIs are related to pricing, not actual servers) can mean upfront savings without any return. This leads us to our next point.
Don’t: Buy reserved instances without proper planning
Have a strategy in place to determine what to do with extra reserved capacity, such as selling them in the cloud provider’s marketplace.
Zesty is a Software-as-a-Service (SaaS) solution that can take away the headache of managing your reserved instances in the AWS cloud. You can refer to this blog to learn more about Reserved Instances.
Final Words
Moving to the cloud, or at least operating a hybrid model, is largely unavoidable in the 21st century. If your only reason to move to the cloud is to cut costs though, it’s vital that you keep cloud cost optimization at the forefront of your strategy. As we’ve discussed, the costs don’t cut themselves, and it requires consistent monitoring and governance to maintain.
If you are a seasoned cloud user, you need to constantly reevaluate your cloud cost strategy. Part of this is to understand and identify what’s known as cloud waste. You can read our ebook to gain an in-depth understanding of cloud waste and how to address it.
You can also contact one of our cloud cost optimization experts to learn how to minimize cloud management efforts and maximize savings with Zesty.
Related Articles
-
A Holiday Tail: The DevOps Engineer Who Saved Christmas
December 19, 2024 -
Zesty introduces automated Kubernetes optimization platform
November 17, 2024 -
How the Multi-Dimensional Automation approach revolutionizes K8s optimization
November 14, 2024 -
The never-ending compromise of Kubernetes optimization
November 14, 2024 -
How To Build Your FinOps Strategy for 2025
November 6, 2024