1. Home
  2. Setup
  3. Setup Custom Groups

Setup Custom Groups

What is Custom Group Manager?

Custom Group Manager (CGM) is a central element within PyraCloud that allows users to define organizational hierarchy (for reporting, budgeting, etc.) and govern cloud environments (resources running on Azure, AWS and Office365 and Adobe licenses).

What Business Challenges does it Address?

Custom Group Manager (CGM) allows users to define organizational structure and assign cloud resources to structure based on business requirements for use within PyraCloud. With CGM, users can build a hierarchical structure based on custom defined dimensions (e.g. departments, teams or projects) and subsequently map cloud resources to it.

Figure 1 – Map Cloud Resources to Custom Groups

Using Custom Group Manager

In order to keep the organizational assignments of a resource (tag) consistent with the tagging on the cloud provider environment, CGM interfaces with the Tag Manager and Resource Manager. This allows users to ensure data consistency within PyraCloud and within the cloud environments of Azure and AWS.

Figure 2 –Custom Group Manager in PyraCloud

The built in functionalities across CGM and Resource Manager allow users to decide how to handle those tag assignments (lock, allow overwrite, etc.) and are included as a framework that can be configured according to your individual requirements.

Before you Start

The first and most important step to take is to document the objectives for the structure. Common requirements that influence the setup of Custom Groups include the following:

Business Related

  • What is the granularity of chargeback requirements?
  • What is the granularity of budget requirements?
  • What are the reporting requirements (e.g. every month the global cost to CIO and department, split down to the department owners)?

IT Related

  • Is tagging already in use and how?
  • Is it enough to stay high level or is there a need to also report on different stages of the workload (e.g. Test, UAT, Production, etc.)?

Define the Group Structure

Custom Group Manager is structured in a way that it allows almost endless scenarios of an organizational setup. Therefore the horizontal (Groups) and vertical (Group Levels) structure must be defined:

Identify the Right Group Levels

CGM uses Structure Levels to define the levels of an organization, and is used to assign individual Groups. Examples for common dimensions are:

  • Company
  • Location
  • Department
  • Team
  • Service

These dimensions are directly mapped to the Tag and Resource Manager (TRM) as Tag Keys. This allows one to directly synchronize between PyraCloud and the Cloud Provider.

NOTE: Identifying the right setup and sequence of dimensions is critical to keeping the flexibility throughout the use of CGM. The dimensions are the predecessor to the hierarchical structure of Custom Groups and changing a dimension requires removing the Groups.

Identify the Right Groupings

Defining the group name is a bit more flexible than defining the dimensions. Group names correspond with the tag values and can be created and deleted any time. Examples for common group names are:

  • SoftwareONE (for Company)
  • Switzerland (for Location)
  • Marketing (for Department)
  • Sales Area South (for Team)
  • Mail (for Service)

NOTE: One group can be assigned across the same parent dimension in order to allow for cross vertical reporting. Example: 1st Dimension values for Location: Switzerland, USA, Brazil, etc. 2nd Dimension values for Department: Finance, HR, etc. This will allow the ability to: Run reports, budgeting, chargeback by location including the corresponding departments (top down) Run cross vertical reporting by department (independent from location)

Customer Scenarios

In order to better outline the link between the organizational requirements and the recommendation on how to structure your groups in CGM, the following customer scenarios will be used throughout the document and reflects three examples:

Example I:  Default Customer Scenario

This is a scenario representing organizations that are:

  • Single company
  • Flat structure
  • Single country
  • Most likely department view
  • Changes to the organization unlikely

Here the recommendation would be to define two dimensions:

Figure 3 – Example Default Customer Scenario

Example II: Enterprise Customer Scenario

This is a scenario representing organizations that are:

  • Group of companies
  • Requires support for M&A
  • Multi-country
  • Fragmented department structure
  • Organization changes throughout the year
Figure 4 – Example Enterprise Customer Scenario

Example III: Service Based Scenario

This is a scenario representing organizations that are:

  • Services oriented
  • Multi-customer (internal and external)
  • Focus on release management
  • Frequent on-/off-boarding

The recommendation would be to define three dimensions:

Figure 5 – Example Service Based Scenario

IMPORTANT TO NOTE: The primary purpose of CGM is to create a multi-dimensional and hierarchical view as preparation for any further use within PyraCloud. It builds on top of Resource Manager. Resource Manager is responsible for the synchronisation back to the cloud provider. CGM allows changes to the structure and assignment of resources, but maintains the changes in its own database. Changes made anywhere within Custom Group Manager are then applied to Resource Manager and are visible there.

Navigate to Custom Group Manager through the menu navigation under:

Manage (1) > Custom Group Manager (2)

Figure 6 – Navigating to Custom Group Manager in PyraCloud

This will take users to the Custom Group Manager main page. If this is the first time anyone within the organization has used CGM, the user will find an empty CGM page with the task to create groups:

Figure 7 – First Time Custom Group Manager View

Setup the Group Structure

Click on “Create a group” to start building the structure:

