Having a low-latency networking link between infrastructure resources such as Compute resources and Block Storage is crucial for optimal performance
Cluster Placement Groups (CPGs) is a recent OCI feature that enables placement of any combination of resources such as Compute, Block Storage in a restricted physical location to ensure low-latency.
Didn’t we use Availability Domains because ADs were supposed to be connected by a low latency, high bandwidth network?
Well, this is still true, and in most situations, you’ll favor a distributed approach by placing your resources across ADs (and anti-affinity fault domains) so that they are highly available and resistant to disasters. However, in some situations, you want to favor network performance over the previous approach (note that they’re not mutually exclusive). One of those situations is when you need to keep the same level of latency despite potential future region/data center expansions.
Before we see how to create CPGs, a few remarks :
CPGs are logical entities, but as anyone would expect, they won’t span across ADs or Regions.
CPG names must be unique across the tenant
You can activate/deactivate CPGs (and delete them)
Let’s create our first CPG and see how to create compute resources that we place into that CPG.
First we go to Networking→ Cluster Placement Groups
Next step is just a button to click in order to create our 1st CPG:
As you can observe in the next step, it is possible to have, as of today, compute-only CPGs, Block Storage CPGs, or CPGs that will accept both resource types. From there Oracle will check the available capacity (if something goes wrong try to create in another Availability Domain).
Almost there… we just need to add a description, select the right compartment, and we’re done.
Our first Cluster Placement Group is created and active as you can see in the next screenshot :
Now let’s see specifically for compute resources how to specify in which CPG you want them to be placed :
As you can see, by toggling the Cluster Placement Group option (not active by default), I can find CPG I’ve just created.
I can repeat the same operation for the next resources I create, either through the console or any preferred Infra-as-code method.
I hope you'll find this blog post useful. Thanks again for reading me !
If you want to know more : https://docs.oracle.com/en-us/iaas/Content/cluster-placement-groups/home.htm
Walid Hajeri
Disclaimer : Views are my own , none of the ideas expressed in this post are shared, supported, or endorsed in any manner by my current employer.