olly - Fotolia
How do cloud-hosted workloads affect data center systems differently than virtualized and physical infrastructures? Are there steps that admins can take to prepare themselves for performance diagnostics and improvement once their infrastructure moves to cloud?
Start by getting up to speed with different Web server and database architectures because scalability is more horizontal than vertical across new instances. You can scale further with cloud computing vs. virtualization, and more closely match your IT spend with the workload. That's great, but you now have many more distributed systems to analyze.
On a cloud infrastructure with hundreds or thousands of server instances, you can't solve performance issues until you identify the right instances to target. This requires skills in distributed system monitoring. Often the performance issue subsides naturally or from auto-scaling of the cloud infrastructure, so the administrator must identify the problem instances after the event. At the very least, enable the Linux tool sar to track historical data.
The cloud makes it easy to work around overlooked performance issues by scaling up with more instances, but this gets very expensive very fast. Before shopping cloud monitoring offerings, learn methodologies like the Utilization Saturation and Errors method that covers analysis to root cause. With that structure as a basis, choose from the myriad monitoring tools to conduct the most investigations and get the most coverage.
A lot of these monitoring tools are adept at workload characterization, but fall short in latency analysis and drill downs. Look for products that provide latency and utilization heat maps, and flame graphs if possible.
In virtualization, as compared to cloud computing, visibility extends down to the bare metal. On a cloud infrastructure, visibility is hazy and varies depending on your cloud provider.
When you move from virtualization to cloud infrastructure, get ready for noisy neighbors that you can't see. These drawbacks mean you must infer everything you can't see directly. Dynamic tracing prevents a lot of guesswork, but it's still several steps forward and one step back.
Virtualization technologies can have much worse performance than physical systems, especially for I/O. This depends on the virtualization type and features enabled. For more in-depth coverage of this topic, see the Cloud Computing chapter of Systems Performance: Enterprise and the Cloud.