By John Gentry, Virtana
The traditional method of planning server, network, and storage capacity is to look at the usage peaks and then add a safety margin. Most cloud hosting is planned this way. The idea that you only pay for what you use is not based on actual usage, rather on the capacities you initially specify.
Most cloud migrations involve a ‘lift and shift’ approach of moving an application to a different host with minimal maintenance. It is therefore critical to have the application in good condition before moving. To do this you need to know how it’s performing, what its capacities are, and whether it has dependencies. Let’s tackle these three individually:
Performance. Most cloud services do not give you a Service Level Agreement (SLA) for application performance. They will usually give an availability SLA but being available and ensuring your application is performing well as customers use it are very different.
Capacity. Is your migration plan based on actual capacity used? Remember most VMs and allocated storage run at less than 60 percent capacity (less than 20 percent in a lot of cases) so you’re most likely paying for overprovisioning.
Dependencies. It’s rare for an application to only operate within its infrastructure. It will share server space, switch nodes, and storage with other traffic. To migrate an application, it’s vital to know the topology and if it can be isolated. An application with multiple dependencies is not an ideal candidate to move so it should either be kept in-house, migrated with another shared resource using applications, or re-coded to be independent.
The starting point is to benchmark the application performance, look at its actual capacity usage and its projected growth over time, and see if it’s suitable to move. A robust AIOps platform will provide the performance, topology of the infrastructure, and how the application is using it. It also will show under and overprovisioned VMs, servers, and storage capacity. Assuming performance and dependencies are good to go, you can concentrate on highs and lows of capacity usage.
Most non-AIOps tools either don’t give an application view of capacity or advise on what needs to be increased if resource usage strays over into an abnormal state. This means either planning capacity without full knowledge of requirements or reacting to a situation as it arises which strains resources and can impact budgets.
Comprehensive AIOps platforms monitor the application usage of all infrastructure components in real-time but also store transaction statistics so trends can be analyzed over weeks and months.
This approach ensures capacity is there when needed and predicts future capacity growth so purchasing and planning become an organized and structured process minus the unplanned reactive capacity upgrades.
About The Author
John Gentry is CTO at Virtana.