Ronald Hudson - Fotolia
Cloud billing surprises help pinpoint app performance issues
To assess cloud app performance, don't forget to closely monitor monthly bills from your IaaS provider. They might point to inefficiencies you'd otherwise overlook.
If you're like most administrators, you deploy sophisticated monitoring tools to track and optimize cloud application performance. But there is another way to gauge how well your apps perform: analysis of your monthly cloud bill.
While your bill will never be a replacement for management and monitoring tools, it can provide key insights into application health. This is because the more performance issues that plague an app, the more it will cost to run that app in the cloud with required levels of availability.
For example, if an app has a Memory leak, it will require a VM instance with more memory -- which can cost more than other basic VM types -- to run at an acceptable performance level. Similarly, if you write serverless functions with code that's not as efficient as it could be, those functions will take longer to run on your cloud provider's serverless platform, leading to a higher bill.
Here are two prominent cloud billing trends that could indicate an app performance problem.
1. VM instance costs rise, but bandwidth costs don't
Most cloud providers charge separate rates for the hardware resources they provide for their VM instances and for network bandwidth.
If you see your instance costs increase but your bandwidth costs stay the same, this cloud billing trend could indicate performance issues. In a healthy cloud app, a rise in user demand typically triggers an increase of VM capacity. If those users connect to the app over the network -- which is typically the case -- then a rise in bandwidth should accompany a rise in the number of VM instances you run.
Don't rely on your bill alone
Gauging app performance based on cloud billing metrics only works well, of course, when the cloud services you consume and the price that your provider charges for them remain relatively constant. Don't attempt to track application performance based on your bill alone, and don't expect your bill to deliver real-time performance insights. This is where application performance management and monitoring tools should come in.
So, if you see higher costs for VMs and no changes in bandwidth costs, it could mean that your app is consuming more memory without actually supporting more users. Although there are several possible reasons for this scenario, such as deliberate application upgrades that cause an increase in resource consumption, another common reason is that your app doesn't consume resources efficiently.
2. Ever-rising storage costs
Most providers' cloud billing structures include separate charges for storage. If your cloud storage costs steadily increase month over month but the number of users the application supports remains the same, it could signal poor app performance or design.
This is because, in order to run cost-efficiently, your applications should not consume more permanent storage than they need. When your storage costs continue to rise, your apps are most likely saving more data than they require or not performing data rotations as often as they should.
This performance issue only applies if your storage costs are associated primarily with applications. If you use a cloud storage service -- like Amazon S3 or Azure Storage -- to store data that is not collected or generated by applications, increasing storage costs may not be a sign of app performance problems. However, they could still signify that it's time to develop a more cost-effective cloud storage strategy.