Noisy neighbours in cloud computing

One solution to traffic shaping a congested network:

Noisy Neighbours is the current term to describe an age-old phenomena when many users share a medium, in this case with cloud computing it’s sharing CPU, storage and networking. In IP networking, one solution is Quality of Service (QoS) which helps prioritise network traffic so the most important packets get through whilst others get shaped. The shaped packets could describe the bossy packets as being noisy neighbours.

Other methods to solve this contest for shared network resources include Weighted Random Early Detection and Weighted Fair Queuing.

Operating systems for mainframes had to solve it too, with various methods to divide the monolith between its various hosted applications.

In cloud computing and virtualisation in a traditional data centres too, noisy neighbours are a problem that effect the consistency of disk and network throughput and CPU performance that an application will see. Applications will still work, but for example if they need to finish a batch job within a certain time window it may be hard to predict how many hours it will take, or users of a web-based application may observe varied response times.

In cloud computing, the noisy neighbour issues get addressed by the provider at various technical layers (hypervisor for example), but also at commercial layers with some cloud providers offering opt-in paid services for those users who require higher throughput or greater consistency on disk performance, for example AWS Provisioned IOPS.

It also gets addressed by the user, who can deploy the granular nature of cloud computing as a workaround to itself. For batch workloads with dozens of servers, some users buy more servers than needed, run some speed tests, and discard the servers that are under-performing. RightScale clients sometimes stripe their storage across multiple block storage volumes to normalise performance. Many RightScale clients choose which cloud best suits their application workload and could try Rackspace, AWS, Google Compute Engine, Azure or private clouds using OpenStack or CloudStack.