Figure 8 – Create a Group

The next page will be the CGM setup page:

Figure 9 – Structure edit page

Setup the Structure Levels

The first step is to setup Structure Levels. Those are the foundation of the structure you will create.

If you were using tags on your provider platform to organize your resources, you can use these tags to create the structure. In this case start from choosing Tag Keys as Structure Levels.

Figure 10 – Choose Tag Keys as Structure Levels

If you do not need to use existing tags, you can create your structure manually.

Figure 11 – Setup Structure Levels manually

EXAMPLES

Three examples are outlined below for reference:

ExampleHigh-Level Org ChartDimensions in CGM
Default Customer
Enterprise Customer
Service Based

Figure 12 – Three Examples of Structure Levels

Setup the Groups

The next step is to assign groups to the structure levels just created. To create first Structure Level group choose the add action:

Figure 11 – Setup Structure Levels manually

Depending on your plan you can create groups using already existing tags or manually.

Figure 14 – Create group manually

Perform similar actions to create subgroups for selected parent groups.

Figure 15 – Create subgroups

NOTE: If there are any resources that have tags matching to groups created, they will be automatically assigned.

EXAMPLES

ExampleHigh-Level Org ChartDimensions in CGM
Default Customer
Enterprise Customer
Service Based

Figure 16 – Structure examples

Automate Structure Creation

It is possible to create Custom Groups automatically. The system can create groups for you based on existing tag combinations that match the Structure Levels defined.

Switch the following option when editing the structure to enable the automation:

Figure 17 – Enabling Group Automation

When you enable the automation and if there is a matching tag combination in your infrastructure but such group is not present in the Structrure – it will be immediately created. This process constantly runs in the background. The group will also be created once you modify resource tag in Resource Manager (or using Resource Rules). The mechanism does not automatically remove any existing groups.

When the automation is enabled, It is not possible to remove a group with resources assigned. Such group would be recreated immediately otherwise.

Automatically Remove Empty Groups

Switch the following option to allow the system to automatically remove groups without resources and budgets:

Figure 18 – Enabling empty group auto-removal

Once enabled – the system will periodically scan your structure and remove groups that have no resources assigned and no budgets created.

Consider this setting if you would like to have your structure be maintained fully automatic.

Assigning Resources to a Group

Once the structure has been created, users can go back to Custom Group Manager to see all resources:

Figure 19 – Create subgroups

Users will see the view shown below. The next step is to navigate to “Unassigned Resources”:

Figure 20 – Navigate to Unassigned Resources

In unassigned resources, users will find all resources available on their cloud environments that are not assigned to groups.

Users can use filters to find resources in order to assign them to a specific group.

There are two possible ways to group resources:

  • Assign resources to a single group.
  • Assign resources to multiple groups

Assigning Resources to a Single Group

Select the check boxes of the resources to assign to a single group (1). Next, click on the “Move” option on the right side (2) and select the group (3):

Figure 21 – Assigning Resources to a Single Group

Those resources are now assigned to the group of choice and the entire resource spend will be fully associated with this group.

Assigned resources receive tags that reflect the group assignment structure. As an example, the resources assigned to group “Location-A” have the following tags:

Figure 22 – Example of Assigning Resources Tags

Assigning Resources to Multiple Groups

Assigning resources to multiple groups means that spend of such resources will be split between selected groups according to the way users specify.

In order to split resources between multiple groups, users have to select the check boxes for the resources to assign (1), and then click on the “Split Allocation” option on the right (2):

Figure 23 – Assigning Resources to Multiple Groups

Users will then see the “Split Allocation” window to specify split details:

Figure 24– Split Allocation Window

The next step is to select groups and provide allocation percentage for each one:

Figure 25 – Allocate Split Percentage

Below is an example split configuration:

Figure 26 – Example Split Configuration

The cost of those resources split will be assigned in the following way:

  • 20% of the cost assigned to the group: Department-A > Location-A
  • 20% of the cost assigned to the group: Department-B > Location-B
  • 60% of the cost assigned to the group: Department-C

Once resource split percentages are done, select “Save Cost Split” to save the changes. Spend of these resources will now be split according to the split configuration provided.

Users can now see the split resources assigned to the groups provided. They are marked with the “Split” icon.

Figure 27 – Split Icon

NOTE: Split Resources will not receive tags reflecting the assignment to the group structure Assigning such tags to the resource on the provider platform (e.g. Azure) will not change the group assignment.

Figure 28 – Tags not Assigned

Managing Group Association

Resource group assignment can be managed in the following PyraCloud modules:

  1. Custom Group Manager
    1. Refer to section 5.1 and 5.2.
    2. Expand any resource from the list (1) and then expand the “View Cost Allocation” section (2)
Figure 29 – View Cost Allocation
  1. Resource Manager
    1. Go to selected Resource Details page
    2. Resource group assignment information is provided in the “Groups” section (1)
Figure 30 – View Cost Allocation
Updated on February 11, 2020

Was this article helpful?

Related Articles