Compute Infrastructure

Solving the HA Challenge: Placement Groups for Virtual Servers

Share this post:

The challenge: High availability

High availability (HA) is an important aspect of any cloud deployment. Whether it’s the website for your e-commerce business or a production database used by your company’s key application—it needs to stay up. To this end, building out resilient infrastructure is something our IT architect clients work hard to implement in the pursuit of ever-higher percentages of “uptime.” Although uptime is closely monitored within IT organizations, it can fall below key levels or take on substantial outages, which are huge problems for the entire business.

Building in redundancy at each level of your infrastructure to eliminate any Single Point of Failure (SPOF) is key to performing well on this metric. For workloads running on virtual servers, that means implementing failover solutions with multiple virtual servers that can automatically fill in for each other in the event of a crash.

However, unless your public virtual servers are provisioned into different data centers, there’s really no way to determine where they would be placed in relation to each other. This can be problematic if you’re 1) building for HA and 2) your virtual servers land on the same physical host, leaving them vulnerable to an outage on a single piece of hardware. While that may be unlikely, IT managers can’t have the possibility of a SPOF for critical applications. Building across data centers is an option, but this can introduce some network challenges that require additional appliances or increase latency, especially in regions with only a single data center.

Placement Groups simplify building for HA

Our design of Placement Groups for IBM Cloud virtual servers solves this issue. Placement Groups give you a measure of control over the host on which a new public virtual server is placed. With this release, we are providing the option for the “Spread” rule, which means that virtual servers within a Placement Group will all be spread onto different hosts. You can build a high availability application within a data center knowing your virtual servers are isolated from each other.

Placement Groups with the “Spread” rule will soon be available to create in select IBM Cloud data centers. Once created, you can provision a new virtual server into that group and guarantee it to not be on the same host as any of your other virtual servers. The best part? There’s absolutely no charge for using this feature. Upon availability, IBM Cloud Placement Groups for Virtual Servers will be a cost-free feature.

The ordering and provisioning experience

First, an account owner must give you the correct permissions to create and manage placement groups. You’ll need the “Allows creation and management of Placement Groups” permission enabled. After you have the necessary permissions, it’s time to dive in and create your placement group! You can create placement groups from either the customer portal or the IBM Cloud console. We’ll highlight the IBM Cloud console below.

Creating your placement group

1. From the IBM Cloud console dashboard, click Create resource.
2. Click the Virtual Server tile.
3. Select the Public Virtual Server tile.
4. Click Create to display the virtual server order form.
5. On the order form, select either public virtual server or transient virtual server types. They are currently the only two types that support placement groups.
6. Look for the Placement Group section. By default, no group is selected.
7. Select a group, or if needed, create one. To create one, select New Group. The new placement group dialog appears. Specify a name for the placement group, then select a location from one of the tiles and a POD for that location from the drop down. The Spread rule is preselected, which ensures virtual servers provisioned with the placement group will reside on different hosts. Finally, click Create.


Screenshots courtesy of IBM Cloud software developers Bryan Kriss ( and Lisa Lukenbill (

Note: If you are using the customer portal, select Devices -> Manage -> Placement Groups to display the Placement Groups list view. Click New Group and complete the same details as you would from the IBM Cloud console. After a placement group is created, you can continue by either provisioning a new virtual server instance with a placement group or managing your placement groups.

Provisioning your virtual server with a placement group

To provision a new instance with a placement group, after you’ve completed Step 6 above, continue by selecting your other provisioning options (Profile, SSH Key, and more). When finished, click Provision.

Managing placement groups

You can search for placement groups by name (search field) or location (location filter) to find existing placement groups.

Viewing placement group details

Similar to devices, if you click the name of a placement group, a details page displays with an overview of the placement group (including remaining capacity) and a table listing instances that are part of that placement group.

Quick access to provisioning an instance

From the list of placement groups, there’s also a drop-down menu that gives you quick access to provisioning an instance or deleting a placement group. When you select the provision instance action from the table, you can quickly provision an instance that is pre-populated with the placement group from which you initiated the action.

Get started

Placement Groups for IBM Cloud Virtual Servers will be available over the next coming weeks. Sign-in or sign-up now to explore provisioning with IBM Cloud virtual servers.

Get technical

View our getting started tutorials, provisioning options, and how-to’s inside our up-to-date IBM Cloud virtual server documentation.

Learn more

Do Placement Groups for IBM Cloud virtual servers make sense for you? Learn more about reserved, public, dedicated and transient virtual servers from IBM Cloud at

Offering Manager

Linette Williams

Content Strategist/Lead for IBM Cloud IaaS - Compute

Mike Murphy

Senior Software Engineer - Cloud Infrastructure Services

More Compute Infrastructure stories
May 3, 2019

Kubernetes Tutorials: 5 Ways to Get You Building Fast

Ready to start working with Kubernetes? Want to build your Kubernetes skills? The five tutorials in this post will teach you everything you need to know about how to manage your containerized apps with Kubernetes.

Continue reading

May 3, 2019

Using Portworx to Deploy and Manage an HA MySQL Cluster on IBM Cloud Kubernetes Service

This tutorial is a walkthrough of the steps involved in deploying and managing a highly available MySQL cluster on IBM Cloud Kubernetes Service.

Continue reading

May 2, 2019

Kubernetes v1.14.1 Now Available in IBM Cloud Kubernetes Service

We are excited to announce the availability of Kubernetes v1.14.1 for your clusters that are running in IBM Cloud Kubernetes Service. IBM Cloud Kubernetes Service continues to be the first public managed Kubernetes service to support the latest upstream versions from the community.

Continue reading