I don’t want to alarm you, but your cloud is infested with vampires.
No, not the kind who wear fashionable cloaks. I’m talking about vampire resources. These are the cloud resources you’ve created but are no longer used. Over-provisioned VMs, orphaned disks, load balancers, and whatever else you forgot about.
These cloud vampires are costing you money. They are also difficult to find. Neither AWS nor Microsoft Azure provide default reports to help identify vampire resources. This should not be surprising, as it is not in their best interests to remind you to spend less.
Cloud Vampire Resources
Here’s a list of resources you want to watch to bring vampire resources into the light of day.
Underutilized Virtual Machines – You built a VM according to the requirements. But the requirements were wrong. In the cloud you pay for resource consumption, disk storage, and network egress. Even using a minimal amount of VM capacity means you get billed the full amount for the hour. Either downsize or move that workload to a different VM.
Unused Virtual Machines – These are VMs that you built for Adam in Accounting a year ago and he’s never used. Or it’s a case of shadow IT, and employees are spinning up cloud VMs for their personal sandboxes. Even with these rogue VMs powered off you still pay for storage used by the VM disks, even when they are idle.
Orphaned Disks – You removed the virtual machine, but disks remained. This is by design, in case the VM removal was an accident. You’re paying for them, and there’s zero chance they are being used. Get rid of them.
Data Egress – The Cloud is like New Jersey—it’s free to get in, but you pay to get out. Your applications and systems should only pull data from the cloud when necessary. Too many extra API calls will lead to a bump in your monthly bill.
Geo-replication – Cloud resources often have options for automatic high availability and disaster recovery. Those services aren’t free. And they are not needed for every system. Check to make sure that systems using HA and DR need these options.
Load Balancing – Another HA feature that sounds great, but not needed by Developer Dan. You’ll want to review deployments of load balancers and ensure they are necessary.
Snapshots – Snapshots are a great way to rollback your VM in case an update goes awry. But don’t keep those snapshot lingering around too long. The extra overhead leads to extra dollars from your budget.
Unused IP Addresses – You have an option to create static IP addresses for your VMs. But those IP addresses are distinct objects, separate from your VM. So if you stop your VM, you are still charged for that static IP address.
Summary
I’ve listed some common vampire resources here. But this list is not meant to be comprehensive. It’s up to you to understand the cloud services you have deployed. You must track if they are in use, and the associated costs.
When transitioning workloads to the cloud, you must transition how you approach monitoring. Traditional methods of monitoring for outages and performance are not enough. You must also track resource usage, as well as use of cloud services.
And when you find cloud vampire resources, drive a stake through their heart. It’s the only way to be sure.
You can identify them by finding ressource with a non-zero fixed cost (storage, licence …) and a null usage-based cost (IO, query, bandwidth) : when on a storage account if you are billed for data storage but not for IO, you might be able to remove the account. I found in Azure that there is a lot of account storage created automaticaly by other ressources (such as load balancer) and stay around even when the original ressource is removed. It doesn’t cost a lot but after a few years of using Azure it can be a few bucks
Great list! One more zombie type – instances that are sometimes used, but sometimes idle! Especially dev/test/staging that are used during the workday, but idle nights and weekends. Get some garlic for those.
Yes!