Server groups allow you to define logical groups of Cloud VPS instances with advanced scheduling features.
For most use cases you will not need to define or add an instance to a server group.
Server group policies
There are four available types of server group policies:
- Affinity - All server group members must be scheduled on the same physical hardware. Do not use this unless you really know it is essential. This will make your entire group vulnerable to physical hardware errors with no redundancy. The only advantage is if you have a small group of servers that desperately need extremely fast network between each other. In any other case, this will cause problems. If you use it, it is best if you inform WMCS about this as well because it affects scheduling in a problematic way.
- Anti-affinity - All server group members must be scheduled on the different physical hardware.
- Soft Affinity - All server group members should be scheduled on the same physical hardware.
- Soft Anti-affinity - All server group members should be scheduled on the different physical hardware.
The soft versions of these policies should be used whenever possible. This allows greater flexibility for maintenance and operation tasks.
Create a new server group
You must be a Project admin in order to create, add or modify server groups.
- Log into Horizon
- Select the project containing the instance from the dropdown.
- Select 'Server Groups' under Compute, under Project - you’ll see a list of available server groups.
- Click on the "Create Server Group" button
- Enter a new server group name, e.g., “web”.
- Select the group policy from the "Policy" dropdown.
- Click on the “Submit” button.
Adding an instance to a server group
When creating a new CloudVPS instance you can select a server group to join from the "Available" list of "Server Groups".
Here's a server group scenario using the affinity policy:
Your service architecture consists of multiple Cloud VPS instances with dedicated roles (e.g. web server, database) that have heavy inter-node communication requirements and cannot function without each instance fully operational.
Here's another server group scenario using the anti-affinity policy:
You're deploying multiple Cloud VPS instances that run a distributed service (e.g. elasticsearch, hdfs) that provide high-availability across each server group member. Using the anti-affinity policy will help protect the availability of your distributed service by spreading your instances across multiple physical servers, reducing the impact to your service from CloudVPS maintenance or underlying hardware problems.
Communication and support
Support and administration of the WMCS resources is provided by the Wikimedia Foundation Cloud Services team and Wikimedia Movement volunteers. Please reach out with questions and join the conversation:
- Chat in real time in the IRC channel #wikimedia-cloud connect, the bridged Telegram group, or the bridged Mattermost channel
- Discuss via email after you subscribed to the cloud@ mailing list