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 being used. We’re talking about over-provisioned virtual machines (VMs), orphaned disks, load balancers, and whatever else you’ve configured at one point but forgotten about.
These vampire resources are costing you money. They are also difficult to find. Neither AWS nor Microsoft Azure provide a default report to help identify vampire resources. This should not be surprising, as it is not in their best interests to remind you to spend less.
Here’s a list of resources you want to monitor in an effort 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 maybe it’s a case of shadow IT, and employees are spinning up cloud VMs for their personal sandboxes. Even if these rogue VMs are turned 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 were left behind. This is by design, in case the VM removal was done by accident. You’re paying for them, and there’s zero chance they are being used. Make certain they’ve been removed.
- Data egress: The cloud is similar to 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: When creating cloud resources, you have the option to deploy automatic high availability and disaster recovery options. Those aren’t free, and they are not needed for every system. Check to make sure that systems using HA and DR truly need them, or if they can be removed.
- Load balancing: Another HA feature that sounds great, but may not be needed by Developer Dan. You’ll want to review deployments of load balancers and ensure they are needed.
- Snapshots: If you are using snapshots for your cloud VMs, you will want to minimize the amount of time they are kept. The extra overhead leads to extra dollars from your budget.
- Unused IP addresses: You have the option to create static IP addresses for your VMs, but those IPs are managed differently than the VM. So, if you stop your VM, you are still being charged for that static IP address.
I’ve listed some common vampire resources here, but the list is not meant to be comprehensive. It’s up to you to understand the cloud services you have deployed, if they are being used, and the associated costs.
When you transition workloads to the cloud you must also transition how you think about monitoring. Traditional methods of monitoring for outages and performance are not enough. You must also monitor for resource utilization, as well as usage, of cloud services.
And when you find cloud vampire resources, drive a stake through their heart. It’s the only way to be sure.