We've all heard the complaint: When you move into a public cloud, you experience performance issues caused by others being on the same public cloud, in what's often called the "noisy neighbor" problem.
It seems reasonable to make this claim, given that public clouds are multitenant beasts, so you're sharing resources with other cloud users. That sharing means you're also competing for the same dedicated servers back in the cloud provider's data center, right?
The reality is different, as we can see as more and more applications move into their second and third years of production on public clouds. You simply don't hear of performance problems caused by contention with other cloud tenants. The multitenant factor that scared the hell out of traditional IT shops does not seem to be a real issue.
But why not? Most applications run in virtualized servers when on premises. Other workloads using the same physical resources could have led -- and sometimes did lead -- to performance issues. The public cloud uses the same model, so it should have some of the same performance contention.
However, public clouds let you allocate more machine instances on demand. That elasticity prevents performance degradation because you can quickly address resource contention with the simple invocation of a provisioning API by the admins or, better yet, the applications themselves. That's not so true in the data center, where you can only add servers so fast and such elastic provisioning is not widely established even where excess resources are available.
In fact, what I hear from clients is that their applications run faster on public clouds than they do on traditional systems, virtualized or not.
Of course, applications that are poorly designed, developed, and deployed will perform poorly in the cloud. That's not an issue with the cloud and its multitenancy, but it should be addressed as you migrate applications to the cloud.
Performance and security are often cited as reasons not to move to the public cloud. It's already clear you can do security better in the cloud than in the data center, and now it's clear the same is true with application performance. You no longer have an excuse to avoid migrating to the cloud.